struttura HDAUDIO_BUS_INTERFACE (hdaudio.h)
La struttura HDAUDIO_BUS_INTERFACE specifica le informazioni richieste da un client per chiamare le routine nella versione HDAUDIO_BUS_INTERFACE di HD Audio DDI. Un'altra variante di questa DDI viene specificata dalla struttura HDAUDIO_BUS_INTERFACE_BDL .
Sintassi
typedef struct _HDAUDIO_BUS_INTERFACE {
USHORT Size;
USHORT Version;
PVOID Context;
PINTERFACE_REFERENCE InterfaceReference;
PINTERFACE_DEREFERENCE InterfaceDereference;
PTRANSFER_CODEC_VERBS TransferCodecVerbs;
PALLOCATE_CAPTURE_DMA_ENGINE AllocateCaptureDmaEngine;
PALLOCATE_RENDER_DMA_ENGINE AllocateRenderDmaEngine;
PCHANGE_BANDWIDTH_ALLOCATION ChangeBandwidthAllocation;
PALLOCATE_DMA_BUFFER AllocateDmaBuffer;
PFREE_DMA_BUFFER FreeDmaBuffer;
PFREE_DMA_ENGINE FreeDmaEngine;
PSET_DMA_ENGINE_STATE SetDmaEngineState;
PGET_WALL_CLOCK_REGISTER GetWallClockRegister;
PGET_LINK_POSITION_REGISTER GetLinkPositionRegister;
PREGISTER_EVENT_CALLBACK RegisterEventCallback;
PUNREGISTER_EVENT_CALLBACK UnregisterEventCallback;
PGET_DEVICE_INFORMATION GetDeviceInformation;
PGET_RESOURCE_INFORMATION GetResourceInformation;
} HDAUDIO_BUS_INTERFACE, *PHDAUDIO_BUS_INTERFACE;
Members
Size
Specifica le dimensioni in byte della struttura HDAUDIO_BUS_INTERFACE.
Version
Specifica la versione della DDI audio HD di base.
Context
Puntatore a informazioni di contesto specifiche dell'interfaccia.
InterfaceReference
Puntatore a una routine fornita dal driver che incrementa il conteggio dei riferimenti dell'interfaccia.
InterfaceDereference
Puntatore a una routine fornita dal driver che decrementa il conteggio dei riferimenti dell'interfaccia.
TransferCodecVerbs
Puntatore a funzione alla routine TransferCodecVerbs .
AllocateCaptureDmaEngine
Puntatore a funzione alla routine AllocateCaptureDmaEngine .
AllocateRenderDmaEngine
Puntatore a funzione alla routine AllocateRenderDmaEngine .
ChangeBandwidthAllocation
Puntatore a funzione alla routine ChangeBandwidthAllocation .
AllocateDmaBuffer
Puntatore a funzione alla routine AllocateDmaBuffer .
FreeDmaBuffer
Puntatore a funzione alla routine FreeDmaBuffer .
FreeDmaEngine
Puntatore a funzione alla routine FreeDmaEngine .
SetDmaEngineState
Puntatore a funzione alla routine SetDmaEngineState .
GetWallClockRegister
Puntatore a funzione alla routine GetWallClockRegister .
GetLinkPositionRegister
Puntatore di funzione alla routine GetLinkPositionRegister .
RegisterEventCallback
Puntatore a funzione alla routine RegisterEventCallback .
UnregisterEventCallback
Puntatore di funzione alla routine UnregisterEventCallback .
GetDeviceInformation
Puntatore a funzione alla routine GetDeviceInformation .
GetResourceInformation
Puntatore a funzione alla routine GetResourceInformation .
Commenti
Il IRP_MN_QUERY_INTERFACE IOCTL usa questa struttura per fornire informazioni sull'interfaccia a un client che esegue una query sul driver del bus audio HD per l'HD Audio DDI. Un'altra variante di questa DDI viene specificata dalla struttura HDAUDIO_BUS_INTERFACE_BDL.
Le strutture HDAUDIO_BUS_INTERFACE e HDAUDIO_BUS_INTERFACE_BDL sono simili, ma presentano le differenze seguenti:
- HDAUDIO_BUS_INTERFACE ha due membri, AllocateDmaBuffer e FreeDmaBuffer, che non sono presenti in HDAUDIO_BUS_INTERFACE_BDL.
- HDAUDIO_BUS_INTERFACE_BDL ha tre membri, AllocateContiguousDmaBuffer, FreeContiguousDmaBuffer e SetupDmaEngineWithBdl, che non sono presenti in HDAUDIO_BUS_INTERFACE.
I nomi e le definizioni dei primi cinque membri (Size, Version, Context, InterfaceReference e InterfaceDereference) sono gli stessi della struttura INTERFACE . I membri rimanenti sono specifici della baseline HD Audio DDI e specificano i puntatori di funzione alle routine nell'DDI. Per altre informazioni, vedere Recupero di un oggetto DDI HDAUDIO_BUS_INTERFACE.
Requisiti
Requisito | Valore |
---|---|
Intestazione | hdaudio.h (include Hdaudio.h) |