функция обратного вызова 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.
Remarks
Пример
Ниже приведен пример использования.
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 |