estructura HDAUDIO_BUS_INTERFACE (hdaudio.h)
La estructura HDAUDIO_BUS_INTERFACE especifica la información que un cliente necesita para llamar a las rutinas de la versión HDAUDIO_BUS_INTERFACE de la DDI de audio HD. La estructura HDAUDIO_BUS_INTERFACE_BDL especifica otra variante de este DDI.
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 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.
AllocateDmaBuffer
Puntero de función a la rutina de AllocateDmaBuffer.
FreeDmaBuffer
Puntero de función a la rutina FreeDmaBuffer.
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_BDL especifica otra variante de este DDI.
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, FreeContiguousDmaBuffery SetupDmaEngineWithBdl, que no están presentes en HDAUDIO_BUS_INTERFACE.
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 de la base de referencia HD Audio DDI 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 |
---|---|
encabezado de | hdaudio.h (incluya Hdaudio.h) |