IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR IOCTL (sidebandaudio.h)
O driver de áudio emite o código de controle IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR para obter informações sobre um ponto de extremidade de áudio exposto por meio da interface do dispositivo de áudio de banda lateral.
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 pela IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR.
Esse é um valor ULONG de 0 para (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 de SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR seguido 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_DESCRIPTOR .
Comprimento do buffer de saída
O tamanho de uma estrutura SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR 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 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_DESCRIPTOR