IOCTL_DISK_SET_DRIVE_LAYOUT IOCTL (winioctl.h)

根据驱动器布局和分区信息数据的指定对磁盘进行分区。

若要执行此操作,请使用下面指定的参数调用 DeviceIoControl 函数。

注意

IOCTL_DISK_SET_DRIVE_LAYOUT 已被 IOCTL_DISK_SET_DRIVE_LAYOUT_EX取代,后者检索 AT 和 EFI (可扩展固件接口) 分区的布局信息。

若要执行此操作,请使用以下参数调用 DeviceIoControl 函数。 必须对驱动器具有写入访问权限才能使用此控制代码。

BOOL DeviceIoControl(
  (HANDLE) hDevice,             // handle to device
  IOCTL_DISK_SET_DRIVE_LAYOUT,  // dwIoControlCode
  (LPVOID) lpInBuffer,          // input buffer
  (DWORD) nInBufferSize,        // size of input buffer
  NULL,                         // lpOutBuffer
  0,                            // nOutBufferSize
  (LPDWORD) lpBytesReturned,    // number of bytes returned
  (LPOVERLAPPED) lpOverlapped   // OVERLAPPED structure
);

注解

如果分区位于格式化为类型主启动记录 (MBR) 的磁盘上,则每个 MBR 磁盘的分区大小总计不能超过 2 TB。 例如,MBR 类型的磁盘可以有一个 2-TB 分区、两个 1 TB 分区,或者任何总计不超过 2 TB 的组合。 如果需要更多空间,则应使用格式化为 GUID 分区表类型 (GPT) 的磁盘。 如果使用第三方分区工具在 MBR 类型大于 2 TB 的磁盘上绕过此限制,则通过磁盘分区 IOCTL 控制代码的配置操作将受到限制。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 winioctl.h (包括 Windows.h)

另请参阅