IOCTL_CDROM_RAW_READ IOCTL (ntddcdrm.h)
Legge i dati dal CD-ROM in modalità non elaborata.
Codice principale
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) |