Compartilhar via


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

IRP_MJ_DEVICE_CONTROL

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.

Nota Isso pode ser maior do que o tamanho da estrutura de SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR , pois o buffer de saída pode conter outros dados referenciados pela estrutura

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

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

sidebandaudio.h