IOCTL_CDROM_READ_Q_CHANNEL IOCTL (ntddcdrm.h)

傳回目前的位置、媒體目錄或ISRC追蹤數據。 從 Windows Vista 開始,讀取目前的位置已經過時。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

Irp->AssociatedIrp.SystemBuffer 的緩衝區包含一個 CDROM_SUB_Q_DATA_FORMAT 結構,其中 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 與格式成員設定為 IOCTL_CDROM_CURRENT_POSITION。 在 Windows Vista 之前,此 IOCTL 用於舊版 CD-ROM 磁碟驅動器上的音訊播放,這些磁碟驅動器支持硬體中的直接音訊輸出。

用戶端應用程式應該使用 媒體控制介面 (MCI) API,而不是發出此 IOCTL。

要求

要求 價值
最低支援的用戶端 已過時,從 Windows Vista 開始。
標頭 ntddcdrm.h (包括 Ntddcdrm.h)

另請參閱

SUB_Q_CHANNEL_DATA