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