Поделиться через


Функция AcxEventCreate (acxevents.h)

Функция AcxEventCreate создает событие ACX.

Синтаксис

NTSTATUS AcxEventCreate(
  ACXOBJECT              Object,
  PWDF_OBJECT_ATTRIBUTES Attributes,
  PACX_EVENT_CONFIG      Config,
  ACXEVENT               *Event
);

Параметры

Object

ACXOBJECT, описанный в разделе Сводка по объектам ACX.

Attributes

Дополнительные атрибуты, определенные с помощью WDF_OBJECT_ATTRIBUTES , которые используются для задания значений различных объектов: очистки и уничтожения обратных вызовов, типа контекста и указания его родительского объекта.

Config

Структура ACX_EVENT_CONFIG , определяющая конфигурацию события ACX.

Event

Вновь созданный объект ACXEVENT (описан в разделе Сводка по объектам ACX).

Возвращаемое значение

Возвращает значение STATUS_SUCCESS , если вызов был успешным. В противном случае возвращается соответствующий код ошибки. Дополнительные сведения см. в разделе Использование значений NTSTATUS.

Комментарии

ACXEVENT представляет асинхронное уведомление, доступное на уровне драйвера. События можно добавлять в ACXCIRCUITs, ACXSTREAM, ACXELEMENTS и ACXPIN. Внутри они предоставляются как события KS для верхних слоев. Дополнительные сведения о событиях KS см. в разделе События KS.

Пример

В этом примере фрагмента кода показано, как ACX использует AcxEventCreate для создания события изменения аудиоразъема.

    NTSTATUS status = STATUS_SUCCESS;
    
    PAGED_CODE();

    ACX_EVENT_CALLBACKS         eventCallbacks;
    ACX_EVENT_CONFIG            eventCfg;
    AFX_PIN_EVENT_CONTEXT       *eventCtx;
    ACXEVENT                    jackEvent;
    WDF_OBJECT_ATTRIBUTES       attributes;

    //
    // Add jack info change event to this jack object
    //
    ACX_EVENT_CALLBACKS_INIT(&eventCallbacks);
    eventCallbacks.EvtAcxEventEnable = &AfxPin::EvtJackEventEnableCallback;
    eventCallbacks.EvtAcxEventDisable = &AfxPin::EvtJackEventDisableCallback;

    ACX_EVENT_CONFIG_INIT(&eventCfg);
    eventCfg.Set = &KSEVENTSETID_PinCapsChange;
    eventCfg.Id = KSEVENT_PINCAPS_JACKINFOCHANGE;
    eventCfg.Callbacks = &eventCallbacks;

    WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&attributes, AFX_PIN_EVENT_CONTEXT);
    attributes.ParentObject = GetObjectHandle();
    status = AcxEventCreate(GetObjectHandle(), &attributes, &eventCfg, &jackEvent);

Требования ACX

Минимальная версия ACX: 1.0

Дополнительные сведения о версиях ACX см. в статье Обзор версий ACX.

Требования

Требование Значение
Заголовок acxevents.h
IRQL PASSIVE_LEVEL

См. также раздел