Condividi tramite


IOCTL_CDROM_GET_CONFIGURATION IOCTL (ntddcdrm.h)

Richiede informazioni sulle 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 multimedia SCSI - 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 variano ogni volta che cambia il supporto. 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 IOCTL_CDROM_GET_CONFIGURATION restituisce un elenco di descrittori che descrivono le funzionalità del dispositivo per il supporto corrente. Questi descrittori sono divisi in due gruppi denominati "descrittori di funzionalità" e "descrittori dell'elenco dei 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 informazioni sulle funzionalità e sui profili, vedere la specifica MMC-3.

Codice principale

IRP_MJ_DEVICE_CONTROL

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 successivo a questa intestazione. Le dimensioni e la formattazione dipendono dalle funzionalità segnalate.

Lunghezza del buffer di output

Parameters.DeviceIoControl.OutputBufferLength nella posizione dello stack di I/O indica le dimensioni, in byte, del buffer, che devono essere >= sizeof(GET_CONFIGURATION_HEADER).

Blocco di stato

Il campo Informazioni è impostato sul numero di byte restituiti. Il campo Stato è impostato su STATUS_SUCCESS se la richiesta ha esito positivo. Se il Parameters.DeviceIoControl.InputBufferLength non ha il valore corretto, la richiesta non riesce con un errore di STATUS_INFO_LENGTH_MISMATCH. Se Parameters.DeviceIoControl.OutputBufferLength non è sufficiente, 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 non riesce a un messaggio di STATUS_INVALID_BUFFER_SIZE.

Fabbisogno

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

Vedere anche

GET_CONFIGURATION_HEADER

GET_CONFIGURATION_IOCTL_INPUT