共用方式為


IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS IOCTL (ntddvol.h)

傳回一或多個磁碟上的磁碟區實體位置。 範圍一開始會以建立的順序儲存,但重新鏡像、分割或中斷鏡像,或災害復原期間所採取的動作可能會影響磁碟範圍的順序。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

沒有。

輸入緩衝區長度

沒有。

輸出緩衝區

驅動程式會在 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)

另請參閱

DISK_EXTENT

VOLUME_DISK_EXTENTS