Compartir a través de


estructura HDAUDIO_BUS_INTERFACE_BDL (hdaudio.h)

La estructura HDAUDIO_BUS_INTERFACE_BDL especifica la información que un cliente requiere para llamar a las rutinas en 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 de.

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 de SetupDmaEngineWithBdl.

FreeContiguousDmaBuffer

Puntero de función a la rutina de FreeContiguousDmaBuffer.

FreeDmaEngine

Puntero de función a la rutina de freeDmaEngine.

SetDmaEngineState

Puntero de función a la rutina setDmaEngineState de.

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 de GetResourceInformation.

Observaciones

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 HDAUDIO_BUS_INTERFACE_BDL y HDAUDIO_BUS_INTERFACE son similares, pero tienen las siguientes diferencias:

  • HDAUDIO_BUS_INTERFACE_BDL tiene tres miembros, AllocateContiguousDmaBuffer, SetupDmaEngineWithBdly 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, vea diferencias entre las versiones de DDI de audio hd.

Los nombres y definiciones de los cinco primeros miembros (Size, Version, Context, InterfaceReferencey 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 DDI. Para obtener más información, vea Obtener un objeto DDI de HDAUDIO_BUS_INTERFACE_BDL.

Requisitos

Requisito Valor
encabezado de hdaudio.h (incluya Hdaudio.h)

Consulte también

AllocateCaptureDmaEngine

AllocateContiguousDmaBuffer

AllocateRenderDmaEngine

ChangeBandwidthAllocation

FreeContiguousDmaBuffer

freeDmaEngine

GetLinkPositionRegister

GetResourceInformation

GetWallClockRegister

HDAUDIO_BUS_INTERFACE

RegisterEventCallback

SetDmaEngineState

SetupDmaEngineWithBdl

transferCodecVerbs

unregisterEventCallback