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 オーディオ 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 のもう 1 つのバリアントは、HDAUDIO_BUS_INTERFACE構造体によって指定されます。

HDAUDIO_BUS_INTERFACE_BDLとHDAUDIO_BUS_INTERFACEの構造体は似ていますが、次のような違いがあります。

  • HDAUDIO_BUS_INTERFACE_BDLには、 AllocateContiguousDmaBufferSetupDmaEngineWithBdlFreeContiguousDmaBuffer の 3 つのメンバーがあり、HDAUDIO_BUS_INTERFACEに存在しません。
  • HDAUDIO_BUS_INTERFACEには、 AllocateDmaBufferFreeDmaBuffer という 2 つのメンバーがあり、HDAUDIO_BUS_INTERFACE_BDLに存在しません。
詳細については、「 HD オーディオ DDI バージョンの違い」を参照してください。

最初の 5 つのメンバー (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