共用方式為


IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS IOCTL (ntddvol.h)

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

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

無。

輸入緩衝區長度

無。

輸出緩衝區

驅動程式會在 Irp-AssociatedIrp.SystemBuffer> 的緩衝區中傳回VOLUME_DISK_EXTENTS結構,其大小必須至少為 (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 設定為 STATUS_SUCCESS。

規格需求

需求
最低支援的用戶端 Microsoft Windows 2000 適用於固定磁碟上的磁碟區,但不適用於抽取式媒體上的磁碟區。 可用於 Microsoft Windows 2000 SP4 和 Windows XP SP1 中的抽取式媒體。
標頭 ntddvol.h (包含 Ntddvol.h)

另請參閱

DISK_EXTENT

VOLUME_DISK_EXTENTS