GetVolumeInformation 一次可擷取磁碟區的關鍵屬性:磁碟代碼、磁碟標籤 (Volume Label)、序號 (Serial Number)、最大檔名長度、檔案系統旗標、檔案系統名稱 (NTFS/FAT32/exFAT 等)。
function GetVolumeInformation(
lpRootPathName: PChar;
lpVolumeNameBuffer: PChar;
nVolumeNameSize: DWORD;
lpVolumeSerialNumber: PDWORD;
var lpMaximumComponentLength: DWORD;
var lpFileSystemFlags: DWORD;
lpFileSystemNameBuffer: PChar;
nFileSystemNameSize: DWORD
): BOOL; stdcall;
procedure TForm1.FormCreate(Sender: TObject);
var
RootPath: array[0..20] of Char;
VolName: array[0..255] of Char;
SerialNumber: DWORD;
MaxCLength: DWORD;
FileSysFlag: DWORD;
FileSysName: array[0..255] of Char;
begin
RootPath := 'C:\';
GetVolumeInformation(
RootPath,
VolName,
255,
@SerialNumber,
MaxCLength,
FileSysFlag,
FileSysName,
255
);
Memo1.Clear;
with Memo1.Lines do
begin
Add(Format('磁碟代碼: %s', [RootPath]));
Add(Format('磁碟標籤: %s', [VolName]));
Add(Format('磁碟序號: %s', [IntToHex(SerialNumber, 8)]));
Add(Format('最大檔名長度: %d', [MaxCLength]));
Add(Format('檔案系統旗標: %d', [FileSysFlag]));
Add(Format('檔案系統名稱: %s', [FileSysName]));
end;
end;

FS_CASE_IS_PRESERVED (大小寫保留)FS_CASE_SENSITIVE (大小寫敏感)FS_UNICODE_STORED_ON_DISK (支援 Unicode)FS_PERSISTENT_ACLS (支援 ACL 權限)FS_FILE_COMPRESSION (支援壓縮)FS_VOL_IS_COMPRESSED (磁碟已壓縮)適用於安裝程式檢查磁碟相容性、備份軟體識別目標磁碟等場景。