_getdrives

返回表示当前可用的磁盘驱动器的位掩码。

重要

此 API 不能在 Windows 运行时执行的应用程序。有关更多信息,请参见 CRT 函数不支持与 /ZW

unsigned long _getdrives( void );

返回值

如果函数成功,则返回值是表示当前可用的磁盘驱动器的位掩码。 数位位置 0 (最低有效的位) 是驱动程序时,数位位置 1 为 drive 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。 有关更多信息,请参见平台调用示例

请参见

参考

内容控件