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