Partilhar via


EVT_ACX_MUTE_ASSIGN_STATE função de retorno de chamada (acxelements.h)

A função de retorno de chamada EVT_ACX_MUTE_ASSIGN_STATE é implementada pelo driver e é chamada quando o estado de um canal especificado em um nó mudo é definido. O estado do canal pode ser definido como 0 (FALSE) ou 1 (TRUE), em que 0 indica que o canal não está mudo e 1 indica que o canal está mudo.

Sintaxe

EVT_ACX_MUTE_ASSIGN_STATE EvtAcxMuteAssignState;

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

Parâmetros

Mute

Um objeto ACXMUTE existente, inicializado. Para obter mais informações sobre objetos ACX, consulte Resumo de objetos ACX.

Channel

Um ULONG que se refere a um canal no nó mudo especificado. Se esse valor for -1, ele se referirá ao canal master que representa o estado de todos os canais no nó mudo.

State

Um ULONG que indica o estado do canal especificado no nó mudo (ou seja, se o canal está ativado ou não). Um valor de 0 (FALSE) indica que o canal não está mudo. Um valor de 1 (TRUE) indica que o canal está mudo. Se o valor do canal for -1 (referindo-se ao canal master), todos os canais nesse nó mudo serão definidos para esse estado.

Retornar valor

Retorna STATUS_SUCCESS se a chamada foi bem-sucedida. Caso contrário, ele retornará um código de erro apropriado. Para obter mais informações, consulte Usando valores NTSTATUS.

Comentários

Exemplo

O uso de exemplo é mostrado abaixo.

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

Versão mínima do ACX: 1.0

Para obter mais informações sobre versões do ACX, consulte Visão geral da versão do ACX.

Requisitos

Requisito Valor
Cabeçalho acxelements.h
IRQL PASSIVE_LEVEL

Confira também