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、ACXSTREAM、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 |
関連項目
- acxevents.h ヘッダー を する