Share via


estructura HDAUDIO_BUS_INTERFACE_BDL (hdaudio.h)

La estructura HDAUDIO_BUS_INTERFACE_BDL especifica la información que un cliente necesita para llamar a las rutinas de la versión HDAUDIO_BUS_INTERFACE_BDL de la DDI de audio HD. La estructura HDAUDIO_BUS_INTERFACE especifica otra variante de este DDI.

Sintaxis

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;

Miembros

Size

Especifica el tamaño en bytes de la estructura HDAUDIO_BUS_INTERFACE_BDL.

Version

Especifica la versión de la DDI de audio HD extendida.

Context

Puntero a información de contexto específica de la interfaz.

InterfaceReference

Puntero a una rutina proporcionada por el controlador que incrementa el recuento de referencias de la interfaz.

InterfaceDereference

Puntero a una rutina proporcionada por el controlador que disminuye el recuento de referencias de la interfaz.

TransferCodecVerbs

Puntero de función a la rutina TransferCodecVerbs .

AllocateCaptureDmaEngine

Puntero de función a la rutina AllocateCaptureDmaEngine .

AllocateRenderDmaEngine

Puntero de función a la rutina AllocateRenderDmaEngine .

ChangeBandwidthAllocation

Puntero de función a la rutina ChangeBandwidthAllocation .

AllocateContiguousDmaBuffer

Puntero de función a la rutina AllocateContiguousDmaBuffer .

SetupDmaEngineWithBdl

Puntero de función a la rutina SetupDmaEngineWithBdl .

FreeContiguousDmaBuffer

Puntero de función a la rutina FreeContiguousDmaBuffer .

FreeDmaEngine

Puntero de función a la rutina FreeDmaEngine .

SetDmaEngineState

Puntero de función a la rutina SetDmaEngineState .

GetWallClockRegister

Puntero de función a la rutina GetWallClockRegister .

GetLinkPositionRegister

Puntero de función a la rutina GetLinkPositionRegister .

RegisterEventCallback

Puntero de función a la rutina RegisterEventCallback .

UnregisterEventCallback

Puntero de función a la rutina UnregisterEventCallback .

GetDeviceInformation

Puntero de función a la rutina GetDeviceInformation .

GetResourceInformation

Puntero de función a la rutina GetResourceInformation .

Comentarios

El IRP_MN_QUERY_INTERFACE IOCTL usa esta estructura para proporcionar información de interfaz a un cliente que consulta el controlador de bus de audio HD para el DDI de audio HD. La estructura HDAUDIO_BUS_INTERFACE especifica otra variante de este DDI.

Las estructuras de HDAUDIO_BUS_INTERFACE_BDL y HDAUDIO_BUS_INTERFACE son similares, pero tienen las siguientes diferencias:

  • HDAUDIO_BUS_INTERFACE_BDL tiene tres miembros, AllocateContiguousDmaBuffer, SetupDmaEngineWithBdl y FreeContiguousDmaBuffer, que no están presentes en HDAUDIO_BUS_INTERFACE.
  • HDAUDIO_BUS_INTERFACE tiene dos miembros, AllocateDmaBuffer y FreeDmaBuffer, que no están presentes en HDAUDIO_BUS_INTERFACE_BDL.
Para obtener más información, consulte Diferencias entre las versiones de DDI de audio HD.

Los nombres y definiciones de los cinco primeros miembros (Size, Version, Context, InterfaceReference y InterfaceDereference) son los mismos que en la estructura INTERFACE . Los miembros restantes son específicos del DDI de audio HD extendido y especifican punteros de función a las rutinas de la DDI. Para obtener más información, vea Obtener un objeto DDI de HDAUDIO_BUS_INTERFACE_BDL.

Requisitos

Requisito Valor
Header hdaudio.h (incluye Hdaudio.h)

Consulte también

AllocateCaptureDmaEngine

AllocateContiguousDmaBuffer

AllocateRenderDmaEngine

ChangeBandwidthAllocation

FreeContiguousDmaBuffer

FreeDmaEngine

GetLinkPositionRegister

GetResourceInformation

GetWallClockRegister

HDAUDIO_BUS_INTERFACE

RegisterEventCallback

SetDmaEngineState

SetupDmaEngineWithBdl

TransferCodecVerbs

Anular el registroEventCallback