функция обратного вызова 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 |