IOCTL_VOLUME_PHYSICAL_TO_LOGICAL IOCTL (ntddvol.h)

物理ディスク番号と物理オフセットに対応する論理オフセットを返します。

ボリューム・マネージャーは、すべてのタイプの基本ボリュームおよび動的ボリュームについて説明されているように、この IOCTL をサポートします。

メジャー コード

IRP_MJ_DEVICE_CONTROL

[入力バッファー]

呼び出し元は、バッファーの先頭に、物理オフセットと物理ディスク番号を含む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 以降で使用できます。
Header ntddvol.h (Ntddvol.h を含む)

こちらもご覧ください

IOCTL_VOLUME_LOGICAL_TO_PHYSICAL

VOLUME_LOGICAL_OFFSET

VOLUME_PHYSICAL_OFFSET

VOLUME_PHYSICAL_OFFSETS