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
硬體音訊引擎可支援指定數據格式的緩衝區大小下限,在呼叫時實例。 緩衝區大小是以位元組指定。
MaxBufferSizeInBytes
呼叫時,硬體音訊引擎可支援指定數據格式的緩衝區大小上限。 緩衝區大小是以位元組指定。
傳回值
如果呼叫成功,則傳回 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 |