функция обратного вызова 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.
Требования
Требование | Ценность |
---|---|
заголовка | acxelements.h |
IRQL | PASSIVE_LEVEL |