Partager via


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

Voir aussi