IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS IOCTL (ntddvol.h)
傳回一或多個磁碟上的磁碟區實體位置。 範圍一開始會以建立的順序儲存,但重新鏡像、分割或中斷鏡像,或災害復原期間所採取的動作可能會影響磁碟範圍的順序。
主要程序代碼
輸入緩衝區
沒有。
輸入緩衝區長度
沒有。
輸出緩衝區
驅動程式會在 Irp->AssociatedIrp.SystemBuffer的緩衝區中傳回VOLUME_DISK_EXTENTS結構,該結構至少必須是 sizeof(VOLUME_DISK_EXTENTS)。
輸出緩衝區長度
VOLUME_DISK_EXTENTS 結構的長度。
狀態區塊
驅動程式會設定 Irp->IoStatus.Information 和 [狀態] 字段,如下所示:
- 如果位於 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_SUCCESS。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Microsoft Windows 2000 中適用於固定磁碟上的磁碟區,但不適用於卸載式媒體上的磁碟區。 可在 Microsoft Windows 2000 SP4 和 Windows XP SP1 中搭配抽取式媒體使用。 |
標頭 | ntddvol.h (include Ntddvol.h) |