IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR2 IOCTL (sidebandaudio.h)
O driver de áudio emite o código de controle IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR2 para obter informações sobre um ponto de extremidade de áudio exposto por meio da interface do dispositivo de áudio sideband. A versão 2 deste IOCTL permite que o driver do controlador forneça propriedades de dispositivo personalizadas para adicionar à interface do dispositivo de áudio.
Código principal
Buffer de entrada
Um valor de índice de ponto de extremidade baseado em 0 com base no número de pontos de extremidade de áudio, conforme relatado pelo IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR.
Esse é um valor ULONG de 0 a (N-1) em que N é o número de pontos de extremidade para o dispositivo.
Comprimento do buffer de entrada
Tamanho do ULONG.
Buffer de saída
Um buffer que contém uma estrutura SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR2 seguida por quaisquer outros dados referenciados pela estrutura. Isso será retornado, se o tamanho do buffer de saída for suficiente e a solicitação for bem-sucedida. Em particular, o buffer inclui armazenamento para a cadeia de caracteres referenciada pelo campo FriendlyName da estrutura SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR2 .
Comprimento do buffer de saída
O tamanho de uma estrutura SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR2 e dados referenciados.
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 um ponto de extremidade de sideband de áudio habilitado. As informações não são alteradas enquanto a interface está habilitada, mas podem ser alteradas enquanto a interface está desabilitada. Portanto, o driver de áudio envia essa solicitação logo após descobrir uma interface de dispositivo habilitada e usa as informações para criar uma estrutura de KSFILTER_DESCRIPTOR apropriada.
O driver de áudio envia essa solicitação uma vez com um tamanho de buffer de saída de 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.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | sidebandaudio.h |
Confira também
SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR2