3

我可以使用以下代码获取文件的创建日期、文件大小等:

// 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)); 

但是当针对目录调用时,所有值都设置为零 - 我如何获取目录信息?

谢谢

4

1 回答 1

8

一旦您必须传递此标志以获取目录的有效句柄,我就会遇到类似的情况。来自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| 您必须设置此标志以获取目录句柄。可以将目录句柄而不是文件句柄传递给某些函数。有关详细信息,请参阅备注部分。

于 2010-03-03T13:14:50.887 回答