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