IOCTL_CDROM_GET_CONFIGURATION IOCTL (ntddcdrm.h)
Richiede informazioni sulla funzionalità e sul profilo da un dispositivo CD-ROM.
I dispositivi multimediali hanno caratteristiche diverse a seconda del tipo di supporto presente nel dispositivo. Per fornire ai driver un mezzo per eseguire query sui dispositivi multimediali su queste caratteristiche variabili, la specifica SCSI Multimedia - 3 (MMC-3) definisce un comando denominato "GET CONFIGURATION". Questo comando consente ai driver di eseguire query su un dispositivo sia per informazioni permanenti sul dispositivo che sulle informazioni che varia ogni volta che cambiano i supporti. In Microsoft Windows 2000 e versioni successive i driver possono inviare questa query a un dispositivo usando la richiesta di IOCTL_CDROM_GET_CONFIGURATION.
La richiesta di IOCTL_CDROM_GET_CONFIGURATION restituisce un elenco di descrittori che descrivono le funzionalità del dispositivo per il supporto corrente. Questi descrittori sono suddivisi in due gruppi denominati "descrittori di funzionalità" e "descrittori dell'elenco di profili". Una funzionalità specifica le funzionalità di un dispositivo e il relativo supporto associato. Un profilo è una raccolta di funzionalità. Se il dispositivo supporta un profilo, supporta tutte le funzionalità del profilo.
Per altre discussioni sulle funzionalità e sui profili, vedere la specifica MMC-3 .
Codice principale
Buffer di input
Buffer di input.
Lunghezza del buffer di input
Parameters.DeviceIoControl.InputBufferLength nella struttura IO_STACK_LOCATION indica le dimensioni, in byte, del buffer di input, che deve essere = sizeof(GET_CONFIGURATION_IOCTL_INPUT).
Buffer di output
Il driver restituisce i dati della funzionalità e del profilo nel buffer in Irp-AssociatedIrp.SystemBuffer>. I dati iniziano con un'intestazione di tipo GET_CONFIGURATION_HEADER. I dati delle funzionalità vengono segnalati nello spazio immediatamente dopo questa intestazione. Le dimensioni e la formattazione dipendono dalle funzionalità segnalate.
Lunghezza del buffer di output
Parameters.DeviceIoControl.OutputBufferLength nella posizione dello stack I/O indica le dimensioni, in byte, del buffer, che deve essere >= sizeof(GET_CONFIGURATION_HEADER).
Blocco dello stato
Il campo Informazioni è impostato sul numero di byte restituiti. Il campo Stato è impostato su STATUS_SUCCESS se la richiesta ha esito positivo. Se parameters.DeviceIoControl.InputBufferLength non ha il valore corretto, la richiesta ha esito negativo con un errore di STATUS_INFO_LENGTH_MISMATCH. Se Parameters.DeviceIoControl.OutputBufferLength non è abbastanza grande, la richiesta ha esito negativo con un errore di STATUS_BUFFER_TOO_SMALL. Se il valore per il buffer di output è troppo grande, la richiesta ha esito negativo su un messaggio di STATUS_INVALID_BUFFER_SIZE.
Requisiti
Requisito | Valore |
---|---|
Intestazione | ntddcdrm.h (include Ntddcdrm.h) |