3

GetFileAttributesC:/pagefile.sys などのファイルを呼び出すと、 が返さINVALID_FILE_ATTRIBUTESれ、GetLastErrorが返されますERROR_SHARING_VIOLATION。それでも、システム ファイルに関する情報を取得できることは間違いありません。たとえば、それがファイルなのかディレクトリなのかを判別できます。回避策はありますか?

4

1 に答える 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 に答える