次の方法で共有


EVT_ACX_MUTE_RETRIEVE_STATE コールバック関数 (acxelements.h)

EVT_ACX_MUTE_RETRIEVE_STATEコールバック関数はドライバーによって実装され、ミュート ノード上の指定されたチャネルの状態が要求されたときに呼び出されます。

構文

EVT_ACX_MUTE_RETRIEVE_STATE EvtAcxMuteRetrieveState;

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

パラメーター

Mute

既存の初期化された ACXMUTE オブジェクト。 ACX オブジェクトの詳細については、「 ACX オブジェクトの概要」を参照してください。

Channel

指定したミュート ノード上のチャネルを参照する ULONG。 この値が -1 の場合は、ミュート ノード上のすべてのチャネルの状態を表すマスター チャネルを参照します。

State

ミュート ノード上の指定されたチャネルの状態を示す ULONG (つまり、チャネルがミュートされているかどうか)。 値 0 (FALSE) は、チャネルがミュートされていないことを示します。 値 1 (TRUE) は、チャネルがミュートされていることを示します。

戻り値

STATUS_SUCCESS呼び出しが成功した場合は を返します。 それ以外の場合は、適切なエラー コードを返します。 詳細については、「 NTSTATUS 値の使用」を参照してください。

解説

使用例を次に示します。

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_RETRIEVE_STATE         CodecR_EvtMuteRetrieveState;

NTAPI
CodecR_EvtMuteRetrieveState(
    _In_  ACXMUTE   Mute,
    _In_  ULONG     Channel,
    _Out_ ULONG *   State
    )
{
    PCODEC_MUTE_ELEMENT_CONTEXT muteCtx;

    PAGED_CODE();

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

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

    return STATUS_SUCCESS;
}

ACX の要件

最小 ACX バージョン: 1.0

ACX バージョンの詳細については、「 ACX バージョンの概要」を参照してください。

要件

要件
Header acxelements.h
IRQL PASSIVE_LEVEL

こちらもご覧ください