_getdrives
Возвращает битовую маску, которая представляет доступные в данный момент диски.
Важно!
Этот API не может использоваться в приложениях, выполняемых в Среда выполнения Windows.Дополнительные сведения см. в статье Функции CRT, которые не поддерживаются с ключом /ZW.
unsigned long _getdrives( void );
Возвращаемое значение
Если функция завершается успешно, возвращенное значение является битовой маской, которая представляет доступные в данный момент диски. Бит на позиции 0 (наименее значительный бит) представляет диск A, на позиции 1 — диск B, на позиции 2 — диск C и т. д. Если вызов функции заканчивается неудачно, возвращается значение ноль. Чтобы получить расширенные сведения об ошибках, вызовите GetLastError.
Требования
Подпрограмма |
Обязательный заголовок |
---|---|
_getdrives |
<direct.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
// 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;
}
}
}
Эквивалент в .NET Framework
Неприменимо. Для вызова стандартной функции C используйте PInvoke. Для получения дополнительной информации см. Примеры вызовов неуправляемого кода.