IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS IOCTL (ntddvol.h)
1 つ以上のディスク上のボリュームの物理的な場所を返します。 エクステントは最初は作成された順序で格納されますが、ミラーの再ミラー化、分割、または中断、またはディザスター リカバリー中に実行されるアクションは、ディスク エクステントの順序に影響する可能性があります。
メジャー コード
入力バッファー
何一つ。
入力バッファーの長さ
何一つ。
出力バッファー
ドライバーは、バッファー内のVOLUME_DISK_EXTENTS構造体 Irp->AssociatedIrp.SystemBufferを返します。これは、の sizeof (VOLUME_DISK_EXTENTS) 以上である必要があります。
出力バッファーの長さ
VOLUME_DISK_EXTENTS構造体の長さ。
状態ブロック
ドライバーは、次のように Irp->IoStatus.Information と 状態 フィールド 設定します。
- Irp->AssociatedIrp.SystemBuffer のバッファーが sizeof(VOLUME_DISK_EXTENTS) < 場合、ドライバーは Irp->IoStatus.Information を 0 に設定し、STATUS_INVALID_PARAMETERを返します。
- Irp->AssociatedIrp.SystemBuffer のバッファーが少なくとも sizeof(VOLUME_DISK_EXTENTS) であるが、すべてのデータを返すには小さすぎる場合、ドライバーは Irp->IoStatus.Information を sizeof(VOLUME_DISK_EXTENTS) に 設定し、状態 をSTATUS_BUFFER_OVERFLOWに設定します。
- Irp->AssociatedIrp.SystemBuffer のバッファーが、すべてのデータが返されるのに十分な大きさである場合、 ドライバー Irp->IoStatus.Information を sizeof(VOLUME_DISK_EXTENTS) + ((NumberOfDiskExtents - 1) * sizeof(DISK_EXTENT)) に設定し、状態 をSTATUS_SUCCESSに設定します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Microsoft Windows 2000 では固定ディスク上のボリュームに使用できますが、リムーバブル メディア上のボリュームでは使用できません。 Microsoft Windows 2000 SP4 および Windows XP SP1 のリムーバブル メディアで使用できます。 |
ヘッダー | ntddvol.h (Ntddvol.h を含む) |