IOCTL_DISK_GET_DRIVE_LAYOUT IOCTL (ntdddisk.h)

返回有关磁盘上每个分区的分区数、磁盘签名和功能的信息。 (软盘驱动程序不需要处理此请求。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

没有。

输入缓冲区长度

没有。

输出缓冲区

驱动程序在 Irp->AssociatedIrp.SystemBuffer处返回缓冲区中的 DRIVE_LAYOUT_INFORMATION 数据。

输出缓冲区长度

IRP 的 I/O 堆栈位置中的 Parameters.DeviceIoControl.OutputBufferLength 指示缓冲区的大小(以字节为单位),缓冲区的大小必须为 >= sizeof(DRIVE_LAYOUT_INFORMATION)。 请注意,此结构包含 PARTITION_INFORMATION 元素的可变大小数组。

状态块

信息 字段设置为返回的数据的大小(以字节为单位)。 状态 字段可以设置为STATUS_SUCCESS,也可以设置为STATUS_DEVICE_OFF_LINE、STATUS_INFO_LENGTH_MISMATCH、STATUS_INSUFFICIENT_RESOURCES或STATUS_BUFFER_TOO_SMALL。

要求

要求 价值
标头 ntdddisk.h (包括 Ntdddisk.h)

另请参阅

DRIVE_LAYOUT_INFORMATION

PARTITION_INFORMATION