estructura HDAUDIO_BUS_INTERFACE (hdaudio.h)
La estructura HDAUDIO_BUS_INTERFACE especifica la información que un cliente necesita para llamar a las rutinas en la versión HDAUDIO_BUS_INTERFACE de la DDI de audio HD. Otra variante de este DDI se especifica mediante la estructura HDAUDIO_BUS_INTERFACE_BDL .
Sintaxis
typedef struct _HDAUDIO_BUS_INTERFACE {
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_DMA_BUFFER AllocateDmaBuffer;
PFREE_DMA_BUFFER FreeDmaBuffer;
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, *PHDAUDIO_BUS_INTERFACE;
Miembros
Size
Especifica el tamaño en bytes de la estructura HDAUDIO_BUS_INTERFACE.
Version
Especifica la versión de la DDI de audio HD de línea base.
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 .
AllocateDmaBuffer
Puntero de función a la rutina AllocateDmaBuffer .
FreeDmaBuffer
Puntero de función a la rutina FreeDmaBuffer .
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 del bus de audio HD para el DDI de audio HD. Otra variante de este DDI se especifica mediante la estructura HDAUDIO_BUS_INTERFACE_BDL.
Las estructuras HDAUDIO_BUS_INTERFACE y HDAUDIO_BUS_INTERFACE_BDL son similares, pero tienen las siguientes diferencias:
- HDAUDIO_BUS_INTERFACE tiene dos miembros, AllocateDmaBuffer y FreeDmaBuffer, que no están presentes en HDAUDIO_BUS_INTERFACE_BDL.
- HDAUDIO_BUS_INTERFACE_BDL tiene tres miembros, AllocateContiguousDmaBuffer, FreeContiguousDmaBuffer y SetupDmaEngineWithBdl, que no están presentes en HDAUDIO_BUS_INTERFACE.
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 de la DDI de audio HD de línea base 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.
Requisitos
Requisito | Valor |
---|---|
Header | hdaudio.h (incluya Hdaudio.h) |