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 existant, initialisé. 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 maître 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 (c’est-à-dire 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 maître), tous les canaux sur ce nœud muet sont définis sur cet état.

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.

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