EVT_ACX_VOLUME_RETRIEVE_LEVEL Rückruffunktion (acxelements.h)

Die EVT_ACX_VOLUME_RETRIEVE_LEVEL Rückruffunktion wird vom Treiber implementiert und aufgerufen, wenn die Volumeebene eines angegebenen Kanals auf einem Volumeknoten angefordert wird.

Syntax

EVT_ACX_VOLUME_RETRIEVE_LEVEL EvtAcxVolumeRetrieveLevel;

NTSTATUS EvtAcxVolumeRetrieveLevel(
  ACXVOLUME Volume,
  ULONG Channel,
  LONG *VolumeLevel
)
{...}

Parameter

Volume

Ein vorhandenes, initialisiertes ACXVOLUME-Objekt. Weitere Informationen zu ACX-Objekten finden Sie unter Zusammenfassung der ACX-Objekte.

Channel

Eine ULONG, die auf einen Kanal auf dem angegebenen Volumeknoten verweist. Wenn dieser Wert -1 ist, bezieht er sich auf den master Kanal, der die Ebene für alle Kanäle auf dem Volumeknoten festlegt.

VolumeLevel

Ein LONG-Wert, der die Volumeebene eines Kanals in einem bestimmten Stream angibt. Volumelevelwerte verwenden die folgende Skalierung:

-2147483648 ist -unendliche Dezibel (Dämpfung),

-2147483647 ist -32767.99998474 Dezibel (Dämpfung), und

+2147483647 ist +32767,99998474 Dezibel (Verstärkung).

Rückgabewert

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

Bemerkungen

Beispiel

Die Verwendungsbeispiele finden Sie unten.

typedef struct _CODEC_VOLUME_ELEMENT_CONTEXT {
    LONG            VolumeLevel[MAX_CHANNELS];
} CODEC_VOLUME_ELEMENT_CONTEXT, *PCODEC_VOLUME_ELEMENT_CONTEXT;

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(CODEC_VOLUME_ELEMENT_CONTEXT, GetCodecVolumeElementContext)

EVT_ACX_VOLUME_RETRIEVE_LEVEL       CodecR_EvtVolumeRetrieveLevel;

NTSTATUS
NTAPI
CodecR_EvtVolumeRetrieveLevel(
    _In_  ACXVOLUME Volume,
    _In_  ULONG     Channel,
    _Out_ LONG *    VolumeLevel
)
{
    PCODEC_VOLUME_ELEMENT_CONTEXT   volumeCtx;

    PAGED_CODE();

    volumeCtx = GetCodecVolumeElementContext(Volume);
    ASSERT(volumeCtx);

    if (Channel != ALL_CHANNELS_ID)
    {
        *VolumeLevel = volumeCtx->VolumeLevel[Channel];
    }
    else
    {
        *VolumeLevel = volumeCtx->VolumeLevel[0];
    }

    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