_getdrives
現在使用できるディスク ドライブを表すビットマスクを返します。
重要 |
---|
この API は Windows ランタイムで実行されるアプリケーションで使用することはできません。詳細については、でサポート /ZW CRT 関数" "を参照してください。 |
unsigned long _getdrives( void );
戻り値
関数が正常に終了した場合、戻り値は現在使用できるディスク ドライブを表すビットマスクです。0 ビット位置 (ニーズが少ない bit) は、Drive は、1 ビット位置でのドライブ B、12 ビット位置 2 に 15 のドライブ B などです。関数が失敗した場合、戻り値はゼロです。エラー情報を拡張するには、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 を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。