EVT_ACX_AUDIOENGINE_RETRIEVE_BUFFER_SIZE_LIMITS função de retorno de chamada (acxelements.h)
O retorno de chamada EVT_ACX_AUDIOENGINE_RETRIEVE_BUFFER_SIZE_LIMITS é implementado pelo driver e é chamado quando os limites de tamanho do buffer para um determinado formato de dados são solicitados para o mecanismo de áudio especificado.
Sintaxe
EVT_ACX_AUDIOENGINE_RETRIEVE_BUFFER_SIZE_LIMITS EvtAcxAudioengineRetrieveBufferSizeLimits;
NTSTATUS EvtAcxAudioengineRetrieveBufferSizeLimits(
ACXAUDIOENGINE AudioEngine,
ACXDATAFORMAT Format,
PULONG MinBufferSizeInBytes,
PULONG MaxBufferSizeInBytes
)
{...}
Parâmetros
AudioEngine
O objeto ACXAUDIOENGINE para o qual os limites de tamanho do buffer foram solicitados. Para obter mais informações sobre objetos ACX, consulte Resumo de objetos ACX.
Format
O ACXDATAFORMAT para o qual o retorno de chamada está determinando os tamanhos de buffer mínimo e máximo com os quais o mecanismo de áudio pode acomodá-lo.
MinBufferSizeInBytes
O tamanho mínimo do buffer que o mecanismo de áudio de hardware pode dar suporte para o formato de dados fornecido, na instância em que ele é chamado. O tamanho do buffer é especificado em bytes.
MaxBufferSizeInBytes
O tamanho máximo do buffer que o mecanismo de áudio de hardware pode dar suporte para o formato de dados fornecido, na instância em que ele é chamado. O tamanho do buffer é especificado em bytes.
Retornar valor
Retorna STATUS_SUCCESS
se a chamada foi bem-sucedida. Caso contrário, ele retornará um código de erro apropriado. Para obter mais informações, consulte Usando valores NTSTATUS.
Comentários
Exemplo
O uso de exemplo é mostrado abaixo.
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;
}
Requisitos do ACX
Versão mínima do ACX: 1.0
Para obter mais informações sobre as versões do ACX, consulte Visão geral da versão do ACX.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | acxelements.h |
IRQL | PASSIVE_LEVEL |