IOCTL_VOLUME_PHYSICAL_TO_LOGICAL IOCTL (ntddvol.h)

返回与物理磁盘编号和物理偏移量对应的逻辑偏移量。

卷管理器支持此 IOCTL,如所有类型的基本卷和动态卷所述。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

调用方在缓冲区开头的 Irp-AssociatedIrp.SystemBuffer> 处插入包含物理偏移量和物理磁盘编号的 VOLUME_PHYSICAL_OFFSET 结构。

输入缓冲区长度

IRP 的 I/O 堆栈位置中的 Parameters.DeviceIoControl.InputBufferLength 指示输入缓冲区的大小(以字节为单位),该大小必须大于或等于 size of (VOLUME_PHYSICAL_OFFSET) 的值。

输出缓冲区

卷管理器返回缓冲区开头 Irp-AssociatedIrp.SystemBuffer>VOLUME_LOGICAL_OFFSET结构中的逻辑偏移量。

输出缓冲区长度

IRP 的 I/O 堆栈位置中的 Parameters.DeviceIoControl.OutputBufferLength 指示输出缓冲区的大小(以字节为单位),该大小必须大于或等于 size of (VOLUME_LOGICAL_OFFSET) 的值。

状态块

如果操作成功,则 Status 成员设置为 STATUS_SUCCESS。

如果输入或输出缓冲区太小,卷管理器会将 Status 成员设置为STATUS_BUFFER_TOO_SMALL。 如果数据在输出缓冲区中返回,但缓冲区太小而无法接收所有数据,则卷管理器会将 Status 成员设置为STATUS_BUFFER_OVERFLOW。 信息成员设置为调用方提供的输出缓冲区的大小。

如果给定的物理磁盘编号和物理偏移量不属于卷,或者它们取自 RAID 奇偶校验数据,则此调用将失败并STATUS_INVALID_PARAMETER。

要求

要求
最低受支持的客户端 从 Windows XP 开始可用。
标头 ntddvol.h (包括 Ntddvol.h)

另请参阅

IOCTL_VOLUME_LOGICAL_TO_PHYSICAL

VOLUME_LOGICAL_OFFSET

VOLUME_PHYSICAL_OFFSET

VOLUME_PHYSICAL_OFFSETS