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 版本概觀。
規格需求
需求 | 值 |
---|---|
標頭 | acxrequest.h |
IRQL | PASSIVE_LEVEL |
另請參閱
- [acxrequest.h 標頭] (index.md)