IOCTL_CDROM_GET_CONFIGURATION IOCTL (ntddcdrm.h)

Solicita informações de recurso e perfil de um dispositivo CD-ROM.

Os dispositivos multimídia têm características diferentes dependendo do tipo de mídia que está no dispositivo. Para fornecer aos drivers um meio de consultar dispositivos multimídia sobre essas características variadas, a especificação Multimídia SCSI – 3 (MMC-3) define um comando chamado "GET CONFIGURATION". Esse comando permite que os drivers consultem um dispositivo para obter informações permanentes sobre o dispositivo e informações que variam sempre que a mídia é alterada. No Microsoft Windows 2000 e em sistemas operacionais posteriores, os drivers podem enviar essa consulta para um dispositivo usando a solicitação IOCTL_CDROM_GET_CONFIGURATION.

A solicitação IOCTL_CDROM_GET_CONFIGURATION retorna uma lista de descritores que descrevem os recursos do dispositivo para o meio atual. Esses descritores são divididos em dois grupos chamados "descritores de recursos" e "descritores de lista de perfis". Um recurso especifica os recursos de um dispositivo e seu meio associado. Um perfil é uma coleção de recursos. Se o dispositivo der suporte a um perfil, ele oferecerá suporte a todos os recursos no perfil.

Consulte a especificação do MMC-3 para obter mais discussões sobre recursos e perfis.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

Buffer de entrada.

Comprimento do buffer de entrada

Parameters.DeviceIoControl.InputBufferLength na estrutura IO_STACK_LOCATION indica o tamanho, em bytes, do buffer de entrada, que deve ser = sizeof(GET_CONFIGURATION_IOCTL_INPUT).

Buffer de saída

O driver retorna os dados de recurso e perfil no buffer em Irp-AssociatedIrp.SystemBuffer>. Os dados começam com um cabeçalho do tipo GET_CONFIGURATION_HEADER. Os dados do recurso são relatados no espaço imediatamente após esse cabeçalho. Seu tamanho e formatação dependem de quais recursos são relatados.

Comprimento do buffer de saída

Parameters.DeviceIoControl.OutputBufferLength no local da pilha de E/S indica o tamanho, em bytes, do buffer, que deve ser >= sizeof(GET_CONFIGURATION_HEADER).

Bloco de status

O campo Informações é definido como o número de bytes retornados. O campo Status será definido como STATUS_SUCCESS se a solicitação for bem-sucedida. Se Parameters.DeviceIoControl.InputBufferLength não tiver o valor correto, a solicitação falhará com um erro de STATUS_INFO_LENGTH_MISMATCH. Se Parameters.DeviceIoControl.OutputBufferLength não for grande o suficiente, a solicitação falhará com um erro de STATUS_BUFFER_TOO_SMALL. Se o valor do buffer de saída for muito grande, a solicitação falhará em uma mensagem de STATUS_INVALID_BUFFER_SIZE.

Requisitos

Requisito Valor
Cabeçalho ntddcdrm.h (inclua Ntddcdrm.h)

Confira também

GET_CONFIGURATION_HEADER

GET_CONFIGURATION_IOCTL_INPUT