Freigeben über


EVT_ACX_AUDIOENGINE_RETRIEVE_BUFFER_SIZE_LIMITS Rückruffunktion (acxelements.h)

Der EVT_ACX_AUDIOENGINE_RETRIEVE_BUFFER_SIZE_LIMITS Rückruf wird vom Treiber implementiert und aufgerufen, wenn die Puffergrößenbeschränkungen für ein bestimmtes Datenformat für die angegebene Audio-Engine angefordert werden.

Syntax

EVT_ACX_AUDIOENGINE_RETRIEVE_BUFFER_SIZE_LIMITS EvtAcxAudioengineRetrieveBufferSizeLimits;

NTSTATUS EvtAcxAudioengineRetrieveBufferSizeLimits(
  ACXAUDIOENGINE AudioEngine,
  ACXDATAFORMAT Format,
  PULONG MinBufferSizeInBytes,
  PULONG MaxBufferSizeInBytes
)
{...}

Parameter

AudioEngine

Das ACXAUDIOENGINE-Objekt, für das die Puffergrößenbeschränkungen angefordert wurden. Weitere Informationen zu ACX-Objekten finden Sie unter Zusammenfassung von ACX-Objekten.

Format

Das ACXDATAFORMAT, für das der Rückruf die minimalen und maximalen Puffergrößen bestimmt, mit denen die Audio-Engine sie aufnehmen kann.

MinBufferSizeInBytes

Die Mindestgröße des Puffers, den die Hardwareaudio-Engine für das angegebene Datenformat unterstützen kann, am instance, wenn es aufgerufen wird. Die Puffergröße wird in Bytes angegeben.

MaxBufferSizeInBytes

Die maximale Größe des Puffers, den die Hardwareaudio-Engine für das angegebene Datenformat unterstützen kann, am instance, wenn es aufgerufen wird. Die Puffergröße wird in Bytes angegeben.

Rückgabewert

Gibt zurück STATUS_SUCCESS , wenn der Aufruf erfolgreich war. Andernfalls wird ein geeigneter Fehlercode zurückgegeben. Weitere Informationen finden Sie unter Verwenden von NTSTATUS-Werten.

Bemerkungen

Beispiel

Das Beispiel für die Verwendung ist unten dargestellt.

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;
}

ACX-Anforderungen

ACX-Mindestversion: 1.0

Weitere Informationen zu ACX-Versionen finden Sie unter ACX-Versionsübersicht.

Anforderungen

Anforderung Wert
Header acxelements.h
IRQL PASSIVE_LEVEL

Weitere Informationen