EVT_ACX_MUTE_ASSIGN_STATE función de devolución de llamada (acxelements.h)

El controlador implementa la función de devolución de llamada EVT_ACX_MUTE_ASSIGN_STATE y se llama cuando se establece el estado de un canal especificado en un nodo de exclusión. El estado del canal se puede establecer en 0 (FALSE) o 1 (TRUE), donde 0 indica que el canal no está silenciado y 1 indica que el canal está silenciado.

Sintaxis

EVT_ACX_MUTE_ASSIGN_STATE EvtAcxMuteAssignState;

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

Parámetros

Mute

Objeto ACXMUTE existente, inicializado. Para obtener más información sobre los objetos ACX, vea Resumen de objetos ACX.

Channel

Una ULONG que hace referencia a un canal en el nodo silenciado especificado. Si este valor es -1, hace referencia al canal maestro que representa el estado de todos los canales del nodo silenciado.

State

ULONG que indica el estado del canal especificado en el nodo silenciado (es decir, si el canal está silenciado o no). Un valor de 0 (FALSE) indica que el canal no está silenciado. Un valor de 1 (TRUE) indica que el canal está silenciado. Si el valor del canal es -1 (haciendo referencia al canal maestro), todos los canales de este nodo silenciado se establecerán en este estado.

Valor devuelto

Devuelve STATUS_SUCCESS si la llamada se realizó correctamente. De lo contrario, devuelve un código de error adecuado. Para obtener más información, vea Uso de valores NTSTATUS.

Comentarios

Ejemplo

A continuación se muestra un ejemplo de uso.

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

Requisitos de ACX

Versión mínima de ACX: 1.0

Para obtener más información sobre las versiones de ACX, consulte Introducción a la versión de ACX.

Requisitos

Requisito Valor
Header acxelements.h
IRQL PASSIVE_LEVEL

Consulte también