_getdrives

Vrátí bitovou masku, která představuje aktuálně dostupné diskové jednotky.

Důležité

Toto rozhraní API nelze použít v aplikacích, které se spouští v prostředí Windows Runtime. Další informace najdete v tématu Funkce CRT, které nejsou v aplikacích Univerzální platforma Windows podporované.

Syntaxe

unsigned long _getdrives( void );

Vrácená hodnota

Pokud je funkce úspěšná, návratová hodnota je bitová maska, která představuje aktuálně dostupné diskové jednotky. Pozice bitu 0 (nejméně významný bit) představuje jednotku A. Podobně bitová pozice 1 představuje jednotku B, bitová pozice 2 představuje jednotku C a tak dále. Pokud funkce selže, návratová hodnota je nula. Pokud chcete získat rozšířené informace o chybě, zavolejte GetLastError.

Poznámky

Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.

Požadavky

Rutina Požadovaný hlavičkový soubor
_getdrives <direct.h>

Další informace o kompatibilitě najdete v tématu Kompatibilita.

Příklad

// crt_getdrives.c
// This program retrieves and lists out
// all the logical drives that are
// currently mounted on the machine.

#include <windows.h>
#include <direct.h>
#include <stdio.h>
#include <tchar.h>

TCHAR g_szDrvMsg[] = _T("A:\n");

int main(int argc, char* argv[]) {
   ULONG uDriveMask = _getdrives();

   if (uDriveMask == 0)
   {
      printf( "_getdrives() failed with failure code: %d\n",
              GetLastError());
   }
   else
   {
      printf("The following logical drives are being used:\n");

      while (uDriveMask) {
         if (uDriveMask & 1)
            printf(g_szDrvMsg);

         ++g_szDrvMsg[0];
         uDriveMask >>= 1;
      }
   }
}
The following logical drives are being used:
A:
C:
D:
E:

Viz také

Ovládací prvek adresář