Partilhar via


_getdrives

Retorna um bitmask que representa as unidades de disco disponíveis no momento.

Importante

Esta API não pode ser usada em aplicativos executados no Windows Runtime. Para obter mais informações, confira Funções do CRT sem suporte em aplicativos da Plataforma Universal do Windows.

Sintaxe

unsigned long _getdrives( void );

Valor retornado

Se a função for bem-sucedida, o valor retornado será um bitmask que representa as unidades de disco disponíveis no momento. A posição do bit 0 (o bit menos significativo) representa a unidade A. Da mesma forma, a posição do bit 1 representa a unidade B, a posição do bit 2 representa a unidade C e assim por diante. Se a função falhar, o valor retornado será zero. Para obter outras informações sobre o erro, chame GetLastError.

Comentários

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.

Requisitos

Rotina Cabeçalho necessário
_getdrives <direct.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

// 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:

Confira também

Controle de diretório