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有三个成员 ,即 AllocateContiguousDmaBufferSetupDmaEngineWithBdlFreeContiguousDmaBuffer,它们不在HDAUDIO_BUS_INTERFACE中。
  • HDAUDIO_BUS_INTERFACE有两个成员 ,即 AllocateDmaBufferFreeDmaBuffer,这些成员在 HDAUDIO_BUS_INTERFACE_BDL 中不存在。
有关详细信息,请参阅 HD Audio DDI 版本之间的差异

前五个成员的名称和定义 (SizeVersionContextInterfaceReferenceInterfaceDereference) 与 INTERFACE 结构相同。 其余成员特定于扩展的 HD Audio DDI,并指定指向 DDI 中例程的函数指针。 有关详细信息,请参阅 获取HDAUDIO_BUS_INTERFACE_BDL DDI 对象

要求

要求
Header hdaudio.h (包括 Hdaudio.h)

另请参阅

AllocateCaptureDmaEngine

AllocateContiguousDmaBuffer

AllocateRenderDmaEngine

ChangeBandwidthAllocation

FreeContiguousDmaBuffer

FreeDmaEngine

GetLinkPositionRegister

GetResourceInformation

GetWallClockRegister

HDAUDIO_BUS_INTERFACE

RegisterEventCallback

SetDmaEngineState

SetupDmaEngineWithBdl

TransferCodecVerbs

UnregisterEventCallback