acxEventCreate 函式 (acxevents.h)

AcxEventCreate 函式會建立 ACX 事件。

語法

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

參數

Object

ACX 物件 摘要中所述的 ACXOBJECT

Attributes

使用用來設定各種物件值 之WDF_OBJECT_ATTRIBUTES 定義的其他屬性:清除和終結回呼、內容類型,以及指定其父物件。

Config

定義 ACX 事件組態 的ACX_EVENT_CONFIG 結構。

Event

新建立的 ACXEVENT 物件 (ACX 物件 摘要) 中所述。

傳回值

如果呼叫成功,則傳 STATUS_SUCCESS 回 。 否則,它會傳回適當的錯誤碼。 如需詳細資訊,請參閱 使用NTSTATUS值

備註

ACXEVENT 代表可在驅動程式層級取得的異步通知。 事件可以新增至 ACXCIRCUIT、ACXSTREAMs、ACXELEMENT 和 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

另請參閱