структура HDAUDIO_BUS_INTERFACE_BDL (hdaudio.h)
Структура HDAUDIO_BUS_INTERFACE_BDL указывает сведения, необходимые клиенту для вызова подпрограмм в HDAUDIO_BUS_INTERFACE_BDL версии HD Audio DDI. Другой вариант этого 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 Audio. Другой вариант этого 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.
Требования
Требование | Значение |
---|---|
Заголовок | hdaudio.h (включая Hdaudio.h) |