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
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) |