3
对于诸如C:/pagefile.sys的文件调用GetFileAttributes
返回INVALID_FILE_ATTRIBUTES
和GetLastError
返回ERROR_SHARING_VIOLATION
。但是肯定有可能检索关于系统文件的信息 - 例如能够判断它是一个文件还是一个目录。有没有解决方法?GetFileAttributes(已锁定)系统文件
对于诸如C:/pagefile.sys的文件调用GetFileAttributes
返回INVALID_FILE_ATTRIBUTES
和GetLastError
返回ERROR_SHARING_VIOLATION
。但是肯定有可能检索关于系统文件的信息 - 例如能够判断它是一个文件还是一个目录。有没有解决方法?GetFileAttributes(已锁定)系统文件
使用FindFirstFile
你可以得到pagefile.sys
文件的信息。您可以从ffd
获取该文件的其他信息。
WIN32_FIND_DATA ffd;
HANDLE hFind = FindFirstFile("C:\\pagefile.sys", &ffd);
if (INVALID_HANDLE_VALUE == hFind)
{
return 0;
}
if (!(ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
_int64 filesize = ffd.nFileSizeHigh;
filesize <<= 32;
filesize |= ffd.nFileSizeLow;
printf("%s is %I64u bytes", ffd.cFileName, filesize);
}
FindClose(hFind);
您应该可以使用FindFirstFile代替。 –