07:50 Информация о дисках. Часть 2 | ||||||||||||
Информацию о файловой системе, расположенной на диске, можно получить функцией GetVolumelnformation, которая в VCL Win32 объявленна следующим образом: function GetVolumelnformation(lpRootPathName: PChar; lpVolumeNameBuffer: PChar; nVolumeNameSize: DWORD; lpVolumeSerialNumber: PDWORD; var lpMaximumComponentLength, lpFileSystemFlags: DWORD; lpFileSystemNameBuffer: PChar; nFileSystemNameSize: DWORD): BOOL; stdcall;В VCL .NET функция объявлена так: function GetVolumelnformation(lpRootPathName: string; lpVolumeNameBuffer: StringBuilder; nVolumeNameSize: DWORD; out lpVolumeSerialNumber: DWORD; out lpMaximumComponentLength, lpFileSystemFlags: DWORD; lpFileSystemNameBuffer: StringBuilder; nFileSystemNameSize: DWORD): BOOL; external; Параметр lpRootPathName — корневой каталог диска. Параметр lpVolumeNameBuffer — буфер размера nVolumeNameSize, в который возвращается имя диска. В параметр lpVolumeSerialNumber возвращается серийный номер диска. Учтите, что это отнюдь не заводской номер винчестера. Это чисто служебный номер логического диска. В параметр pMaximumComponentLength возвращается допустимое число символов в элементах имен файлов, т.е. число символов, которые могут размещаться между обратными слэшами. Например, если поддерживаются длинные имена, то обычно pMaximumComponentLength = 255. В параметр lpFileSystemFlags возвращаются флаги, характеризующие файловую систему на диске. Параметр может быть сочетанием следующих флагов:
В буфер lpFileSystemNameBuffer размера nFileSystemNameSize возвращается имя файловой системы, например, «FAT» или «NTFS». Обратите внимание на то, что типы параметров lpVolumeNameBuffer и lpFileSystemNameBuffer различны в VCL Win32 и в VCL.NET. В приложениях VCL .NET их тип StringBuilder. Так что организация вызова функции GetVolumelnformation в приложениях разного типа существенно различается. | ||||||||||||
|
Всего комментариев: 1 | ||
| ||