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


Функция GetDiskInfo - часть 3


(pdi + i)->szFileSystemName, 10);

Для определения общего объема диска и объема свободного пространства дополнительно вызывается функция GetDiskFreeSpace:

GetDiskFreeSpace(lpTemp, &dwSectors, &dwBytes, &dwFreeClusters,

  &dwClusters);

Значения, полученные от этой функции, обрабатываются следующим образом:

(pdi + i)->dwFreeSpace  = dwSectors * dwBytes*dwFreeClusters;

(pdi + i)->dwTotalSpace = dwSectors * dwBytes*dwClusters;

Объем свободного пространства в байтах записывается в поле dwFreeSpace. Он вычисляется как произведение сделующих величин: количества свободных кластеров на диске dwFreeClusters, количество секторов в одном кластере dwSectors и количества байт в одном сеткоре dwBytes.

Общий объем диска записывается в поле dwTotalSpace и подсчитывается аналогично, за исключением того что вместо количества свобдных кластеров используется общее количество кластеров на диске dwClusters.

В поле iImage записывается значение 1. Это номер пиктограммы с изображением диска с несменным носителем данных.

Получение и заполнение информации об удаленных (сетевых) дисковых устройствах выполняется аналогично, однако в поле iImage записывается значение 3.

Если тип устройства не поддается классификации, наше приложение получает информацию о его параметрах, а в поле iImage записывает значение 1.




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