IOCTL_CDROM_RAW_READ IOCTL (ntddcdrm.h)
以原始模式從 CD-ROM 讀取數據。
主要程序代碼
輸入緩衝區
如果 IOCTL 來自使用者模式,Irp-AssociatedIrp.SystemBuffer> 會包含RAW_READ_INFO結構,指定讀取的起始磁碟位移、扇區計數和追蹤模式 (XA 或 CDDA) 。 Parameters.DeviceIoControl.InputBufferLength 指定結構的大小,以位元組為單位,其必須是 >= sizeof (RAW_READ_INFO) 。 Parameters.DeviceIoControl.OutputBufferLength 指定要讀取的緩衝區大小,這必須是 >= sizeof (SectorCount * RAW_SECTOR_SIZE) 。
如果 IOCTL 來自核心模式, Parameters.DeviceIoControl.Type3InputBuffer 會包含一個結構,指定讀取的起始磁碟位移、扇區計數和追蹤模式 (XA 或 CDDA) 。 Parameters.DeviceIoControl.OutputBufferLength 指定要讀取的緩衝區大小,其必須是 >= sizeof (SectorCount * RAW_SECTOR_SIZE) 。
輸入緩衝區長度
請參閱上方。
輸出緩衝區
驅動程式會使用 DMA 或 PIO) 直接將要求的位元組寫入 Irp-MdlAddress> 上 MDL 所描述的緩衝區 (。
輸出緩衝區長度
MDL 的長度。
狀態區塊
如果讀取成功,驅動程式會將 [狀態 ] 設定為 [STATUS_SUCCESS],並將 [資訊 ] 設定為已傳輸的位元組數。 如果讀取失敗,驅動程式會將 [資訊 ] 設定為零,並將 [狀態 ] 設定為 [可能STATUS_INVALID_PARAMETER]、[STATUS_INSUFFICIENT_RESOURCES] 或 [STATUS_INVALID_DEVICE_REQUEST]。
規格需求
需求 | 值 |
---|---|
標頭 | ntddcdrm.h (包含 Ntddcdrm.h) |