EVT_ACX_AUDIOENGINE_RETRIEVE_BUFFER_SIZE_LIMITS 콜백 함수(acxelements.h)
EVT_ACX_AUDIOENGINE_RETRIEVE_BUFFER_SIZE_LIMITS 콜백은 드라이버에 의해 구현되며 지정된 오디오 엔진에 대해 지정된 데이터 형식에 대한 버퍼 크기 제한이 요청될 때 호출됩니다.
구문
EVT_ACX_AUDIOENGINE_RETRIEVE_BUFFER_SIZE_LIMITS EvtAcxAudioengineRetrieveBufferSizeLimits;
NTSTATUS EvtAcxAudioengineRetrieveBufferSizeLimits(
ACXAUDIOENGINE AudioEngine,
ACXDATAFORMAT Format,
PULONG MinBufferSizeInBytes,
PULONG MaxBufferSizeInBytes
)
{...}
매개 변수
AudioEngine
버퍼 크기 제한이 요청된 ACXAUDIOENGINE 개체입니다. ACX 개체에 대한 자세한 내용은 ACX 개체 요약을 참조하세요.
Format
콜백이 오디오 엔진이 수용할 수 있는 최소 및 최대 버퍼 크기를 결정하는 ACXDATAFORMAT입니다.
MinBufferSizeInBytes
하드웨어 오디오 엔진이 호출할 때 instance 지정된 데이터 형식에 대해 지원할 수 있는 최소 버퍼 크기입니다. 버퍼 크기는 바이트로 지정됩니다.
MaxBufferSizeInBytes
하드웨어 오디오 엔진이 호출할 때 instance 지정된 데이터 형식에 대해 지원할 수 있는 버퍼의 최대 크기입니다. 버퍼 크기는 바이트로 지정됩니다.
반환 값
호출이 성공하면 를 반환합니다 STATUS_SUCCESS
. 그렇지 않으면 적절한 오류 코드를 반환합니다. 자세한 내용은 NTSTATUS 값 사용을 참조하세요.
설명
예제
사용 예제는 다음과 같습니다.
EVT_ACX_AUDIOENGINE_RETRIEVE_BUFFER_SIZE_LIMITS CodecR_EvtAcxAudioEngineRetrieveBufferSizeLimits;
NTSTATUS
CodecR_EvtAcxAudioEngineRetrieveBufferSizeLimits(
_In_ ACXAUDIOENGINE AudioEngine,
_In_ ACXDATAFORMAT DataFormat,
_Out_ PULONG MinBufferBytes,
_Out_ PULONG MaxBufferBytes
)
{
PAGED_CODE();
ULONG bytesPerSecond = AcxDataFormatGetAverageBytesPerSec(DataFormat);
*MinBufferBytes = (ULONG) (MIN_AUDIOENGINE_BUFFER_DURATION_IN_MS * bytesPerSecond / 1000);
*MaxBufferBytes = (ULONG) (MAX_AUDIOENGINE_BUFFER_DURATION_IN_MS * bytesPerSecond / 1000);
return STATUS_SUCCESS;
}
ACX 요구 사항
최소 ACX 버전: 1.0
ACX 버전에 대한 자세한 내용은 ACX 버전 개요를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | acxelements.h |
IRQL | PASSIVE_LEVEL |