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、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 版本概述。
要求
要求 | 值 |
---|---|
Header | acxevents.h |
IRQL | PASSIVE_LEVEL |