Partager via


EVT_ACX_MUTE_ASSIGN_STATE fonction de rappel (acxelements.h)

La fonction de rappel EVT_ACX_MUTE_ASSIGN_STATE est implémentée par le pilote et est appelée lorsque l’état d’un canal spécifié sur un nœud muet est défini. L’état du canal peut être défini sur 0 (FALSE) ou 1 (TRUE), où 0 indique que le canal n’est pas désactivé et 1 indique que le canal est désactivé.

Syntaxe

EVT_ACX_MUTE_ASSIGN_STATE EvtAcxMuteAssignState;

NTSTATUS EvtAcxMuteAssignState(
  ACXMUTE Mute,
  ULONG Channel,
  ULONG State
)
{...}

Paramètres

Mute

Objet ACXMUTE initialisé existant. Pour plus d’informations sur les objets ACX, consultez Résumé des objets ACX.

Channel

ULONG faisant référence à un canal sur le nœud muet spécifié. Si cette valeur est -1, elle fait référence au canal master qui représente l’état de tous les canaux sur le nœud muet.

State

ULONG indiquant l’état du canal spécifié sur le nœud muet (par exemple, si le canal est désactivé ou non). La valeur 0 (FALSE) indique que le canal n’est pas désactivé. La valeur 1 (TRUE) indique que le canal est désactivé. Si la valeur du canal est -1 (faisant référence au canal master), tous les canaux de ce nœud muet sont définis sur cet état.

Valeur retournée

Retourne STATUS_SUCCESS si l’appel a réussi. Sinon, il 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.

typedef struct _CODEC_MUTE_ELEMENT_CONTEXT {
    BOOL            MuteState[MAX_CHANNELS];
} CODEC_MUTE_ELEMENT_CONTEXT, *PCODEC_MUTE_ELEMENT_CONTEXT;

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(CODEC_MUTE_ELEMENT_CONTEXT, GetCodecMuteElementContext)

EVT_ACX_MUTE_ASSIGN_STATE           CodecR_EvtMuteAssignState;

NTSTATUS
NTAPI
CodecR_EvtMuteAssignState(
    _In_ ACXMUTE    Mute,
    _In_ ULONG      Channel,
    _In_ ULONG      State
    )
{
    PCODEC_MUTE_ELEMENT_CONTEXT muteCtx;
    ULONG                       i;

    PAGED_CODE();

    muteCtx = GetCodecMuteElementContext(Mute);
    ASSERT(muteCtx);

    // use first channel for all channels setting.
    if (Channel != ALL_CHANNELS_ID)
    {
        muteCtx->MuteState[Channel] = State;
    }
    else
    {
        for (i = 0; i < MAX_CHANNELS; ++i)
        {
            muteCtx->MuteState[i] = State;
        }
    }

    return STATUS_SUCCESS;
}

Configuration requise d’ACX

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