Partager via


structure HDAUDIO_BUS_INTERFACE_BDL (hdaudio.h)

La structure HDAUDIO_BUS_INTERFACE_BDL spécifie les informations requises par un client pour appeler les routines dans la version HDAUDIO_BUS_INTERFACE_BDL de HD Audio DDI. 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

La IRP_MN_QUERY_INTERFACE IOCTL utilise cette structure pour fournir des informations sur l’interface à un client qui interroge le pilote de bus HD Audio pour hd audio DDI. 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, SetupDmaEngineWithBdlet 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, InterfaceReferenceet InterfaceDereference) sont les mêmes que dans la structure interface. Les membres restants sont spécifiques à la DDI audio HD étendue et spécifient des pointeurs de fonction vers les routines dans la DDI. Pour plus d’informations, consultez Obtention d’un objet DDI HDAUDIO_BUS_INTERFACE_BDL.

Exigences

Exigence Valeur
d’en-tête hdaudio.h (include Hdaudio.h)

Voir aussi

AllocateCaptureDmaEngine

AllocateContiguousDmaBuffer

AllocateRenderDmaEngine

ChangeBandwidthAllocation

FreeContiguousDmaBuffer

FreeDmaEngine

GetLinkPositionRegister

GetResourceInformation

GetWallClockRegister

HDAUDIO_BUS_INTERFACE

RegisterEventCallback

SetDmaEngineState

SetupDmaEngineWithBdl

TransferCodecVerbs

UnregisterEventCallback