そのボリュームでNTFSファイル圧縮機能を使用できるかどうかはGetVolumeInformationでFileSystemFlagsを取得し、FS_FILE_COMPRESSIONが含まれているかどうかで判定します。
uses Windows, SysUtils; {$WARN SYMBOL_PLATFORM OFF} function VolumeCanCompress(const Filename: String): Boolean; var MaximumComponentLength: DWORD; FileSystemFlags: DWORD; RootPath: String; begin { Get root path } RootPath := IncludeTrailingPathDelimiter(ExtractFileDrive(Filename)); { Get volume information } Win32Check(GetVolumeInformation(PChar(RootPath),nil,0,nil, MaximumComponentLength,FileSystemFlags, nil,0)); { Check FS_FILE_COMPRESSION flag } Result := ((FileSystemFlags and FS_FILE_COMPRESSION) <> 0); end; {$WARN SYMBOL_PLATFORM ON}
元ねたはNTFSの圧縮機能 - HEROPA's HomePageなど。
0 件のコメント:
コメントを投稿