Поделиться через


структура 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.
Дополнительные сведения см. в разделе Различия между версиями hd audio DDI.

Имена и определения первых пяти элементов (Size, Version, Context, InterfaceReference и InterfaceDereference) совпадают с именами и определениями в структуре INTERFACE . Остальные члены относятся к расширенному hd audio DDI и указывают указатели на функции в DDI. Дополнительные сведения см. в разделе Получение HDAUDIO_BUS_INTERFACE_BDL объекта DDI.

Требования

Требование Значение
Заголовок hdaudio.h (включая Hdaudio.h)

См. также раздел

AllocateCaptureDmaEngine

AllocateContiguousDmaBuffer

AllocateRenderDmaEngine

ChangeBandwidthAllocation

FreeContiguousDmaBuffer

FreeDmaEngine

GetLinkPositionRegister

GetResourceInformation

GetWallClockRegister

HDAUDIO_BUS_INTERFACE

RegisterEventCallback

SetDmaEngineState

SetupDmaEngineWithBdl

TransferCodecVerbs

UnregisterEventCallback