GetDriveTypeA 関数 (fileapi.h)

ディスク ドライブがリムーバブル、固定、CD-ROM、RAM ディスク、またはネットワークのどのドライブかを特定します。

ドライブが USB 型ドライブかどうかを確認するには、 SetupDiGetDeviceRegistryProperty を 呼び出し、 SPDRP_REMOVAL_POLICY プロパティを指定します。

構文

UINT GetDriveTypeA(
  [in, optional] LPCSTR lpRootPathName
);

パラメーター

[in, optional] lpRootPathName

ドライブのルート ディレクトリ。

末尾の円記号が必要です。 このパラメーターが NULL の場合、関数は現在のディレクトリのルートを使用します。

戻り値

戻り値はドライブの種類を指定します。ドライブの種類は、次のいずれかの値になります。

リターン コード/値 Description
DRIVE_UNKNOWN
0
ドライブの種類を特定できません。
DRIVE_NO_ROOT_DIR
1
ルート パスが無効です。たとえば、指定したパスにボリュームがマウントされていません。
DRIVE_REMOVABLE
2
ドライブにはリムーバブル メディアがあります。たとえば、フロッピー ドライブ、サム ドライブ、フラッシュ カード リーダーなどです。
DRIVE_FIXED
3
ドライブに固定メディアがあります。たとえば、ハード ディスク ドライブやフラッシュ ドライブなどです。
DRIVE_REMOTE
4
ドライブはリモート (ネットワーク) ドライブです。
DRIVE_CDROM
5
ドライブは CD-ROM ドライブです。
DRIVE_RAMDISK
6
ドライブは RAM ディスクです。

解説

Windows 8 と Windows Server 2012 では、この関数は、次のテクノロジによってサポートされています。

テクノロジ サポートされています
サーバー メッセージ ブロック (SMB) 3.0 プロトコル いいえ
SMB 3.0 Transparent Failover (TFO) いいえ
スケールアウト ファイル共有 (SO) を使う SMB 3.0 いいえ
クラスターの共有ボリューム ファイル システム (CsvFS) はい
Resilient File System (ReFS) はい
 

SMB では、ボリューム管理機能はサポートされていません。

Note

fileapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして GetDriveType を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント Windows XP [デスクトップ アプリ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー fileapi.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

GetDiskFreeSpace

ボリューム管理の関数