检索有关磁盘分区的类型、大小和性质的扩展信息。
若要执行此操作,请使用以下参数调用 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) |