Compartilhar via


estrutura HDAUDIO_BUS_INTERFACE_BDL (hdaudio.h)

A estrutura HDAUDIO_BUS_INTERFACE_BDL especifica as informações que um cliente precisa para chamar as rotinas na versão HDAUDIO_BUS_INTERFACE_BDL da DDI de áudio HD. Outra variante dessa DDI é especificada pela estrutura HDAUDIO_BUS_INTERFACE .

Sintaxe

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;

Membros

Size

Especifica o tamanho em bytes da estrutura HDAUDIO_BUS_INTERFACE_BDL.

Version

Especifica a versão da DDI de áudio HD estendida.

Context

Ponteiro para informações de contexto específicas da interface.

InterfaceReference

Ponteiro para uma rotina fornecida pelo driver que incrementa a contagem de referência da interface.

InterfaceDereference

Ponteiro para uma rotina fornecida pelo driver que diminui a contagem de referência da interface.

TransferCodecVerbs

Ponteiro de função para a rotina TransferCodecVerbs .

AllocateCaptureDmaEngine

Ponteiro de função para a rotina AllocateCaptureDmaEngine .

AllocateRenderDmaEngine

Ponteiro de função para a rotina AllocateRenderDmaEngine .

ChangeBandwidthAllocation

Ponteiro de função para a rotina ChangeBandwidthAllocation .

AllocateContiguousDmaBuffer

Ponteiro de função para a rotina AllocateContiguousDmaBuffer .

SetupDmaEngineWithBdl

Ponteiro de função para a rotina SetupDmaEngineWithBdl .

FreeContiguousDmaBuffer

Ponteiro de função para a rotina FreeContiguousDmaBuffer .

FreeDmaEngine

Ponteiro de função para a rotina FreeDmaEngine .

SetDmaEngineState

Ponteiro de função para a rotina SetDmaEngineState .

GetWallClockRegister

Ponteiro de função para a rotina GetWallClockRegister .

GetLinkPositionRegister

Ponteiro de função para a rotina GetLinkPositionRegister .

RegisterEventCallback

Ponteiro de função para a rotina RegisterEventCallback .

UnregisterEventCallback

Ponteiro de função para a rotina UnregisterEventCallback .

GetDeviceInformation

Ponteiro de função para a rotina GetDeviceInformation .

GetResourceInformation

Ponteiro de função para a rotina GetResourceInformation .

Comentários

O IRP_MN_QUERY_INTERFACE IOCTL usa essa estrutura para fornecer informações de interface a um cliente que está consultando o driver de barramento de áudio HD para a DDI de áudio HD. Outra variante dessa DDI é especificada pela estrutura HDAUDIO_BUS_INTERFACE.

As estruturas HDAUDIO_BUS_INTERFACE_BDL e HDAUDIO_BUS_INTERFACE são semelhantes, mas têm as seguintes diferenças:

  • HDAUDIO_BUS_INTERFACE_BDL tem três membros, AllocateContiguousDmaBuffer, SetupDmaEngineWithBdl e FreeContiguousDmaBuffer, que não estão presentes no HDAUDIO_BUS_INTERFACE.
  • HDAUDIO_BUS_INTERFACE tem dois membros, AllocateDmaBuffer e FreeDmaBuffer, que não estão presentes no HDAUDIO_BUS_INTERFACE_BDL.
Para obter mais informações, consulte Diferenças entre as versões DDI de áudio HD.

Os nomes e definições dos cinco primeiros membros (Size, Version, Context, InterfaceReference e InterfaceDereference) são os mesmos da estrutura INTERFACE . Os membros restantes são específicos para a DDI de áudio HD estendida e especificam ponteiros de função para as rotinas na DDI. Para obter mais informações, consulte Obtendo um objeto DDI HDAUDIO_BUS_INTERFACE_BDL.

Requisitos

Requisito Valor
Cabeçalho hdaudio.h (inclua Hdaudio.h)

Confira também

AllocateCaptureDmaEngine

AllocateContiguousDmaBuffer

AllocateRenderDmaEngine

ChangeBandwidthAllocation

FreeContiguousDmaBuffer

FreeDmaEngine

GetLinkPositionRegister

GetResourceInformation

GetWallClockRegister

HDAUDIO_BUS_INTERFACE

RegisterEventCallback

SetDmaEngineState

SetupDmaEngineWithBdl

TransferCodecVerbs

UnregisterEventCallback