CD-ROM I/O 制御コード

CD-ROM デバイスのドライバーのすべてのパブリック I/O 制御コードは、バッファー I/O を使用します。 したがって、これらの要求の入力または出力データは Irp->AssociatedIrp.SystemBuffer にあります。

CD-ROM デバイスのクラス ドライバーは、このセクションで説明されているものと共に、追加のパブリック I/O 制御コードを処理します。 記憶域クラス ドライバーの要件の詳細については、「一般的な記憶域 I/O コントロール コード」を参照してください。

I/O 制御コード 説明
IOCTL_CDROM_CHECK_VERIFY この IOCTL は、IOCTL_STORAGE_CHECK_VERIFY に置き換えられます。 2 つの IOCTL の唯一の違いは、基本値です。
IOCTL_CDROM_CLOSE_DOOR この I/O 制御コードは、IOCTL_STORAGE_LOAD_MEDIA に置き換えられました。
IOCTL_CDROM_ENABLE_STREAMING 生の読み取りと書き込みの要求に対して、ハンドルごとに CDROM ストリーミング モードを有効または無効にします。 この操作を実行するには、DeviceIoControl 関数を呼び出し、dwIoControlCode パラメーターとして IOCTL_CDROM_ENABLE_STREAMING I/O コントロール要求を指定します。
IOCTL_CDROM_EXCLUSIVE_ACCESS CD-ROM クラス ドライバーに、CD-ROM デバイスのアクセス状態をエクスポートし、CD-ROM デバイスを排他アクセス用にロックし、排他的アクセス用に CD-ROM デバイスのロックを解除するように指示します。
IOCTL_CDROM_FIND_NEW_DEVICES この IOCTL は、IOCTL_STORAGE_FIND_NEW_DEVICES に置き換えられます。 2 つの IOCTL の唯一の違いは、基本値です。
IOCTL_CDROM_GET_CONFIGURATION CD-ROM デバイスから機能とプロファイル情報を要求します。
IOCTL_CDROM_GET_DRIVE_GEOMETRY CD-ROM のジオメトリ (メディアの種類、シリンダー数、シリンダーあたりのトラック数、トラックあたりのセクター数、セクターあたりのバイト数) に関する情報を返します。
IOCTL_CDROM_GET_DRIVE_GEOMETRY_EX CD-ROM のジオメトリ (メディアの種類、シリンダー数、シリンダーあたりのトラック数、トラックあたりのセクター数、セクターあたりのバイト数) に関する情報を返します。
IOCTL_CDROM_GET_INQUIRY_DATA CD-ROM デバイスの SCSI 照会データを返します。 この IOCTL は、デバイスが IOCTL_CDROM_EXCLUSIVE_ACCESS で排他的にロックされている場合に使用できます。
IOCTL_CDROM_GET_LAST_SESSION 最初の完了したセッション番号、最後に完了したセッション番号、最後に完了したセッション開始アドレスをデバイスに照会します。
IOCTL_CDROM_GET_PERFORMANCE デバイスからサポートされている速度を取得します。 IOCTL_CDROM_GET_PERFORMANCE I/O 制御要求は、MMC コマンド GET PERFORMANCE のラッパーです。
IOCTL_CDROM_LOAD_MEDIA 突出している CDROM トレイをドライブに引き戻します。
IOCTL_CDROM_RAW_READ 生モードで CD-ROM からデータを読み取ります。
IOCTL_CDROM_READ_Q_CHANNEL 現在位置 (古い)、メディア カタログ、または ISRC 追跡データを返します。
IOCTL_CDROM_READ_TOC 廃止されています。 メディアの目次を返します。
IOCTL_CDROM_READ_TOC_EX ターゲット デバイスに対して、目次 (TOC)、プログラム メモリ領域 (PMA)、および案内溝 (ATIP) の絶対時間を照会します。
IOCTL_CDROM_SEND_OPC_INFORMATION 最初のストリーミング書き込みがプロシージャの完了を待つ必要がないように、事前に最適な電力調整 (OPC) プロシージャを実行するファイル システムやその他の実装で使用されます。
IOCTL_CDROM_SET_SPEED CD-ROM ドライブのスピンドル速度を設定します。

メディア再生コントロール

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

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

I/O 制御コード 説明
IOCTL_CDROM_GET_CONTROL 現在のオーディオ再生モードを決定します。
IOCTL_CDROM_GET_VOLUME デバイスの各オーディオ ポートの現在のボリュームを決定します。
IOCTL_CDROM_PAUSE_AUDIO オーディオ再生を中断します。
IOCTL_CDROM_PLAY_AUDIO_MSF 指定した範囲のメディアを再生します。
IOCTL_CDROM_READ_Q_CHANNEL 現在位置 (古い)、メディア カタログ、または ISRC 追跡データを返します。
IOCTL_CDROM_RESUME_AUDIO 中断されたオーディオ操作を再開します。
IOCTL_CDROM_SEEK_AUDIO_MSF メディア上の指定した MSF にヘッドを移動します。
IOCTL_CDROM_SET_VOLUME デバイスのオーディオ ポートのボリュームをリセットします。
IOCTL_CDROM_STOP_AUDIO オーディオ再生を終了します。