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