IOCTL_DISK_GET_PARTITION_INFO_EX IOCTL (winioctl.h)
检索有关磁盘分区的类型、大小和性质的扩展信息。
若要执行此操作,请使用以下参数调用 DeviceIoControl 函数。
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to a partition
IOCTL_DISK_GET_PARTITION_INFO_EX, // dwIoControlCode
NULL, // lpInBuffer
0, // nInBufferSize
(LPVOID) lpOutBuffer, // output buffer
(DWORD) nOutBufferSize, // size of output buffer
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);
注解
基本磁盘支持 IOCTL_DISK_GET_PARTITION_INFO_EX 控制代码。 仅在启动磁盘或系统磁盘或分区表中保留条目的动态磁盘上受支持。 DiskPart.exe 命令 RETAIN 可用于为其他动态简单分区执行此操作。
磁盘支持可以汇总如下。
磁盘类型 | IOCTL_DISK_GET_PARTITION_INFO | IOCTL_DISK_GET_PARTITION_INFO_EX |
---|---|---|
基本主启动记录 (MBR) | 是 | 是 |
GPT) (基本 GUID 分区表 | 否 | 是 |
动态 MBR 启动/系统 | 是 | 是 |
动态 MBR 数据 | 是 | 否 |
动态 GPT 启动/系统 | 否 | 是 |
动态 GPT 数据 | 否 | 否 |
目前,GPT 仅在 64 位系统上受支持。
如果分区位于格式化为类型主启动记录 (MBR) 的磁盘上,则分区大小总计将受到限制。 有关详细信息,请参阅 IOCTL_DISK_SET_DRIVE_LAYOUT 的“备注”部分。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | winioctl.h (包括 Windows.h) |