HDAUDIO_BUS_INTERFACE_V2 구조체(hdaudio.h)

HDAUDIO_BUS_INTERFACE_V2 구조는 클라이언트가 HD 오디오 DDI의 HDAUDIO_BUS_INTERFACE_V2 버전에서 루틴을 호출하는 데 필요한 정보를 지정합니다. 이 구조체가 나타내는 인터페이스는 HDAUDIO_BUS_INTERFACE 모든 기능을 제공하며 유연한 DMA 기반 이벤트 알림을 지원할 수도 있습니다.

구문

typedef struct _HDAUDIO_BUS_INTERFACE_V2 {
  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;
  PALLOCATE_DMA_BUFFER_WITH_NOTIFICATION AllocateDmaBufferWithNotification;
  PFREE_DMA_BUFFER_WITH_NOTIFICATION     FreeDmaBufferWithNotification;
  PREGISTER_NOTIFICATION_EVENT           RegisterNotificationEvent;
  PUNREGISTER_NOTIFICATION_EVENT         UnregisterNotificationEvent;
} HDAUDIO_BUS_INTERFACE_V2, *PHDAUDIO_BUS_INTERFACE_V2;

멤버

Size

HDAUDIO_BUS_INTERFACE_V2 구조체의 크기(바이트)를 지정합니다.

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 루틴에 대한 함수 포인터입니다.

AllocateDmaBufferWithNotification

AllocateDmaBufferWithNotification 루틴에 대한 함수 포인터입니다.

FreeDmaBufferWithNotification

FreeDmaBufferWithNotification 루틴에 대한 함수 포인터입니다.

RegisterNotificationEvent

RegisterNotificationEvent 루틴에 대한 함수 포인터입니다.

UnregisterNotificationEvent

UnregisterNotificationEvent 루틴에 대한 함수 포인터입니다.

설명

IRP_MN_QUERY_INTERFACE IOCTL은 이 구조를 사용하여 HD Audio DDI에 대한 HD 오디오 버스 드라이버를 쿼리하는 클라이언트에 인터페이스 정보를 제공합니다.

HDAUDIO_BUS_INTERFACE_V2 구조체의 처음 5개 멤버(크기, 버전, 컨텍스트, InterfaceReference 및 InterfaceDereference)의 이름과 정의는 INTERFACE 구조와 동일합니다. 나머지 멤버는 기준 HD 오디오 DDI와 관련이 있으며 DDI의 루틴에 대한 함수 포인터를 지정합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista 및 이후 버전의 Windows에서 사용할 수 있습니다.
머리글 hdaudio.h(Hdaudio.h 포함)

추가 정보

AllocateCaptureDmaEngine

AllocateDmaBuffer

AllocateDmaBufferWithNotification

AllocateRenderDmaEngine

ChangeBandwidthAllocation

FreeDmaBuffer

FreeDmaBufferWithNotification

FreeDmaEngine

GetDeviceInformation

GetLinkPositionRegister

GetResourceInformation

GetWallClockRegister

RegisterEventCallback

RegisterNotificationEvent

SetDmaEngineState

TransferCodecVerbs

UnregisterEventCallback

UnregisterNotificationEvent