Condividi tramite


EVT_ACX_MUTE_ASSIGN_STATE funzione di callback (acxelements.h)

La EVT_ACX_MUTE_ASSIGN_STATE funzione di callback viene implementata dal driver e viene chiamata quando viene impostato lo stato di un canale specificato in un nodo disattivato. Lo stato del canale può essere impostato su 0 (FALSE) o 1 (TRUE), dove 0 indica che il canale non è disattivato e 1 indica che il canale è disattivato.

Sintassi

EVT_ACX_MUTE_ASSIGN_STATE EvtAcxMuteAssignState;

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

Parametri

Mute

Oggetto ACXMUTE esistente, inizializzato. Per altre informazioni sugli oggetti ACX, vedere Riepilogo degli oggetti ACX.

Channel

ULONG che fa riferimento a un canale nel nodo di disattivazione disattivato specificato. Se questo valore è -1, fa riferimento al canale master che rappresenta lo stato per tutti i canali nel nodo disattivato.

State

ULONG che indica lo stato del canale specificato nel nodo disattivato, ad esempio se il canale è disattivato o meno. Il valore 0 (FALSE) indica che il canale non è disattivato. Il valore 1 (TRUE) indica che il canale è disattivato. Se il valore del canale è -1 (facendo riferimento al canale master), tutti i canali in questo nodo di disattivazione verranno impostati su questo stato.

Valore restituito

Restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo. In caso contrario, restituisce un codice di errore appropriato. Per altre informazioni, vedere Uso dei valori NTSTATUS.

Commenti

Esempio

Di seguito è riportato un esempio di utilizzo.

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

Requisiti di ACX

Versione minima di ACX: 1.0

Per altre informazioni sulle versioni ACX, vedere La panoramica della versione di ACX.

Requisiti

Requisito Valore
Intestazione acxelements.h
IRQL PASSIVE_LEVEL

Vedi anche