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 イベント」を参照してください。
例
このコード snip の例では、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 |