2009-05-01 110 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 
相关问题