我可以得到所创建的日期,文件大小等为一个的文件使用以下代码:

// Error handling removed for brevity 
HANDLE hFile = CreateFile(path, GENERIC_READ, FILE_SHARE_READ, 
             NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); 

LARGE_INTEGER fileSize; 
GetFileSizeEx(hFile, &fileSize); 

FILE_BASIC_INFO fileInfo); 
GetFileInformationByHandle(hFile, FileBasicInfo, fileInfo, sizeof(fileInfo)); 

但是,当叫对一个目录,所有值都设置为零 - 如何获取目录信息?

由于

有帮助吗?

解决方案

我碰到了这样的事情,一旦你要通过这个标志来得到一个目录中的有效句柄。从 MSDN 文档。

尝试此

HANDLE hFile = CreateFile(path, GENERIC_READ, FILE_SHARE_READ, 
         NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL|FILE_FLAG_BACKUP_SEMANTICS, NULL); 

FILE_FLAG_BACKUP_SEMANTICS |您必须设置该标志来获取句柄到一个目录。目录句柄可以传递给某些功能,而不是一个文件句柄。有关详细信息,请参见注释部分。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top