Condividi tramite


IOCTL_CDROM_RAW_READ IOCTL (ntddcdrm.h)

Legge i dati dal CD-ROM in modalità non elaborata.

Codice principale

IRP_MJ_DEVICE_CONTROL

Buffer di input

Se IOCTL proviene dalla modalità utente, Irp->AssociatedIrp.SystemBuffer contiene una struttura RAW_READ_INFO che specifica l'offset del disco iniziale, il conteggio dei settori e la modalità di traccia (XA o CDDA) per la lettura. Parameters.DeviceIoControl.InputBufferLength specifica le dimensioni, in byte, della struttura, che devono essere >= sizeof(RAW_READ_INFO). Parameters.DeviceIoControl.OutputBufferLength specifica le dimensioni del buffer da leggere, che devono essere >= sizeof(SectorCount * RAW_SECTOR_SIZE).

Se IOCTL proviene dalla modalità kernel, Parameters.DeviceIoControl.Type3InputBuffer contiene una struttura che specifica l'offset del disco iniziale, il conteggio dei settori e la modalità di traccia (XA o CDDA) per la lettura. Parameters.DeviceIoControl.OutputBufferLength specifica le dimensioni del buffer, in byte, da leggere, che devono essere >= sizeof(SectorCount * RAW_SECTOR_SIZE).

Lunghezza del buffer di input

Vedere sopra.

Buffer di output

Il driver scrive i byte richiesti direttamente (usando DMA o PIO) nel buffer descritto dal file MDL in Irp->MdlAddress.

Lunghezza del buffer di output

Lunghezza di un file MDL.

Blocco di stato

Se la lettura ha esito positivo, il driver imposta Stato su STATUS_SUCCESS e Informazioni sul numero di byte trasferiti. Se la lettura non riesce, il driver imposta Information su zero e Status possibilmente STATUS_INVALID_PARAMETER, STATUS_INSUFFICIENT_RESOURCES o STATUS_INVALID_DEVICE_REQUEST.

Fabbisogno

Requisito Valore
intestazione ntddcdrm.h (include Ntddcdrm.h)

Vedere anche

RAW_READ_INFO