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 の仕様を参照してください。

メジャー コード

IRP_MJ_DEVICE_CONTROL

[入力バッファー]

入力バッファー。

入力バッファーの長さ

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 フィールドは STATUS_SUCCESS に設定されます。 Parameters.DeviceIoControl.InputBufferLength に正しい値がない場合、要求はSTATUS_INFO_LENGTH_MISMATCH エラーで失敗します。 Parameters.DeviceIoControl.OutputBufferLength が十分な大きさでない場合、要求はSTATUS_BUFFER_TOO_SMALL エラーで失敗します。 出力バッファーの値が大きすぎる場合、要求はSTATUS_INVALID_BUFFER_SIZEメッセージに失敗します。

要件

要件
Header ntddcdrm.h (Ntddcdrm.h を含む)

こちらもご覧ください

GET_CONFIGURATION_HEADER

GET_CONFIGURATION_IOCTL_INPUT