IOCTL_VOLUME_PHYSICAL_TO_LOGICAL IOCTL (ntddvol.h)
傳回對應至實體磁碟編號和實體位移的邏輯位移。
磁碟區管理員支援此 IOCTL,如所有類型的基本和動態磁碟區所述。
主要程序代碼
輸入緩衝區
呼叫端會在 Irp-AssociatedIrp.SystemBuffer> 的緩衝區開頭插入包含實體位移和實體磁碟號碼的VOLUME_PHYSICAL_OFFSET結構。
輸入緩衝區長度
IRP I/O 堆疊位置中的 Parameters.DeviceIoControl.InputBufferLength 表示輸入緩衝區的大小,其大小必須大於或等於 sizeof (VOLUME_PHYSICAL_OFFSET) 。輸出緩衝區
磁碟區管理員會在緩衝區開頭的 VOLUME_LOGICAL_OFFSET 結構中傳回邏輯位移,位於 Irp-AssociatedIrp.SystemBuffer>。
輸出緩衝區長度
IRP I/O 堆棧位置中的 Parameters.DeviceIoControl.OutputBufferLength 表示輸出緩衝區的大小,其大小必須大於或等於 sizeof (VOLUME_LOGICAL_OFFSET) 的值。狀態區塊
如果作業成功, 狀態 成員會設定為 STATUS_SUCCESS。
如果輸入或輸出緩衝區太小,磁碟區管理員會將 Status 成員設定為STATUS_BUFFER_TOO_SMALL。 如果在輸出緩衝區中傳回數據,但緩衝區太小而無法接收所有數據,磁碟區管理員會將 Status 成員設定為STATUS_BUFFER_OVERFLOW。 信息成員會設定為呼叫端所提供的輸出緩衝區大小。
如果指定的實體磁碟編號和實體位移不屬於磁碟區,或是取自RAID同位數據,則此呼叫將會失敗,並出現STATUS_INVALID_PARAMETER。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows XP 開始提供。 |
標頭 | ntddvol.h (包含 Ntddvol.h) |