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