EVT_ACX_OBJECT_PROCESS_EVENT_REQUEST コールバック関数 (acxrequest.h)
EVT_ACX_OBJECT_PROCESS_EVENT_REQUESTコールバックは、イベント通知を処理するためにドライバーによって使用されます。
構文
EVT_ACX_OBJECT_PROCESS_EVENT_REQUEST EvtAcxObjectProcessEventRequest;
void EvtAcxObjectProcessEventRequest(
ACXOBJECT Object,
ACXEVENT Event,
ACX_EVENT_VERB Verb,
ACXEVENTDATA EventData,
WDFREQUEST Request
)
{...}
パラメーター
Object
要求に関連付けられている ACX オブジェクト。
Event
ACXEVENT オブジェクト ( ACX オブジェクトの概要に関するページで説明されています)。 ドライバー レベルで使用できる非同期通知を表す AcxEvent オブジェクト。 イベントは、AcxCircuits、AcxStreams、AcxElements、AcxPins に追加できます。 内部的には、KS イベントとして上位レイヤーに公開されます。
Verb
操作の種類を記述する ACX_EVENT_VERB 列挙体の動詞。
EventData
イベントに関する情報を提供する省略可能な ACXEVENTDATA ACX オブジェクト。
Request
この操作に関連付けられているオプションの WDFREQUEST オブジェクト。
WDF 要求オブジェクトの操作の詳細については、「 Framework 要求オブジェクト と wdfrequest.h ヘッダーの作成」を参照してください。
戻り値
なし
解説
例
使用例を次に示します。
EVT_ACX_OBJECT_PROCESS_EVENT_REQUEST CodecR_EvtMuteElementChangeEventCallback;
...
VOID
CodecR_EvtMuteElementChangeEventCallback(
_In_ ACXOBJECT Object,
_In_ ACXEVENT Event,
_In_ ACX_EVENT_VERB Verb,
_In_opt_ ACXEVENTDATA EventData,
_In_opt_ WDFREQUEST Request
)
{
NTSTATUS status = STATUS_NOT_SUPPORTED;
PCODEC_MUTE_ELEMENT_CONTEXT muteCtx = NULL;
CODEC_MUTE_EVENT_CONTEXT * muteEventCtx;
PAGED_CODE();
muteCtx = GetCodecMuteElementContext(Object);
ASSERT(muteCtx);
// for testing.
muteEventCtx = GetCodecMuteEventContext(Event);
ASSERT(muteEventCtx);
//
// Take the correct action: enable/disable.
//
switch (Verb)
{
case AcxEventVerbEnable:
AcxEventAddEventData(Event, EventData);
WdfTimerStart(muteEventCtx->Timer, WDF_REL_TIMEOUT_IN_MS(10));
status = STATUS_SUCCESS;
break;
case AcxEventVerbBasicSupport:
status = STATUS_SUCCESS;
break;
case AcxEventVerbDisable:
ASSERT(Request == NULL);
//
// Verb is AcxEventVerbDisable;
// It is ok to generate events even if no one is listening.
// If present, ACX completes the request associated with this action.
//
break;
default:
ASSERT(FALSE);
status = STATUS_INVALID_DEVICE_REQUEST;
break;
}
if (Request != NULL)
{
WdfRequestComplete(Request, status);
}
}
ACX の要件
最小 ACX バージョン: 1.0
ACX バージョンの詳細については、「 ACX バージョンの概要」を参照してください。
要件
要件 | 値 |
---|---|
Header | acxrequest.h |
IRQL | PASSIVE_LEVEL |
こちらもご覧ください
- [acxrequest.h ヘッダー](index.md)