다음을 통해 공유


hdaudio.h 헤더

이 헤더는 오디오에서 사용됩니다. 자세한 내용은 다음을 참조하세요.

hdaudio.h에는 다음과 같은 프로그래밍 인터페이스가 포함되어 있습니다.

콜백 함수

 
PALLOCATE_CAPTURE_DMA_ENGINE

AllocateCaptureDmaEngine 루틴은 캡처 스트림에 대한 DMA 엔진을 할당합니다. AllocateCaptureDmaEngine 루틴에 대한 함수 포인터 형식은 다음과 같이 정의됩니다.
PALLOCATE_CONTIGUOUS_DMA_BUFFER

AllocateContiguousDmaBuffer 루틴은 물리적 메모리의 연속된 단일 블록으로 구성된 DMA 버퍼를 할당합니다. AllocateContiguousDmaBuffer 루틴에 대한 함수 포인터 형식은 다음과 같이 정의됩니다.
PALLOCATE_DMA_BUFFER

AllocateDmaBuffer 루틴은 DMA 엔진에 대한 시스템 메모리에 데이터 버퍼를 할당합니다. AllocateDmaBuffer 루틴에 대한 함수 포인터 형식은 다음과 같이 정의됩니다.
PALLOCATE_DMA_BUFFER_WITH_NOTIFICATION

AllocateDmaBufferWithNotification 루틴은 DMA 엔진에 대한 시스템 메모리에 데이터 버퍼를 할당합니다. AllocateDmaBufferWithNotification 루틴에 대한 함수 포인터 형식은 다음과 같이 정의됩니다.
PALLOCATE_RENDER_DMA_ENGINE

AllocateRenderDmaEngine 루틴은 렌더링 스트림에 대한 DMA 엔진을 할당합니다. AllocateRenderDmaEngine 루틴에 대한 함수 포인터 형식은 다음과 같이 정의됩니다.
PCHANGE_BANDWIDTH_ALLOCATION

ChangeBandwidthAllocation 루틴은 HD Audio Link에서 DMA 엔진의 대역폭 할당을 변경합니다. ChangeBandwidthAllocation 루틴에 대한 함수 포인터 형식은 다음과 같이 정의됩니다.
PFREE_CONTIGUOUS_DMA_BUFFER

FreeContiguousDmaBuffer 루틴은 AllocateContiguousDmaBuffer 호출에 의해 할당된 DMA 버퍼 및 버퍼 설명자 목록(BDL)을 해제합니다. FreeContiguousDmaBuffer 루틴에 대한 함수 포인터 형식은 다음과 같이 정의됩니다.
PFREE_DMA_BUFFER

FreeDmaBuffer 루틴은 AllocateDmaBuffer를 호출하여 이전에 할당된 DMA 버퍼를 해제합니다. FreeDmaBuffer 루틴에 대한 함수 포인터 형식은 다음과 같이 정의됩니다.
PFREE_DMA_BUFFER_WITH_NOTIFICATION

FreeDmaBufferWithNotification 루틴은 AllocateDmaBufferWithNotification에 대한 호출로 이전에 할당된 DMA 버퍼를 해제합니다. FreeDmaBufferWithNotification 루틴에 대한 함수 포인터 형식은 다음과 같이 정의됩니다.
PFREE_DMA_ENGINE

FreeDmaEngine 루틴은 AllocateCaptureDmaEngine 또는 AllocateRenderDmaEngine 호출로 이전에 할당된 DMA 엔진을 해제합니다. FreeDmaEngine 루틴에 대한 함수 포인터 형식은 다음과 같이 정의됩니다.
PGET_DEVICE_INFORMATION

GetDeviceInformation 루틴은 HD 오디오 컨트롤러 디바이스에 대한 정보를 검색합니다. GetDeviceInformation 루틴에 대한 함수 포인터 형식은 다음과 같이 정의됩니다.
PGET_LINK_POSITION_REGISTER

