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


структура HDAUDIO_BUS_INTERFACE (hdaudio.h)

Структура HDAUDIO_BUS_INTERFACE указывает сведения, необходимые клиенту для вызова подпрограмм в HDAUDIO_BUS_INTERFACE версии HD Audio DDI. Другой вариант этого DDI определяется структурой HDAUDIO_BUS_INTERFACE_BDL .

Синтаксис

typedef struct _HDAUDIO_BUS_INTERFACE {
  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_DMA_BUFFER         AllocateDmaBuffer;
  PFREE_DMA_BUFFER             FreeDmaBuffer;
  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, *PHDAUDIO_BUS_INTERFACE;

Члены

Size

Задает размер структуры HDAUDIO_BUS_INTERFACE в байтах.

Version

Указывает версию базового hd Audio DDI.

Context

Указатель на сведения о контексте для конкретного интерфейса.

InterfaceReference

Указатель на подпрограмму, предоставляемую драйвером, которая увеличивает число ссылок интерфейса.

InterfaceDereference

Указатель на подпрограмму, предоставляемую драйвером, которая уменьшает количество ссылок интерфейса.

TransferCodecVerbs

Указатель функции на подпрограмму TransferCodecVerbs .

AllocateCaptureDmaEngine

Указатель функции на подпрограмму AllocateCaptureDmaEngine .

AllocateRenderDmaEngine

Указатель функции на подпрограмму AllocateRenderDmaEngine .

ChangeBandwidthAllocation

Указатель функции на подпрограмму ChangeBandwidthAllocation .

AllocateDmaBuffer

Указатель функции на подпрограмму AllocateDmaBuffer .

FreeDmaBuffer

Указатель функции на подпрограмму FreeDmaBuffer .

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_BDL.

Структуры HDAUDIO_BUS_INTERFACE и HDAUDIO_BUS_INTERFACE_BDL похожи, но имеют следующие отличия.

  • HDAUDIO_BUS_INTERFACE имеет два члена: AllocateDmaBuffer и FreeDmaBuffer, которые отсутствуют в HDAUDIO_BUS_INTERFACE_BDL.
  • HDAUDIO_BUS_INTERFACE_BDL состоит из трех членов: AllocateContiguousDmaBuffer, FreeContiguousDmaBuffer и SetupDmaEngineWithBdl, которые отсутствуют в HDAUDIO_BUS_INTERFACE.
Дополнительные сведения см. в разделе Различия между версиями hd audio DDI.

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

Требования

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

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

AllocateCaptureDmaEngine

AllocateDmaBuffer

AllocateRenderDmaEngine

ChangeBandwidthAllocation

FreeDmaBuffer

FreeDmaEngine

GetDeviceInformation

GetLinkPositionRegister

GetResourceInformation

GetWallClockRegister

HDAUDIO_BUS_INTERFACE_BDL

RegisterEventCallback

SetDmaEngineState

TransferCodecVerbs

UnregisterEventCallback