функция обратного вызова EVT_ACX_MUTE_ASSIGN_STATE (acxelements.h)
Функция обратного вызова EVT_ACX_MUTE_ASSIGN_STATE реализуется драйвером и вызывается при установке состояния указанного канала на узле отключения звука. Состояние канала может быть равно 0 (FALSE) или 1 (TRUE), где 0 означает, что канал не отключен, а 1 указывает, что канал отключен.
Синтаксис
EVT_ACX_MUTE_ASSIGN_STATE EvtAcxMuteAssignState;
NTSTATUS EvtAcxMuteAssignState(
ACXMUTE Mute,
ULONG Channel,
ULONG State
)
{...}
Параметры
Mute
Существующий инициализированный объект ACXMUTE. Дополнительные сведения об объектах ACX см. в разделе Сводка по объектам ACX.
Channel
Объект ULONG, ссылающийся на канал на указанном узле отключения звука. Если это значение равно -1, оно ссылается на канал master, который представляет состояние для всех каналов на узле отключения звука.
State
Значение ULONG, указывающее состояние указанного канала на узле отключения звука (т. е. указывает, отключен ли канал). Значение 0 (FALSE) указывает, что канал не отключен. Значение 1 (TRUE) указывает, что канал отключен. Если значение канала равно -1 (ссылается на канал master), то все каналы на этом узле отключения звука будут иметь это состояние.
Возвращаемое значение
Возвращает значение STATUS_SUCCESS
, если вызов был успешным. В противном случае возвращается соответствующий код ошибки. Дополнительные сведения см. в разделе Использование значений NTSTATUS.
Remarks
Пример
Ниже приведен пример использования.
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;
}
Требования ACX
Минимальная версия ACX: 1.0
Дополнительные сведения о версиях ACX см. в статье Обзор версий ACX.
Требования
Требование | Значение |
---|---|
Заголовок | acxelements.h |
IRQL | PASSIVE_LEVEL |