IOCTL_CDROM_READ_Q_CHANNEL IOCTL (ntddcdrm.h)

現在の位置、メディア カタログ、または ISRC トラック データを返します。 現在の位置の読み取りは、Windows Vista 以降では廃止されています。

メジャー コード

IRP_MJ_DEVICE_CONTROL

[入力バッファー]

Irp-AssociatedIrp.SystemBuffer> のバッファーには、Format メンバーが次のいずれかに設定されたCDROM_SUB_Q_DATA_FORMAT構造体が含まれています。

IOCTL_CDROM_CURRENT_POSITION

IOCTL_CDROM_MEDIA_CATALOG

IOCTL_CDROM_TRACK_ISRC

Format が IOCTL_CDROM_TRACK_ISRCに設定されている場合、Track は ISRC データが要求されるトラックに設定する必要があります。

入力バッファーの長さ

I/O スタックの場所にある Parameters.DeviceIoControl.OutputBufferLength の長さは、バッファーのサイズ (バイト単位) を示します。これは、 = sizeof(SUB_Q_CHANNEL_DATA) である必要があります>。

.

出力バッファー

ドライバーは、Irp-AssociatedIrp.SystemBuffer> のバッファー内のSUB_Q_CHANNEL_DATA情報を返します。

出力バッファーの長さ

SUB_Q_CHANNEL_DATAの長さ。

ステータス ブロック

[情報] フィールドは、返されるバイト数に設定されます。 [状態] フィールドはSTATUS_SUCCESSに設定され、場合によっては、STATUS_BUFFER_TOO_SMALL、STATUS_IO_DEVICE_ERROR、STATUS_INSUFFICIENT_RESOURCES、STATUS_INVALID_DEVICE_REQUEST、STATUS_NO_MEDIA_IN_DEVICE、STATUS_DEVICE_NOT_READY、STATUS_IO_TIME_OUT、またはSTATUS_VERIFY_REQUIREDに設定されます。

注釈

Windows Vista 以降、CDROM クラス ドライバーでは、形式メンバーが IOCTL_CDROM_CURRENT_POSITION に設定された状態で、この IOCTL は使用されません。 Windows Vista より前のバージョンでは、この IOCTL は、ハードウェアでの直接オーディオ出力をサポートしていた古い CD-ROM ドライブでのオーディオ再生に使用されていました。

クライアント アプリケーションでは、この IOCTL を発行するのではなく、 メディア コントロール インターフェイス (MCI) API を使用する必要があります。

要件

要件
サポートされている最小のクライアント Windows Vista 以降は廃止されました。
Header ntddcdrm.h (Ntddcdrm.h を含む)

こちらもご覧ください

SUB_Q_CHANNEL_DATA