GetLinkPositionRegister 루틴은 DMA 엔진의 링크 위치 레지스터에 대한 포인터를 검색합니다. GetLinkPositionRegister 루틴에 대한 함수 포인터 형식은 다음과 같이 정의됩니다.
PGET_RESOURCE_INFORMATION

GetResourceInformation 루틴은 하드웨어 리소스에 대한 정보를 검색합니다. GetResourceInformation 루틴에 대한 함수 포인터 형식은 다음과 같이 정의됩니다.
PGET_WALL_CLOCK_REGISTER

GetWallClockRegister 루틴은 벽시계 레지스터에 대한 포인터를 검색합니다. GetWallClockRegister 루틴에 대한 함수 포인터 형식은 다음과 같이 정의됩니다.
PHDAUDIO_BDL_ISR

HDAudioBdlIsr 루틴은 스트림에서 IOC 중단이 발생할 때마다 HD 오디오 버스 드라이버가 호출하는 ISR입니다. PHDAUDIO_BDL_ISR 형식의 함수 포인터이며 다음과 같이 정의됩니다.
PHDAUDIO_DMA_NOTIFICATION_CALLBACK

HDAudio 코덱 DMA 알림 콜백 함수입니다.
PHDAUDIO_TRANSFER_COMPLETE_CALLBACK

HDAudio 코덱 전송 전체 콜백 함수. PHDAUDIO_TRANSFER_COMPLETE_CALLBACK PTRANSFER_CODEC_VERBS 콜백 함수에서 사용됩니다.
PHDAUDIO_UNSOLICITED_RESPONSE_CALLBACK

HDAudio 코덱 원치 않는 응답 콜백 함수입니다. PHDAUDIO_UNSOLICITED_RESPONSE_CALLBACK PREGISTER_EVENT_CALLBACK 콜백 함수에서 사용됩니다.
PREGISTER_EVENT_CALLBACK

RegisterEventCallback 루틴은 코덱 또는 코덱의 원치 않는 응답에 대한 콜백 루틴을 등록합니다. RegisterEventCallback 루틴에 대한 함수 포인터 형식은 다음과 같이 정의됩니다.
PREGISTER_NOTIFICATION_CALLBACK

RegisterNotificationCallback 루틴은 더 정확한 타이밍 정보를 사용하여 DMA 진행률 알림을 받을 수 있도록 콜백 루틴을 등록합니다.
PREGISTER_NOTIFICATION_EVENT

RegisterNotificationEvent 루틴은 DMA 진행률 알림을 받을 수 있도록 커널 이벤트를 등록합니다. RegisterNotificationEvent 루틴에 대한 함수 포인터 형식은 다음과 같이 정의됩니다.
PSET_DMA_ENGINE_STATE

SetDmaEngineState 루틴은 하나 이상의 DMA 엔진 상태를 실행 중, 중지됨, 일시 중지됨 또는 다시 설정 상태로 설정합니다. SetDmaEngineState 루틴에 대한 함수 포인터 형식은 다음과 같이 정의됩니다.
PSETUP_DMA_ENGINE_WITH_BDL

SetupDmaEngineWithBdl 루틴은 호출자가 할당한 DMA 버퍼를 사용하도록 DMA 엔진을 설정합니다. SetupDmaEngineWithBdl 루틴에 대한 함수 포인터 형식은 다음과 같이 정의됩니다.
PTRANSFER_CODEC_VERBS

TransferCodecVerbs 루틴은 하나 이상의 명령을 코덱 또는 코덱으로 전송하고 해당 명령에 대한 응답을 검색합니다. TransferCodecVerbs 루틴에 대한 함수 포인터 형식은 다음과 같이 정의됩니다.
PUNREGISTER_EVENT_CALLBACK

UnregisterEventCallback 루틴은 RegisterEventCallback에 대한 호출로 이전에 등록된 이벤트 콜백의 등록을 삭제합니다. UnregisterEventCallback 루틴에 대한 함수 포인터 형식은 다음과 같이 정의됩니다.
PUNREGISTER_NOTIFICATION_CALLBACK

