IOCTL_VOLUME_PHYSICAL_TO_LOGICAL IOCTL (ntddvol.h)
物理ディスク番号と物理オフセットに対応する論理オフセットを返します。
ボリューム・マネージャーは、基本ボリュームと動的ボリュームのすべてのタイプについて説明されているように、この IOCTL をサポートします。
メジャー コード
入力バッファー
呼び出し元は、物理オフセットと物理ディスク番号を含む VOLUME_PHYSICAL_OFFSET 構造体をバッファーの先頭 Irp->AssociatedIrp.SystemBufferに挿入します。
入力バッファーの長さ
IRP の I/O スタック位置にある Parameters.DeviceIoControl.InputBufferLength は、入力バッファーのサイズ (バイト単位) を示します。これは、sizeof(VOLUME_PHYSICAL_OFFSET) の値以上である必要があります。出力バッファー
ボリューム マネージャーは、バッファーの先頭にある VOLUME_LOGICAL_OFFSET 構造体の論理オフセット Irp->AssociatedIrp.SystemBufferを返します。
出力バッファーの長さ
IRP の I/O スタック位置の Parameters.DeviceIoControl.OutputBufferLength は、出力バッファーのサイズ (バイト単位) を示します。これは、sizeof(VOLUME_LOGICAL_OFFSET) の値以上である必要があります。状態ブロック
操作が成功した場合、Status メンバーは STATUS_SUCCESS に設定されます。
入力バッファーまたは出力バッファーが小さすぎる場合、ボリューム・マネージャーは、Status メンバーをSTATUS_BUFFER_TOO_SMALLに設定します。 データが出力バッファーで返されるが、バッファーが小さすぎてそのすべてを受け取れない場合、ボリューム・マネージャーは、Status メンバーをSTATUS_BUFFER_OVERFLOWに設定します。 Information メンバーは、呼び出し元によって提供される出力バッファーのサイズに設定されます。
指定された物理ディスク番号と物理オフセットがボリュームに属していない場合、または RAID パリティ データから取得された場合、この呼び出しはSTATUS_INVALID_PARAMETERで失敗します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP 以降で使用できます。 |
ヘッダー | ntddvol.h (Ntddvol.h を含む) |