Condividi tramite


IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR IOCTL (sidebandaudio.h)

Il driver audio rilascia il codice di controllo IOCTL_SBAUD_GET_ENDPOINT_DESCRIPTOR per ottenere informazioni su un endpoint audio esposto tramite l'interfaccia del dispositivo audio sideband.

Codice principale

IRP_MJ_DEVICE_CONTROL

Buffer di input

Valore dell'indice dell'endpoint basato su 0 in base al numero di endpoint audio come segnalato dal IOCTL_SBAUD_GET_DEVICE_DESCRIPTOR.

Si tratta di un valore ULONG compreso tra 0 e (N-1), dove N è il numero di endpoint per il dispositivo.

Lunghezza del buffer di input

Dimensioni di ULONG.

Buffer di output

Buffer contenente una struttura SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR seguita da tutti gli altri dati a cui fa riferimento la struttura. Questo viene restituito, se la dimensione del buffer di output è sufficiente e la richiesta ha esito positivo. In particolare, il buffer include l'archiviazione per la stringa a cui fa riferimento il campo FriendlyName della struttura SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR.

Lunghezza del buffer di output

Dimensioni di una struttura di SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR e dati a cui si fa riferimento.

Blocco di stato

Se la routine ha esito positivo, status viene impostato su STATUS_SUCCESS e il membro Information è il numero di byte che la routine scrive nel buffer di output.

Nota Può essere maggiore della dimensione della struttura SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR, perché il buffer di output può contenere altri dati a cui fa riferimento la struttura

Se Status è impostato su STATUS_BUFFER_TOO_SMALL, il driver audio deve leggere il membro Information per ottenere le dimensioni del buffer che il chiamante deve allocare per questa richiesta.

Osservazioni

Questo IOCTL può essere chiamato solo dalla modalità kernel.

Il driver audio invia questa richiesta per ottenere informazioni su un endpoint audio sideband abilitato. Le informazioni non cambiano mentre l'interfaccia è abilitata, ma possono cambiare mentre l'interfaccia è disabilitata. Pertanto, il driver audio invia questa richiesta poco dopo l'individuazione di un'interfaccia del dispositivo abilitata e usa le informazioni per creare una struttura di KSFILTER_DESCRIPTOR appropriata.

Il driver audio invia questa richiesta una volta con una dimensione del buffer di output pari a zero (0) per determinare le dimensioni necessarie del buffer di output. In questo caso, la richiesta verrà completata con status STATUS_BUFFER_TOO_SMALL e imposta il membro information sulla dimensione del buffer richiesta. Il driver audio alloca quindi lo spazio di archiviazione necessario e invia nuovamente la richiesta.

Fabbisogno

Requisito Valore
intestazione sidebandaudio.h

Vedere anche

SIDEBANDAUDIO_ENDPOINT_DESCRIPTOR

Introduzione ai codici di controllo di I/O

sidebandaudio.h