Рекомендуем использовать Visual Studio 2017

_getdrives

 

Самая актуальная документация по Visual Studio 2017: Документация по Visual Studio 2017.

Возвращает битовую маску, которая представляет доступные в данный момент диски.

System_CAPS_ICON_important.jpg Важно

Этот API не может использоваться в приложениях, выполняемых в Среда выполнения Windows. Дополнительные сведения см. в статье Функции CRT, которые не поддерживаются с ключом /ZW.

unsigned long _getdrives( void );  

Если функция завершается успешно, возвращенное значение является битовой маской, которая представляет доступные в данный момент диски. Бит в позиции 0 (наименее значимый бит) представляет диск A, в позиции 1 — диск B, в позиции 2 — диск C и т. д. Если функция выполняется неудачно, возвращается нулевое значение. Чтобы получить расширенные сведения об ошибке, вызовите функцию GetLastError.

ПодпрограммаОбязательный заголовок
_getdrives<direct.h>

Дополнительные сведения о совместимости см. в разделе Compatibility.

  
      // crt_getdrives.c  
// This program retrives 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:  

Неприменимо. Для вызова стандартной функции C используйте PInvoke. Дополнительные сведения см. в разделе Примеры вызова неуправляемого кода.

Управление каталогами

Показ: