HDAUDIO_BUS_INTERFACE_BDL-Struktur (hdaudio.h)
Die HDAUDIO_BUS_INTERFACE_BDL-Struktur gibt die Informationen an, die ein Client benötigt, um die Routinen in der HDAUDIO_BUS_INTERFACE_BDL Version von HD Audio DDI aufzurufen. Eine weitere Variante dieses DDI wird durch die HDAUDIO_BUS_INTERFACE-Struktur angegeben.
Syntax
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;
Member
Size
Gibt die Größe der HDAUDIO_BUS_INTERFACE_BDL-Struktur in Byte an.
Version
Gibt die Version des erweiterten HD-Audio-DDI an.
Context
Zeiger auf schnittstellenspezifische Kontextinformationen.
InterfaceReference
Zeiger auf eine vom Treiber bereitgestellte Routine, die die Referenzanzahl der Schnittstelle erhöht.
InterfaceDereference
Zeiger auf eine vom Treiber bereitgestellte Routine, die die Referenzanzahl der Schnittstelle verringert.
TransferCodecVerbs
Funktionszeiger auf die TransferCodecVerbs-Routine .
AllocateCaptureDmaEngine
Funktionszeiger auf die AllocateCaptureDmaEngine-Routine .
AllocateRenderDmaEngine
Funktionszeiger auf die AllocateRenderDmaEngine-Routine .
ChangeBandwidthAllocation
Funktionszeiger auf die ChangeBandwidthAllocation-Routine .
AllocateContiguousDmaBuffer
Funktionszeiger auf die AllocateContiguousDmaBuffer-Routine .
SetupDmaEngineWithBdl
Funktionszeiger auf die SetupDmaEngineWithBdl-Routine .
FreeContiguousDmaBuffer
Funktionszeiger auf die FreeContiguousDmaBuffer-Routine .
FreeDmaEngine
Funktionszeiger auf die FreeDmaEngine-Routine .
SetDmaEngineState
Funktionszeiger auf die SetDmaEngineState-Routine .
GetWallClockRegister
Funktionszeiger auf die GetWallClockRegister-Routine .
GetLinkPositionRegister
Funktionszeiger auf die GetLinkPositionRegister-Routine .
RegisterEventCallback
Funktionszeiger auf die RegisterEventCallback-Routine .
UnregisterEventCallback
Funktionszeiger auf die UnregisterEventCallback-Routine .
GetDeviceInformation
Funktionszeiger auf die GetDeviceInformation-Routine .
GetResourceInformation
Funktionszeiger auf die GetResourceInformation-Routine .
Hinweise
Die IRP_MN_QUERY_INTERFACE IOCTL verwendet diese Struktur, um Schnittstelleninformationen für einen Client bereitzustellen, der den HD Audio Bus-Treiber für den HD-Audio-DDI fragt. Eine weitere Variante dieses DDI wird durch die HDAUDIO_BUS_INTERFACE-Struktur angegeben.
Die HDAUDIO_BUS_INTERFACE_BDL- und HDAUDIO_BUS_INTERFACE strukturen sind ähnlich, weisen jedoch die folgenden Unterschiede auf:
- HDAUDIO_BUS_INTERFACE_BDL verfügt über die drei Member AllocateContiguousDmaBuffer, SetupDmaEngineWithBdl und FreeContiguousDmaBuffer, die in HDAUDIO_BUS_INTERFACE nicht vorhanden sind.
- HDAUDIO_BUS_INTERFACE verfügt über zwei Member, AllocateDmaBuffer und FreeDmaBuffer, die in HDAUDIO_BUS_INTERFACE_BDL nicht vorhanden sind.
Die Namen und Definitionen der ersten fünf Member (Size, Version, Context, InterfaceReference und InterfaceDereference) sind identisch mit denen in der INTERFACE-Struktur . Die verbleibenden Member sind spezifisch für den erweiterten HD-Audio-DDI und geben Funktionszeiger auf die Routinen im DDI an. Weitere Informationen finden Sie unter Abrufen eines HDAUDIO_BUS_INTERFACE_BDL DDI-Objekts.
Anforderungen
Anforderung | Wert |
---|---|
Header | hdaudio.h (hdaudio.h einschließen) |