HDAUDIO_BUS_INTERFACE_V3 구조체(hdaudio.h)
구문
typedef struct _HDAUDIO_BUS_INTERFACE_V3 {
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;
PREGISTER_NOTIFICATION_CALLBACK RegisterNotificationCallback;
PUNREGISTER_NOTIFICATION_CALLBACK UnregisterNotificationCallback;
} HDAUDIO_BUS_INTERFACE_V3, *PHDAUDIO_BUS_INTERFACE_V3;
멤버
Size
HDAUDIO_BUS_INTERFACE_V3 구조체의 크기(바이트)를 지정합니다.
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 루틴에 대한 함수 포인터입니다.
RegisterNotificationCallback
RegisterNotificationCallback 루틴에 대한 함수 포인터입니다.
UnregisterNotificationCallback
UnregisterNotificationCallback 루틴에 대한 함수 포인터입니다.
설명
IRP_MN_QUERY_INTERFACE IOCTL은 이 구조를 사용하여 HD Audio DDI에 대한 HD 오디오 버스 드라이버를 쿼리하는 클라이언트에 인터페이스 정보를 제공합니다.
HDAUDIO_BUS_INTERFACE_V3 구조체의 처음 5개 멤버(크기, 버전, 컨텍스트, InterfaceReference 및 InterfaceDereference)의 이름과 정의는 INTERFACE 구조와 동일합니다. 나머지 멤버는 기준 HD 오디오 DDI와 관련이 있으며 DDI의 루틴에 대한 함수 포인터를 지정합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | 19H1 |
머리글 | hdaudio.h(hdaudio.h 포함) |