2009-05-01 43 views
2

我將一些C++代碼從UNIX移植到Windows,它檢測到發生了EDQUOT錯誤,這表明嘗試超出當前用戶的磁盤配額是不成功的。 Visual Studio的<errno.h>沒有EDQUOT,但我知道Windows具有磁盤配額功能。 Visual Studio的<errno.h> 確實有一個ENOSPC,這可能是CRT如何表達UNIX將表示爲EDQUOT的內容。任何人都可以證實或否認這個理論嗎?如果這不是解決這個問題的方法,那是什麼?是否有與Windows相同的EDQUOT?

+0

運行時庫資源顯示ENOSPC正在一個地方生成,不出所料,在'寫入'中。如果Windows系統調用WriteFile無法寫入任何字節,則會發生三個分支之一。 – 2009-05-01 19:23:03

回答

2

C:\ Program Files文件\微軟的SDK \的Windows \ v7.0A \包含\ WINSOCK.H

C:\ Program Files文件\微軟的SDK \的Windows \ V7.1 \包含\ WINSOCK.H

#if 0 
#define EDQUOT     WSAEDQUOT 
#endif 

C:\ Program Files文件\微軟的SDK \的Windows \ v7.0A \包含\ WinError.h中

C:\ Program Files文件\微軟的SDK \的Windows \ V7.1 \包含\ WinError.h中

// 
// MessageId: WSAEDQUOT 
// 
// MessageText: 
// 
// Ran out of disk quota. 
// 
#define WSAEDQUOT      10069L 
相關問題