IOCTL_CDROM_GET_CONFIGURATION IOCTL (ntddcdrm.h)
CD-ROM デバイスから機能とプロファイル情報を要求します。
マルチメディア デバイスは、デバイス内のメディアの種類によって異なる特性を持っています。 これらのさまざまな特性についてマルチメディア デバイスに対してクエリを実行する手段をドライバーに提供するために、SCSI マルチメディア - 3 (MMC-3) 仕様では、"GET CONFIGURATION" というコマンドが定義されています。このコマンドを使用すると、ドライバーは、デバイスに関する永続的な情報とメディアが変更されるたびに変化する情報の両方について、デバイスに対してクエリを実行できます。 Microsoft Windows 2000 以降のオペレーティング システムでは、ドライバーは、IOCTL_CDROM_GET_CONFIGURATION要求を使用してデバイスにこのクエリを送信できます。
IOCTL_CDROM_GET_CONFIGURATION要求は、現在のメディアのデバイスの機能を記述する記述子の一覧を返します。 これらの記述子は、"機能記述子" と "プロファイル リスト記述子" という 2 つのグループに分かれています。機能は、デバイスとその関連するメディアの機能を指定します。 プロファイルは、機能のコレクションです。 デバイスがプロファイルをサポートしている場合は、プロファイル内のすべての機能がサポートされます。
機能とプロファイルに関する詳細な説明については、MMC-3 の仕様 を参照してください。
メジャー コード
入力バッファー
入力バッファー。
入力バッファーの長さ
IO_STACK_LOCATION構造体の parameters.DeviceIoControl.InputBufferLength は、入力バッファーのサイズ (バイト単位) を示します。これは、の sizeof (GET_CONFIGURATION_IOCTL_INPUT)する必要があります。
出力バッファー
ドライバーは、Irp->AssociatedIrp.SystemBuffer バッファー内の機能とプロファイル データを返します。 データは、GET_CONFIGURATION_HEADER型のヘッダーで始まります。 機能データは、このヘッダーの直後の領域で報告されます。 そのサイズと書式設定は、報告される機能によって異なります。
出力バッファーの長さ
I/O スタックの場所 Parameters.DeviceIoControl.OutputBufferLength は、バッファーのサイズをバイト単位で示します。バッファーのサイズは、の sizeof (GET_CONFIGURATION_HEADER) >=である必要があります。
状態ブロック
情報 フィールドは、返されるバイト数に設定されます。 状態 フィールドは、要求が成功した場合にSTATUS_SUCCESSに設定されます。 Parameters.DeviceIoControl.InputBufferLength に正しい値がない場合、要求はSTATUS_INFO_LENGTH_MISMATCH エラーで失敗します。 Parameters.DeviceIoControl.OutputBufferLength 十分な大きさでない場合、要求はSTATUS_BUFFER_TOO_SMALL エラーで失敗します。 出力バッファーの値が大きすぎる場合、要求はSTATUS_INVALID_BUFFER_SIZEメッセージに失敗します。
必要条件
要件 | 価値 |
---|---|
ヘッダー | ntddcdrm.h (Ntddcdrm.h を含む) |