EVT_ACX_AUDIOENGINE_RETRIEVE_BUFFER_SIZE_LIMITS funzione di callback (acxelements.h)
Il callback EVT_ACX_AUDIOENGINE_RETRIEVE_BUFFER_SIZE_LIMITS viene implementato dal driver e viene chiamato quando vengono richiesti limiti di dimensione del buffer per un determinato formato di dati per il motore audio specificato.
Sintassi
EVT_ACX_AUDIOENGINE_RETRIEVE_BUFFER_SIZE_LIMITS EvtAcxAudioengineRetrieveBufferSizeLimits;
NTSTATUS EvtAcxAudioengineRetrieveBufferSizeLimits(
ACXAUDIOENGINE AudioEngine,
ACXDATAFORMAT Format,
PULONG MinBufferSizeInBytes,
PULONG MaxBufferSizeInBytes
)
{...}
Parametri
AudioEngine
Oggetto ACXAUDIOENGINE per il quale sono stati richiesti i limiti delle dimensioni del buffer. Per altre informazioni sugli oggetti ACX, vedere Riepilogo degli oggetti ACX.
Format
ACXDATAFORMAT con cui il callback determina le dimensioni minime e massime del buffer con cui il motore audio può accomodarlo.
MinBufferSizeInBytes
Dimensioni minime del buffer che il motore audio hardware può supportare per il formato dati specificato, all'istanza quando viene chiamata. Le dimensioni del buffer sono specificate in byte.
MaxBufferSizeInBytes
Dimensioni massime del buffer che il motore audio hardware può supportare per il formato dati specificato, all'istanza quando viene chiamata. Le dimensioni del buffer sono specificate in byte.
Valore restituito
Restituisce STATUS_SUCCESS
se la chiamata ha avuto esito positivo. In caso contrario, restituisce un codice di errore appropriato. Per altre informazioni, vedere Uso dei valori NTSTATUS.
Commenti
Esempio
Di seguito è riportato un esempio di utilizzo.
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;
}
Requisiti di ACX
Versione minima di ACX: 1.0
Per altre informazioni sulle versioni ACX, vedere La panoramica della versione di ACX.
Requisiti
Requisito | Valore |
---|---|
Intestazione | acxelements.h |
IRQL | PASSIVE_LEVEL |