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.
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) |