コントロール コードIOCTL_VOLUME_IS_CSVする
ボリュームが CSV ボリュームであるかどうかを判断します。
この操作を実行するには、次のパラメーターを使用して DeviceIoControl 関数を呼び出します。
BOOL
WINAPI
DeviceIoControl( (HANDLE) hDevice, // handle to device
IOCTL_VOLUME_IS_CSV, // dwIoControlCode
NULL, // input buffer
0, // size of input buffer
(LPVOID) lpOutBuffer, // lpOutBuffer
(DWORD) nOutBufferSize, // nOutBufferSize
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped ); // OVERLAPPED structure
パラメーター
-
hDevice
-
ボリュームへのハンドル。 ボリューム ハンドルを取得するには、 CreateFile 関数を呼び出します。 ボリューム ハンドルを開くことができるのは管理者だけです。
-
dwIoControlCode
-
操作の制御コード。 この操作 にはIOCTL_VOLUME_IS_CSV を使用します。
-
lpInBuffer
-
この操作では使用されません。 を NULL に設定します。
-
nInBufferSize
-
この操作では使用されません。をゼロ (0) に設定します。
-
lpOutBuffer
-
ボリュームが CSV ボリュームの場合は TRUE へのポインター。それ以外の場合、関数呼び出しは失敗します。
-
nOutBufferSize
-
出力バッファーのサイズ (バイト単位)。
-
lpBytesReturned
-
出力バッファーに格納されているデータのサイズをバイト単位で受け取る変数へのポインター。
lpOverlapped が NULL の場合、lpBytesReturned を NULL にすることはできません。 操作で出力データが返されず、 lpOutBuffer が NULL の場合でも、 DeviceIoControl は lpBytesReturned を使用します。 このような操作の後、 lpBytesReturned の値は意味がありません。
lpOverlapped が NULL でない場合、lpBytesReturned には NULL を指定できます。 このパラメーターが NULL ではなく、操作がデータを返す場合、重複する操作が完了するまで lpBytesReturned は意味がありません。 返されたバイト数を取得するには、 GetOverlappedResult を呼び出します。 hDevice が I/O 完了ポートに関連付けられている場合は、GetQueuedCompletionStatus を呼び出して返されるバイト数を取得できます。
-
lpOverlapped
-
OVERLAPPED 構造体へのポインター。
FILE_FLAG_OVERLAPPEDを指定せずに hDevice を開いた場合、lpOverlapped は無視されます。
hDevice が FILE_FLAG_OVERLAPPED フラグで開かれた場合、操作は重複 (非同期) 操作として実行されます。 この場合、 lpOverlapped は、イベント オブジェクトへのハンドルを含む有効な OVERLAPPED 構造体を指す必要があります。 それ以外の場合、関数は予期しない方法で失敗します。
重複する操作の場合、 DeviceIoControl は直ちにを返し、操作が完了するとイベント オブジェクトが通知されます。 それ以外の場合、関数は操作が完了するかエラーが発生するまで戻りません。
戻り値
操作が正常に完了すると、 DeviceIoControl は 0 以外の値を返します。
操作が失敗した場合、または保留中の場合、 DeviceIoControl はゼロ (0) を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
サポートなし |
サポートされている最小のサーバー |
Windows Server 2012 [デスクトップ アプリのみ] |
Header |
|