structure HDAUDIO_BUS_INTERFACE_BDL (hdaudio.h)

La structure de HDAUDIO_BUS_INTERFACE_BDL spécifie les informations dont un client a besoin pour appeler les routines dans la version HDAUDIO_BUS_INTERFACE_BDL du DDI audio HD. Une autre variante de cette DDI est spécifiée par la structure HDAUDIO_BUS_INTERFACE .

Syntaxe

typedef struct _HDAUDIO_BUS_INTERFACE_BDL {
  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_CONTIGUOUS_DMA_BUFFER AllocateContiguousDmaBuffer;
  PSETUP_DMA_ENGINE_WITH_BDL      SetupDmaEngineWithBdl;
  PFREE_CONTIGUOUS_DMA_BUFFER     FreeContiguousDmaBuffer;
  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_BDL, *PHDAUDIO_BUS_INTERFACE_BDL;

Membres

Size

Spécifie la taille en octets de la structure HDAUDIO_BUS_INTERFACE_BDL.

Version

Spécifie la version du DDI audio HD étendu.

Context

Pointeur vers des informations de contexte spécifiques à l’interface.

InterfaceReference

Pointeur vers une routine fournie par le pilote qui incrémente le nombre de références de l’interface.

InterfaceDereference

Pointeur vers une routine fournie par le pilote qui décrémente le nombre de références de l’interface.

TransferCodecVerbs

Pointeur de fonction vers la routine TransferCodecVerbs .

AllocateCaptureDmaEngine

Pointeur de fonction vers la routine AllocateCaptureDmaEngine .

AllocateRenderDmaEngine

Pointeur de fonction vers la routine AllocateRenderDmaEngine .

ChangeBandwidthAllocation

Pointeur de fonction vers la routine ChangeBandwidthAllocation .

AllocateContiguousDmaBuffer

Pointeur de fonction vers la routine AllocateContiguousDmaBuffer .

SetupDmaEngineWithBdl

Pointeur de fonction vers la routine SetupDmaEngineWithBdl .

FreeContiguousDmaBuffer

Pointeur de fonction vers la routine FreeContiguousDmaBuffer .

FreeDmaEngine

Pointeur de fonction vers la routine FreeDmaEngine .

SetDmaEngineState

Pointeur de fonction vers la routine SetDmaEngineState .

GetWallClockRegister

Pointeur de fonction vers la routine GetWallClockRegister .

GetLinkPositionRegister

Pointeur de fonction vers la routine GetLinkPositionRegister .

RegisterEventCallback

Pointeur de fonction vers la routine RegisterEventCallback .

UnregisterEventCallback

Pointeur de fonction vers la routine UnregisterEventCallback .

GetDeviceInformation

Pointeur de fonction vers la routine GetDeviceInformation .

GetResourceInformation

Pointeur de fonction vers la routine GetResourceInformation .

Remarques

Le IRP_MN_QUERY_INTERFACE IOCTL utilise cette structure pour fournir des informations d’interface à un client qui interroge le pilote de bus Audio HD pour le DDI Audio HD. Une autre variante de cette DDI est spécifiée par la structure HDAUDIO_BUS_INTERFACE.

Les structures HDAUDIO_BUS_INTERFACE_BDL et HDAUDIO_BUS_INTERFACE sont similaires, mais présentent les différences suivantes :

  • HDAUDIO_BUS_INTERFACE_BDL a trois membres, AllocateContiguousDmaBuffer, SetupDmaEngineWithBdl et FreeContiguousDmaBuffer, qui ne sont pas présents dans HDAUDIO_BUS_INTERFACE.
  • HDAUDIO_BUS_INTERFACE a deux membres, AllocateDmaBuffer et FreeDmaBuffer, qui ne sont pas présents dans HDAUDIO_BUS_INTERFACE_BDL.
Pour plus d’informations, consultez Différences entre les versions DDI audio HD.

Les noms et définitions des cinq premiers membres (Size, Version, Context, InterfaceReference et InterfaceDereference) sont les mêmes que dans la structure INTERFACE . Les autres membres sont spécifiques à la DDI audio HD étendue et spécifient des pointeurs de fonction vers les routines dans le DDI. Pour plus d’informations, consultez Obtention d’un objet DDI HDAUDIO_BUS_INTERFACE_BDL.

Configuration requise

Condition requise Valeur
En-tête hdaudio.h (inclure Hdaudio.h)

Voir aussi

AllocateCaptureDmaEngine

AllocateContiguousDmaBuffer

AllocateRenderDmaEngine

ChangeBandwidthAllocation

FreeContiguousDmaBuffer

FreeDmaEngine

GetLinkPositionRegister

GetResourceInformation

GetWallClockRegister

HDAUDIO_BUS_INTERFACE

RegisterEventCallback

SetDmaEngineState

SetupDmaEngineWithBdl

TransferCodecVerbs

DésinscrireEventCallback