Partilhar via


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 perfil". 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 de do MMC-3 para 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 o recurso e os dados de perfil no buffer em >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 de Status do será definido como STATUS_SUCCESS se a solicitação for bem-sucedida. Se o Parameters.DeviceIoControl.InputBufferLength não tiver o valor correto, a solicitação falhará com um erro 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á STATUS_INVALID_BUFFER_SIZE mensagem.

Requisitos

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

Consulte também

GET_CONFIGURATION_HEADER

GET_CONFIGURATION_IOCTL_INPUT