IOCTL_CDROM_READ_Q_CHANNEL IOCTL (ntddcdrm.h)
傳回目前的位置、媒體目錄或ISRC追蹤數據。 從 Windows Vista 開始,讀取目前的位置已經過時。
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 資訊。
[資訊] 字段會設定為傳回的位元元組數。 [狀態] 字段會設定為 [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) |