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には、 AllocateContiguousDmaBuffer、 SetupDmaEngineWithBdl、 FreeContiguousDmaBuffer の 3 つのメンバーがあり、HDAUDIO_BUS_INTERFACEに存在しません。
- HDAUDIO_BUS_INTERFACEには、 AllocateDmaBuffer と FreeDmaBuffer という 2 つのメンバーがあり、HDAUDIO_BUS_INTERFACE_BDLに存在しません。
最初の 5 つのメンバー (Size、 Version、 Context、 InterfaceReference、 InterfaceDereference) の名前と定義は、 INTERFACE 構造体と同じです。 残りのメンバーは拡張 HD Audio DDI に固有であり、DDI 内のルーチンへの関数ポインターを指定します。 詳細については、「 HDAUDIO_BUS_INTERFACE_BDL DDI オブジェクトの取得」を参照してください。
要件
要件 | 値 |
---|---|
Header | hdaudio.h (Hdaudio.h を含む) |