为文件C:/pagefile.sys调用GetFileAttributes
返回INVALID_FILE_ATTRIBUTES
,而GetLastError
返回ERROR_SHARING_VIOLATION
。但是绝对有可能检索有关系统文件的信息-例如能够判断它是文件还是目录。有解决方法吗?
最佳答案
使用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 );
关于winapi - (锁定的)系统文件上的GetFileAttributes,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16772931/