PUNREGISTER_NOTIFICATION_CALLBACK 콜백 함수는 RegisterNotificationCallback 호출로 이전에 등록된 알림 콜백 루틴의 등록을 삭제합니다.
PUNREGISTER_NOTIFICATION_EVENT

UnregisterNotificationEvent 루틴은 RegisterNotificationEvent에 대한 호출로 이전에 등록된 이벤트의 등록을 삭제합니다. UnregisterNotificationEvent 루틴에 대한 함수 포인터 형식은 다음과 같이 정의됩니다.

구조체

 
HDAUDIO_BUFFER_DESCRIPTOR

HDAUDIO_BUFFER_DESCRIPTOR 구조체는 버퍼 설명자(BDL(버퍼 설명자 목록)의 항목인 버퍼 설명자를 지정합니다.
HDAUDIO_BUS_INTERFACE

HDAUDIO_BUS_INTERFACE 구조는 클라이언트가 HD Audio DDI의 HDAUDIO_BUS_INTERFACE 버전에서 루틴을 호출하는 데 필요한 정보를 지정합니다. 이 DDI의 또 다른 변형은 HDAUDIO_BUS_INTERFACE_BDL 구조체에 의해 지정됩니다.
HDAUDIO_BUS_INTERFACE_BDL

HDAUDIO_BUS_INTERFACE_BDL 구조는 클라이언트가 HD Audio DDI의 HDAUDIO_BUS_INTERFACE_BDL 버전에서 루틴을 호출하는 데 필요한 정보를 지정합니다. 이 DDI의 또 다른 변형은 HDAUDIO_BUS_INTERFACE 구조체에 의해 지정됩니다.
HDAUDIO_BUS_INTERFACE_V2

HDAUDIO_BUS_INTERFACE_V2 구조는 클라이언트가 HD Audio DDI의 HDAUDIO_BUS_INTERFACE_V2 버전에서 루틴을 호출하는 데 필요한 정보를 지정합니다.
HDAUDIO_BUS_INTERFACE_V3

자세한 정보: _HDAUDIO_BUS_INTERFACE_V3 구조체
HDAUDIO_CODEC_COMMAND

HDAUDIO_CODEC_COMMAND 구조체는 코덱 명령을 지정합니다.
HDAUDIO_CODEC_RESPONSE

HDAUDIO_CODEC_RESPONSE 구조체는 코덱 명령에 대한 응답 또는 코덱의 원치 않는 응답을 지정합니다.
HDAUDIO_CODEC_TRANSFER

HDAUDIO_CODEC_TRANSFER 구조체는 코덱 명령과 해당 명령에 대한 응답을 지정합니다.
HDAUDIO_CONVERTER_FORMAT

HDAUDIO_CONVERTER_FORMAT 구조는 Intel 고화질 오디오 사양에 정의된 대로 입력 또는 출력 변환기용으로 인코딩된 16비트 스트림 형식을 지정합니다(Intel HD 오디오 웹 사이트 참조).
HDAUDIO_DEVICE_INFORMATION

HDAUDIO_DEVICE_INFORMATION 구조는 HD 오디오 버스 컨트롤러의 하드웨어 기능을 지정합니다.
HDAUDIO_DEVICE_INFORMATION_V2

HDAUDIO_DEVICE_INFORMATION_V2 구조는 HD 오디오 버스 컨트롤러의 하드웨어 기능을 지정합니다.
HDAUDIO_STREAM_FORMAT

HDAUDIO_STREAM_FORMAT 구조는 캡처 또는 렌더링 스트림의 데이터 형식을 설명합니다.

열거형

 
HDAUDIO_CODEC_POWER_STATE

HDAUDIO_CODEC_POWER_STATE 열거형은 HD 오디오 코덱이 지원할 수 있는 다양한 전원 상태를 지정하는 상수를 정의합니다. PowerCodecD3Cold를 제외한 모든 상태는 DEVICE_POWER_STATE.
HDAUDIO_STREAM_STATE

HDAUDIO_STREAM_STATE 열거형은 HDAudio에서 지원하는 다양한 스트림 상태를 지정하는 상수를 정의합니다.