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 la taille minimale et maximale des mémoires tampons avec lesquelles le moteur audio peut l’accueillir.

MinBufferSizeInBytes

Taille minimale de mémoire tampon que le moteur audio matériel peut prendre en charge pour le format de données donné, à l’instance lorsqu’il est appelé. La taille de la mémoire tampon est spécifiée en octets.

MaxBufferSizeInBytes

Taille maximale de mémoire tampon que le moteur audio matériel peut prendre en charge pour le format de données donné, à l’instance lorsqu’il est appelé. La taille de la mémoire tampon est spécifiée en octets.

Valeur de retour

Retourne STATUS_SUCCESS si l’appel a réussi. Sinon, elle retourne un code d’erreur approprié. Pour plus d’informations, consultez Using NTSTATUS Values.

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 minimale d’ACX : 1.0

Pour plus d’informations sur les versions ACX, consultez vue d’ensemble de la version ACX.

Exigences

Exigence Valeur
d’en-tête acxelements.h
IRQL PASSIVE_LEVEL

Voir aussi