调用GetFileAttributes诸如 C:/pagefile.sys 之类的文件会返回INVALID_FILE_ATTRIBUTES,然后GetLastError返回ERROR_SHARING_VIOLATION。然而,绝对应该可以检索有关系统文件的信息——例如,能够判断它是文件还是目录。有解决方法吗?
1 回答
1
使用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 );
于 2015-01-18T14:54:42.333 回答