IOCTL_DISK_SET_DRIVE_LAYOUT_EX IOCTL (winioctl.h)
指定したドライブ レイアウトとパーティション情報データに従ってディスクをパーティション分割します。
この操作を実行するには、次のパラメーターを使用して DeviceIoControl 関数を呼び出します。 この制御コードを使用するには、ドライブへの書き込みアクセス権が必要です。
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to device
IOCTL_DISK_SET_DRIVE_LAYOUT_EX, // 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
);
解説
GUID パーティション テーブル (GPT) をCREATE_DISK構造体のPARTITION_STYLEとして指定する場合、アプリケーションは MSR パーティションの到着を待機してから、IOCTL_DISK_SET_DRIVE_LAYOUT_EX制御コードを送信する必要があります。 デバイス通知の詳細については、「 RegisterDeviceNotification」を参照してください。
拡張ブート レコード (EBR) を作成して操作する場合、EBR の最初のエントリは EBR の直後にある論理ドライブを指し、次の EBR は現在の論理ドライブの末尾の後、次の論理ドライブの開始前に存在する必要があります。
パーティションがタイプ マスター ブート レコード (MBR) としてフォーマットされたディスク上にある場合、パーティション サイズの合計は制限されます。 詳細については、 IOCTL_DISK_SET_DRIVE_LAYOUTの「解説」セクションを参照してください。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | winioctl.h (Windows.h を含む) |