Аппаратные и программные средства защиты информации. Андрианов В.П. - 9 стр.

UptoLike

Составители: 

9
lpRootPathName имя устройства, информацию о котором необходимо
получить;
lpVolumeNameBuffer имя буфера, в который будет помещено имя тома;
nVolumeNameSizeразмер буфера для имени тома;
lpVolumeSerialNumberпеременная, в которую будет записан серийный
номер;
lpMaximumComponentLength переменная, в которую будет записано
максимальное значение пути, поддерживаемое файловой системой;
lpFileSystemFlags флаги файловой системы, может быть любая
комбинация флагов:
FS_CASE_IS_PRESERVED файловая система сохраняет регистр имен файлов, когда
сохраняет имя на диске;
FS_CASE_SENSITIVE файловая система чувствительна к регистру имен файлов;
FS_UNICODE_STORED_ON_DISK файловая система поддерживает имена в UNICODE;
FS_PERSISTENT_ACLS – файловая система поддерживает списки доступа (NTFS);
FS_FILE_COMPRESSION файловая система поддерживает компрессию на уровне
файлов;
FS_VOL_IS_COMPRESSED файловая система поддерживает компрессию на уровне тома;
lpFileSystemNameBuffer буфер, в который будет помещено имя файловой
системы;
nFileSystemNameSize размер буфера для имени файловой системы.
Типы рассмотренных параметров для корректного использования процедуры в
среде Delphi:
lpRootPathName : PChar;
lpVolumeNameBuffer : PChar;
nVolumeNameSize : dWord;
lpVolumeSerialNumber : dWord;
lpMaximumComponentLength : dWord;
lpFileSystemFlags : dWord;
lpFileSystemNameBuffer : PChar;
nFileSystemNameSize : dWord;
Начальная загрузка параметров:
lpVolumeNameBuffer := '';
lpVolumeSerialNumber := 0;
lpMaximumComponentLength := 0;
lpFileSystemFlags := 0;
lpFileSystemNameBuffer := '';
GetMem(lpVolumeNameBuffer, Max_Path+1); //выделение памяти для
переменной
GetMem(lpFileSystemNameBuffer, Max_Path+1); //выделение памяти для
переменной
nVolumeNameSize := Max_Path+1;
nFileSystemNameSize := Max_Path+1;
lpRootPathName := PChar(DriveComboBox1.Drive+':\');
//имя устройства определяется компонентом TDriveComboBox
                                                                                     9
    lpRootPathName          – имя устройства, информацию о котором необходимо
 получить;
    lpVolumeNameBuffer      – имя буфера, в который будет помещено имя тома;
    nVolumeNameSize – размер буфера для имени тома;
    lpVolumeSerialNumber    – переменная, в которую будет записан серийный
номер;
    lpMaximumComponentLength – переменная, в которую будет записано
 максимальное значение пути, поддерживаемое файловой системой;
    lpFileSystemFlags       – флаги файловой системы, может быть любая
 комбинация флагов:

    FS_CASE_IS_PRESERVED      – файловая система сохраняет регистр имен файлов, когда
                       сохраняет имя на диске;
    FS_CASE_SENSITIVE        – файловая система чувствительна к регистру имен файлов;
    FS_UNICODE_STORED_ON_DISK       – файловая система поддерживает имена в UNICODE;
    FS_PERSISTENT_ACLS – файловая система поддерживает списки доступа (NTFS);
    FS_FILE_COMPRESSION      – файловая система поддерживает компрессию на уровне
файлов;
    FS_VOL_IS_COMPRESSED     – файловая система поддерживает компрессию на уровне тома;

    lpFileSystemNameBuffer – буфер, в который будет помещено имя файловой
системы;
    nFileSystemNameSize    – размер буфера для имени файловой системы.

    Типы рассмотренных параметров для корректного использования процедуры в
среде Delphi:
    lpRootPathName              :     PChar;
    lpVolumeNameBuffer          :     PChar;
    nVolumeNameSize        :     dWord;
    lpVolumeSerialNumber        :     dWord;
    lpMaximumComponentLength :        dWord;
    lpFileSystemFlags           :     dWord;
    lpFileSystemNameBuffer      :     PChar;
    nFileSystemNameSize         :     dWord;

    Начальная загрузка параметров:

      lpVolumeNameBuffer                 := '';
       lpVolumeSerialNumber              := 0;
      lpMaximumComponentLength           := 0;
      lpFileSystemFlags                  := 0;
      lpFileSystemNameBuffer             := '';
         GetMem(lpVolumeNameBuffer, Max_Path+1); //выделение памяти для
переменной
         GetMem(lpFileSystemNameBuffer, Max_Path+1);     //выделение памяти для
переменной
        nVolumeNameSize                  := Max_Path+1;
        nFileSystemNameSize              := Max_Path+1;
        lpRootPathName       := PChar(DriveComboBox1.Drive+':\');
    //имя устройства определяется компонентом TDriveComboBox