HDAUDIO_BUS_INTERFACE结构(hdaudio.h)
HDAUDIO_BUS_INTERFACE结构指定客户端在 HD Audio DDI HDAUDIO_BUS_INTERFACE 版本中调用例程所需的信息。 此 DDI 的另一个变体是由 HDAUDIO_BUS_INTERFACE_BDL 结构指定的。
语法
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;
成员
Size
指定HDAUDIO_BUS_INTERFACE结构的大小(以字节为单位)。
Version
指定基线 HD 音频 DDI 的版本。
Context
指向特定于接口的上下文信息的指针。
InterfaceReference
指向驱动程序提供的例程的指针,该例程递增接口的引用计数。
InterfaceDereference
指向驱动程序提供的例程的指针,该例程递减接口的引用计数。
TransferCodecVerbs
指向 TransferCodecVerbs 例程的函数指针。
AllocateCaptureDmaEngine
指向 AllocateCaptureDmaEngine 例程的函数指针。
AllocateRenderDmaEngine
指向 AllocateRenderDmaEngine 例程的函数指针。
ChangeBandwidthAllocation
指向 ChangeBandwidthAllocation 例程的函数指针。
AllocateDmaBuffer
指向 AllocateDmaBuffer 例程的函数指针。
FreeDmaBuffer
指向 FreeDmaBuffer 例程的函数指针。
FreeDmaEngine
指向 FreeDmaEngine 例程的函数指针。
SetDmaEngineState
指向 SetDmaEngineState 例程的函数指针。
GetWallClockRegister
指向 GetWallClockRegister 例程的函数指针。
GetLinkPositionRegister
指向 GetLinkPositionRegister 例程的函数指针。
RegisterEventCallback
指向 RegisterEventCallback 例程的函数指针。
UnregisterEventCallback
指向 UnregisterEventCallback 例程的函数指针。
GetDeviceInformation
指向 GetDeviceInformation 例程的函数指针。
GetResourceInformation
指向 GetResourceInformation 例程的函数指针。
言论
IRP_MN_QUERY_INTERFACE IOCTL 使用此结构向正在查询 HD 音频 DDI 的 HD 音频总线驱动程序的客户端提供接口信息。 此 DDI 的另一个变体是由HDAUDIO_BUS_INTERFACE_BDL结构指定的。
HDAUDIO_BUS_INTERFACE和HDAUDIO_BUS_INTERFACE_BDL结构相似,但存在以下差异:
- HDAUDIO_BUS_INTERFACE有两个成员(AllocateDmaBuffer 和 FreeDmaBuffer)不存在于HDAUDIO_BUS_INTERFACE_BDL中。
- HDAUDIO_BUS_INTERFACE_BDL有三个成员:AllocateContiguousDmaBuffer、FreeContiguousDmaBuffer,以及 SetupDmaEngineWithBdlHDAUDIO_BUS_INTERFACE 中不存在的成员。
前五个成员(Size、Version、Context、InterfaceReference和 InterfaceDereference) 的名称和定义与 INTERFACE 结构中相同。 其余成员特定于基线 HD 音频 DDI,并指定指向 DDI 中的例程的函数指针。 有关详细信息,请参阅 获取HDAUDIO_BUS_INTERFACE DDI 对象。
要求
要求 | 价值 |
---|---|
标头 | hdaudio.h (包括 Hdaudio.h) |