Microsoft Visual C++ и MFC. Программирование для Win95 и WinNT


Приложение TestFile


Теперь мы представим вам приложение, которое использует класс CStdioFile для записи в файл информации о файловой системе компьютера. Для определения характеристик файловой системы мы воспользовались функцией GetVolumeInformation из программного интерфейса Win32.

Эта функция позволяет определить различные характеристики файловой системы, установленной на данном томе. Ниже представлен прототип функции GetVolumeInformation:

BOOL GetVolumeInformation(

      LPCTSTR    lpRootPathName,

      LPTSTR      lpVolumeNameBuffer,

      DWORD      nVolumeNameSize,

      LPDWORD  lpVolumeSerialNumber,

      LPDWORD  lpMaximumComponentLength,

      LPDWORD  lpFileSystemFlags,

      LPTSTR      lpFileSystemNameBuffer,

      DWORD      nFileSystemNameSize

);   

Первый параметр lpRootPathName перед вызовом функции должен указывать на строку, содержащую путь корневого каталога тома, информацию о котором надо получить. Если вы присвоите lpRootPathName значение NULL, по умолчанию будет выбран корневой каталог текущего тома.

Параметр lpVolumeNameBuffer должен содержать указатель на буфер, в который будет записано имя тома. Длина буфера определяется параметром nVolumeNameSize. Если вас не интересует имя тома, вы можете указать для параметра lpVolumeNameBuffer значение NULL. В этом случае значение nVolumeNameSize не используется.

Параметр lpVolumeSerialNumber должен содержать адрес переменной типа DWORD, в которую будет записан серийный номер тома. Если вас не интересует серийный номер, вы можете указать для параметра значение NULL.

Параметр lpMaximumComponentLength должен содержать адрес переменной, в которую будет записана максимальная длина файла, для данной файловой системы. Для операционной системы Windows 95 эта переменная будет содержать значение 255, несмотря на то, что тип файловой системы остался FAT.

Параметр lpFileSystemFlags указывает на переменную, которая может быть одной или комбинацией нескольких констант, перечисленных в следующей таблице.

Константа

Описание

FS_CASE_IS_PRESERVED

При записи файлов на диск сохраняется написание (заглавные и прописные символы) имени файла

FS_CASE_SENSITIVE

Файловая система различает  заглавные и прописные символы в именах файлов

FS_UNICODE_STORED_ON_DISK

Файловая система обеспечивает кодировку имен файлов Unicode

FS_FILE_COMPRESSION

Обеспечивается возможность сжатия отдельных файлов, расположенных на томе. Эта константа не может быть использована вместе с другими

FS_VOL_IS_COMPRESSED

Данный том является компрессованным. Такой том может быть создан системами типа DoubleSpace. Эта константа не может быть использована вместе с другими

<


Начало  Назад  Вперед



Книжный магазин