EVT_ACX_AUDIOENGINE_RETRIEVE_BUFFER_SIZE_LIMITS fonction de rappel (acxelements.h)
Le rappel EVT_ACX_AUDIOENGINE_RETRIEVE_BUFFER_SIZE_LIMITS est implémenté par le pilote et est appelé lorsque les limites de taille de mémoire tampon pour un format de données donné sont demandées pour le moteur audio spécifié.
Syntaxe
EVT_ACX_AUDIOENGINE_RETRIEVE_BUFFER_SIZE_LIMITS EvtAcxAudioengineRetrieveBufferSizeLimits;
NTSTATUS EvtAcxAudioengineRetrieveBufferSizeLimits(
ACXAUDIOENGINE AudioEngine,
ACXDATAFORMAT Format,
PULONG MinBufferSizeInBytes,
PULONG MaxBufferSizeInBytes
)
{...}
Paramètres
AudioEngine
Objet ACXAUDIOENGINE pour lequel les limites de taille de mémoire tampon ont été demandées. Pour plus d’informations sur les objets ACX, consultez Résumé des objets ACX.
Format
ACXDATAFORMAT pour lequel le rappel détermine les tailles minimales et maximales de mémoire tampon que le moteur audio peut prendre en charge.
MinBufferSizeInBytes
Taille minimale de la mémoire tampon que le moteur audio matériel peut prendre en charge pour le format de données donné, au instance lorsqu’il est appelé. La taille de la mémoire tampon est spécifiée en octets.
MaxBufferSizeInBytes
Taille maximale de la mémoire tampon que le moteur audio matériel peut prendre en charge pour le format de données donné, au instance lorsqu’il est appelé. La taille de la mémoire tampon est spécifiée en octets.
Valeur retournée
Retourne STATUS_SUCCESS
si l’appel a réussi. Sinon, elle retourne un code d’erreur approprié. Pour plus d’informations, consultez Utilisation de valeurs NTSTATUS.
Remarques
Exemple
L’exemple d’utilisation est illustré ci-dessous.
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;
}
Configuration requise pour ACX
Version ACX minimale : 1.0
Pour plus d’informations sur les versions d’ACX, consultez Vue d’ensemble des versions d’ACX.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | acxelements.h |
IRQL | PASSIVE_LEVEL |