Compartilhar via


IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR IOCTL (sidebandaudio.h)

O driver de áudio emite o IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR para obter informações sobre uma interface de dispositivo de áudio de banda lateral habilitada. Especificamente, isso retorna o número de pontos de extremidade de áudio disponíveis em um dispositivo que dá suporte a Sideband. Essas informações são retornadas em uma estrutura de descritor de dispositivo de áudio.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

NULL.

Comprimento do buffer de entrada

Buffer de saída

Um buffer que contém uma estrutura de SIDEBANDAUDIO_DEVICE_DESCRIPTOR .

Comprimento do buffer de saída

O tamanho de uma estrutura SIDEBANDAUDIO_DEVICE_DESCRIPTOR .

Bloco de status

Se a rotina for bem-sucedida, Status será definido como STATUS_SUCCESS e o membro Informações será o número de bytes que a rotina grava no buffer de saída.

Se Status estiver definido como STATUS_BUFFER_TOO_SMALL, o driver de áudio deverá ler o membro Informações para obter o tamanho do buffer que o chamador deve alocar para essa solicitação.

Comentários

Esse IOCTL só pode ser chamado do modo kernel.

O driver de áudio envia essa solicitação para obter informações sobre uma interface de dispositivo de sideband de áudio habilitada. As informações não são alteradas enquanto a interface está habilitada, mas podem ser alteradas enquanto a interface está desabilitada. O driver de áudio envia essa solicitação logo após descobrir uma interface de dispositivo de áudio de banda lateral habilitada e usa as informações para determinar quantos pontos de extremidade de áudio de sideband estão disponíveis.

O driver de áudio envia essa solicitação uma vez com um tamanho de buffer de saída zero (0) para determinar o tamanho do buffer de saída necessário. Nesse caso, a solicitação será concluída com Status STATUS_BUFFER_TOO_SMALL e definirá o membro Informações para o tamanho do buffer necessário. Em seguida, o driver de áudio aloca o espaço de armazenamento necessário e envia a solicitação novamente. Normalmente, um driver de áudio armazenará um ponteiro para esse local de armazenamento em seu contexto de dispositivo para referência durante a atividade posterior.

Em seguida, o driver de áudio pode determinar iterativamente cada funcionalidade de pontos de extremidade com o IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR IOCTL.

Requisitos

Requisito Valor
Cabeçalho sidebandaudio.h

Confira também

sidebandaudio.h

Introdução aos códigos de controle de E/S