Ïðîãðàììèðîâàíèå äëÿ Windows NT (òîì 2)


         

Ïîëó÷àåì èíôîðìàöèþ äëÿ íåñìåííûõ


          strcpy((pdi + i)->szFileSystemName, "?");

          (pdi + i)->dwFreeSpace          = 0;

          (pdi + i)->dwTotalSpace         = 0;

        break;

      }

      // Ïîëó÷àåì èíôîðìàöèþ äëÿ íåñìåííûõ óñòðîéñòâ

      case DRIVE_FIXED:

      {

        (pdi + i)->iImage = 1;

        GetVolumeInformation(lpTemp,

          (pdi + i)->szVolumeName, 30,

          &((pdi + i)->dwVolumeSerialNumber),

          &((pdi + i)->dwMaxFileNameLength),

          &((pdi + i)->dwFileSystemFlags),

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

       

        GetDiskFreeSpace(lpTemp, &dwSectors, &dwBytes,

          &dwFreeClusters, &dwClusters);

        (pdi + i)->dwFreeSpace =

          dwSectors * dwBytes * dwFreeClusters;

        (pdi + i)->dwTotalSpace =

          dwSectors * dwBytes * dwClusters;

        break;

      }

      // Ïîëó÷àåì èíôîðìàöèþ äëÿ ñåòåâûõ òîìîâ

      case DRIVE_REMOTE:

      {

        (pdi + i)->iImage = 3;

        GetVolumeInformation(lpTemp,

          (pdi + i)->szVolumeName, 30,

          &((pdi + i)->dwVolumeSerialNumber),

          &((pdi + i)->dwMaxFileNameLength),

          &((pdi + i)->dwFileSystemFlags),

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

        GetDiskFreeSpace(lpTemp, &dwSectors, &dwBytes,

          &dwFreeClusters, &dwClusters);

        (pdi + i)->dwFreeSpace =

          dwSectors * dwBytes * dwFreeClusters;

        (pdi + i)->dwTotalSpace =

          dwSectors * dwBytes * dwClusters;

        break;

      }

    

      // Ïðî÷èå äèñêîâûå óñòðîéñòâà

      default:

      {

        (pdi + i)->iImage               = 1;

        GetVolumeInformation(lpTemp,

          (pdi + i)->szVolumeName, 30,

          &((pdi + i)->dwVolumeSerialNumber),

          &((pdi + i)->dwMaxFileNameLength),

          &((pdi + i)->dwFileSystemFlags),


Ñîäåðæàíèå  Íàçàä  Âïåðåä