Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der EVT_ACX_OBJECT_PROCESS_EVENT_REQUEST Rückruf wird vom Treiber zum Behandeln von Ereignisbenachrichtigungen verwendet.
Syntax
EVT_ACX_OBJECT_PROCESS_EVENT_REQUEST EvtAcxObjectProcessEventRequest;
VOID EvtAcxObjectProcessEventRequest(
ACXOBJECT Object,
ACXEVENT Event,
ACX_EVENT_VERB Verb,
ACXEVENTDATA EventData,
WDFREQUEST Request
)
{...}
Parameter
Object
Ein ACX-Objekt, das der Anforderung zugeordnet ist.
Event
Das ACXEVENT-Objekt (in Summary of ACX Objectsbeschrieben). Ein AcxEvent-Objekt, das eine asynchrone Benachrichtigung darstellt, die auf Treiberebene verfügbar ist. Ereignisse können acxCircuits, AcxStreams, AcxElements und AcxPins hinzugefügt werden. Intern werden sie als KS-Ereignisse auf oberen Ebenen verfügbar gemacht.
Verb
Ein Verb aus der ACX_EVENT_VERB-Aufzählung, das den Typ des Vorgangs beschreibt.
EventData
Ein optionales ACXEVENTDATA ACX-Objekt, das Informationen zum Ereignis bereitstellt.
Request
Ein optionales WDFREQUEST-Objekt, das diesem Vorgang zugeordnet ist.
Weitere Informationen zum Arbeiten mit WDF-Anforderungsobjekten finden Sie unter Creating Framework Request Objects und wdfrequest.h header.
Rückgabewert
Nichts
Bemerkungen
Beispiel
Die Beispielverwendung wird unten gezeigt.
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-Anforderungen
Mindestens ACX-Version: 1.0
Weitere Informationen zu ACX-Versionen finden Sie unter ACX-Versionsübersicht.
Anforderungen
| Anforderung | Wert |
|---|---|
| Header- | acxrequest.h |
| IRQL- | PASSIVE_LEVEL |