Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die EVT_ACX_VOLUME_ASSIGN_LEVEL Rückruffunktion wird vom Treiber implementiert und aufgerufen, wenn die Volumeebene eines Kanals für einen Volumeknoten festgelegt wird.
Syntax
EVT_ACX_VOLUME_ASSIGN_LEVEL EvtAcxVolumeAssignLevel;
NTSTATUS EvtAcxVolumeAssignLevel(
ACXVOLUME Volume,
ULONG Channel,
LONG VolumeLevel
)
{...}
Parameter
Volume
Ein vorhandenes, initialisiertes ACXVOLUME-Objekt. Weitere Informationen zu ACX-Objekten finden Sie unter Summary of ACX Objects.
Channel
Ein ULONG, der auf einen Kanal auf dem angegebenen Volumeknoten verweist. Wenn dieser Wert -1 ist, verweist er auf den Masterkanal, der die Volumeebene für alle Kanäle auf dem Volumeknoten darstellt.
VolumeLevel
Ein LONG-Wert, der die Volumeebene eines Kanals in einem Volumeknoten angibt. Wenn der Kanalwert -1 ist (verweisend auf den Masterkanal), werden alle Kanäle auf diesem Volumeknoten auf diese Volumeebene festgelegt. Die Werte auf Volumeebene verwenden die folgende Skalierung:
-2147483648 ist -infinity Dezibel (Dämpfung),
-2147483647 ist -32767,99998474 decibels (Dämpfung) und
+2147483647 ist +32767,99998474 Dezibel (Gewinn).
Rückgabewert
Gibt STATUS_SUCCESS zurück, wenn der Anruf erfolgreich war. Andernfalls wird ein entsprechender Fehlercode zurückgegeben. Weitere Informationen finden Sie unter Verwenden von NTSTATUS-Werten.
Bemerkungen
Beispiel
Die Beispielverwendung wird unten gezeigt.
typedef struct _VOLUME_ELEMENT_CONTEXT {
LONG VolumeLevel[MAX_CHANNELS];
} VOLUME_ELEMENT_CONTEXT, *PVOLUME_ELEMENT_CONTEXT;
WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(VOLUME_ELEMENT_CONTEXT, GetVolumeElementContext)
EVT_ACX_VOLUME_ASSIGN_LEVEL CodecC_EvtVolumeAssignLevelCallback;
NTSTATUS
CodecC_EvtVolumeAssignLevelCallback(
_In_ ACXVOLUME Volume,
_In_ ULONG Channel,
_In_ LONG VolumeLevel
)
{
PAGED_CODE();
ASSERT(Volume);
PVOLUME_ELEMENT_CONTEXT volumeCtx = GetVolumeElementContext(Volume);
ASSERT(volumeCtx);
if (Channel != ALL_CHANNELS_ID)
{
volumeCtx->VolumeLevel[Channel] = VolumeLevel;
}
else
{
for (ULONG i = 0; i < MAX_CHANNELS; ++i)
{
volumeCtx->VolumeLevel[i] = VolumeLevel;
}
}
return STATUS_SUCCESS;
}
ACX-Anforderungen
Mindestens ACX-Version: 1.0
Weitere Informationen zu ACX-Versionen finden Sie unter ACX-Versionsübersicht.
Anforderungen
| Anforderung | Wert |
|---|---|
| Header- | acxelements.h |
| IRQL- | PASSIVE_LEVEL |