estrutura HDAUDIO_BUS_INTERFACE (hdaudio.h)
A estrutura HDAUDIO_BUS_INTERFACE especifica as informações que um cliente precisa para chamar as rotinas na versão HDAUDIO_BUS_INTERFACE da DDI de áudio HD. Outra variante dessa DDI é especificada pela estrutura HDAUDIO_BUS_INTERFACE_BDL .
Sintaxe
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;
Membros
Size
Especifica o tamanho em bytes da estrutura HDAUDIO_BUS_INTERFACE.
Version
Especifica a versão da DDI de áudio HD de linha de base.
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 .
AllocateDmaBuffer
Ponteiro de função para a rotina AllocateDmaBuffer .
FreeDmaBuffer
Ponteiro de função para a rotina FreeDmaBuffer .
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_BDL.
As estruturas HDAUDIO_BUS_INTERFACE e HDAUDIO_BUS_INTERFACE_BDL são semelhantes, mas têm as seguintes diferenças:
- HDAUDIO_BUS_INTERFACE tem dois membros, AllocateDmaBuffer e FreeDmaBuffer, que não estão presentes no HDAUDIO_BUS_INTERFACE_BDL.
- HDAUDIO_BUS_INTERFACE_BDL tem três membros, AllocateContiguousDmaBuffer, FreeContiguousDmaBuffer e SetupDmaEngineWithBdl, que não estão presentes no HDAUDIO_BUS_INTERFACE.
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 de linha de base e especificam ponteiros de função para as rotinas na DDI. Para obter mais informações, consulte Obtendo um objeto DDI HDAUDIO_BUS_INTERFACE.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | hdaudio.h (inclua Hdaudio.h) |