Recupero di un oggetto DDI HDAUDIO_BUS_INTERFACE_BDL

Come illustrato in precedenza, il driver di funzione per un codec audio o modem ottiene un riferimento conteggiato a un oggetto con un DDI audio HD inviando un IRP_MN_QUERY_INTERFACE IOCTL al driver del bus audio HD.

Nella tabella seguente vengono illustrati i valori dei parametri di input scritti dal driver di funzione in IOCTL per ottenere una struttura HDAUDIO_BUS_INTERFACE_BDL e un oggetto di contesto per la versione di HD Audio DDI definita da questa struttura.

Parametro Valore

GUID CONST *InterfaceType

GUID_HDAUDIO_BUS_INTERFACE_BDL

Dimensioni USHORT

sizeof(HDAUDIO_BUS_INTERFACE_BDL)

Versione di USHORT

0x0100

Interfaccia PINTERFACE

Puntatore alla struttura HDAUDIO_BUS_INTERFACE_BDL

Interfaccia PVOIDSpecificData

NULL

Il driver di funzione alloca l'archiviazione per la struttura HDAUDIO_BUS_INTERFACE_BDL e include un puntatore a questa struttura in IOCTL. Nella tabella precedente il puntatore alla struttura HDAUDIO_BUS_INTERFACE_BDL viene eseguito il cast per digitare PINTERFACE, ovvero un puntatore a una struttura di tipo INTERFACE. I nomi e i tipi dei primi cinque membri di HDAUDIO_BUS_INTERFACE_BDL corrispondono a quelli dei cinque membri di INTERFACE. HDAUDIO_BUS_INTERFACE_BDL contiene membri aggiuntivi che sono puntatori di funzione alle routine DDI. In risposta alla ricezione dell'IOCTL dal driver di funzione, il driver del bus audio HD riempie l'intera struttura HDAUDIO_BUS_INTERFACE_BDL .

Nella tabella seguente vengono illustrati i valori scritti dal driver del bus audio HD nei primi cinque membri della struttura HDAUDIO_BUS_INTERFACE_BDL .

Membro Valore

Dimensioni USHORT

sizeof(HDAUDIO_BUS_INTERFACE_BDL)

Versione di USHORT

0x0100

Contesto PVOID

Informazioni sul contesto che devono essere passate come primo parametro di chiamata a ogni routine DDI

PINTERFACE_REFERENCE InterfaceReference

Puntatore a una routine che incrementa il conteggio dei riferimenti dell'oggetto contesto

PINTERFACE_DEREFERENCE InterfaceDereference

Puntatore a una routine che decrementa il conteggio dei riferimenti dell'oggetto contesto

Nella tabella precedente il membro Context punta a un oggetto contesto che contiene informazioni specifiche dell'istanza specifica della versione HDAUDIO_BUS_INTERFACE_BDL dell'DDI ottenuta dal client dall'IOCTL. Come illustrato in precedenza, quando si chiama una delle routine nella DDI, il driver di funzione client deve sempre specificare il valore del puntatore di contesto come primo parametro di chiamata.