PCPFNEVENT_HANDLER Rückruffunktion (portcls.h)

Eine EventHandler Routine verarbeitet Ereignisanforderungen.

Syntax

PCPFNEVENT_HANDLER PcpfneventHandler;

NTSTATUS PcpfneventHandler(
  [in] PPCEVENT_REQUEST EventRequest
)
{...}

Parameter

[in] EventRequest

Zeiger auf eine initialisierte PCEVENT_REQUEST-Struktur

Rückgabewert

Der Ereignishandler gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich war. Andernfalls wird ein entsprechender Fehlercode zurückgegeben.

Hinweise

Jedes Ereignis, das ein Miniporttreiber verfügbar macht, ist einem Ereignishandler zugeordnet. Der Zweck des Ereignishandlers besteht darin, Ereignisanforderungen vom Porttreiber und seinen Clients zu verarbeiten. EventRequest ist ein Eingabeparameter für den Handler, der die folgenden Informationen zum Ereignis enthält:

  • Die Ereignissatz-GUID und ereignis-ID.
  • Wie das Ereignis ausgelöst werden soll.
  • Zeiger auf das Miniport-Zielobjekt und (für ein Anheften) Streamobjekt.
Dies ähnelt dem Typ der Informationen, die mit Eigenschaftenanforderungen bereitgestellt werden.

Der Miniporttreiber macht seine Ereignishandler über seine IMiniport::GetDescription-Methode verfügbar. Diese Methode gibt eine Deskriptorstruktur aus (siehe PCFILTER_DESCRIPTOR), die den Filter definiert, den der Miniporttreiber und der zugehörige Porttreiber gemeinsam implementieren. Diese Struktur enthält einen Zeiger auf die Automatisierungstabelle des Miniporttreibers (siehe PCAUTOMATION_TABLE), die wiederum einen Zeiger auf ein Array der Ereignisse des Miniporttreibers enthält. Jedes Arrayelement ist eine PCEVENT_ITEM-Struktur und enthält einen PCPFNEVENT_HANDLER Funktionszeiger auf den Handler für das Ereignis.

Die EventHandler Routine muss sich im nicht auslagerten Arbeitsspeicher befinden.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile portcls.h (include Portcls.h)

Weitere Informationen

IMiniport::GetDescription

IPortEvents::AddEventToEventList

IPortEvents::GenerateEventList

PCAUTOMATION_TABLE

PCEVENT_ITEM

PCEVENT_REQUEST

PCFILTER_DESCRIPTOR