次の方法で共有


IOCTL_DISK_CREATE_DISK IOCTL (ntdddisk.h)

デバイス オブジェクトの空のパーティションを作成します。 EFI ディスクまたは MBR ディスクで動作できます。 空のディスクを作成するために必要なパラメーターは、ディスクに配置されるパーティション テーブルの種類によって異なります。 詳細については、CREATE_DISKを参照してください。

ディスク ドライバーでは、パーティションが子デバイスであるかのように列挙されます。 したがって、新しいパーティションを作成すると、ディスク クラス ドライバーは、ディスク デバイスに新しい子デバイス (パーティション) があることを IoInvalidateDeviceRelations への呼び出しによって PnP マネージャーに通知します。

メジャー コード

IRP_MJ_DEVICE_CONTROL

入力バッファー

Irp->AssociatedIrp.SystemBuffer にあるバッファーには、CREATE_DISK データが含まれています。

入力バッファーの長さ

IRP の I/O スタック位置の Parameters.DeviceIoControl.InputBufferLength は、ドライバーで使用できるバッファーのサイズ (バイト単位) を示します。これは、>= sizeof(CREATE_DISK) である必要があります。 それ以外の場合、ドライバーはエラー状態が STATUS_INFO_LENGTH_MISMATCH で返されます。

出力バッファー

何一つ。

出力バッファーの長さ

何一つ。

状態ブロック

情報 フィールドは 0 に設定されます。 状態 フィールドは、操作が成功した場合にSTATUS_SUCCESSに設定されます。 その他の使用可能な状態値は、要求されたパーティション スタイルがサポートされていない場合にSTATUS_NOT_SUPPORTEDします。クラス ドライバーがディスク ジオメトリを取得できなかった場合にSTATUS_DEVICE_NOT_READYします。クラス ドライバーがヒープ メモリなどの必要なリソースを取得できなかった場合にSTATUS_INSUFFICIENT_RESOURCESします。

必要条件

要件 価値
ヘッダー ntdddisk.h (Ntdddisk.h を含む)

関連項目

CREATE_DISK