Программирование для Windows NT (том 2)



         

Определения и глобальные переменные


В начале своей работы приложение DiskInfo получает список имен дисков в виде текстовых строк. Каждая такая строка закрыта двоичным нулем, а последняя - двумя нулевыми байтами. Адрес списка приложение записывает в глобальную переменную lpLogicalDriveStrings.

После получения списка имен приложение сканирует его с целью подсчета количества дисковых устройств. Это количество сохраняется в глобальной переменной nNumDirves.

Далее приложение заказывает память для массива структур типа DISKINFO:

typedef struct tagDISKINFO

{

  char  szDriveName[10];      // имя диска

  UINT  nDriveType;           // тип диска

  char  szVolumeName[30];     // имя тома

  DWORD dwVolumeSerialNumber; // серийный номер

  DWORD dwMaxFileNameLength;  // длина имени

  DWORD dwFileSystemFlags;    // системные флаги

  char  szFileSystemName[10]; // имя файловой системы

  int   iImage;               // номер пиктограммы

  DWORD dwFreeSpace;          // свободное пространство

  DWORD dwTotalSpace;         // общий объем диска

} DISKINFO;

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

Адрес массива структур DISKINFO хранится в глобальной переменной pdi.




Содержание  Назад  Вперед