Freigeben über


PsSetCreateProcessNotifyRoutine-Funktion (ntddk.h)

Die PsSetCreateProcessNotifyRoutine Routine fügt eine vom Treiber bereitgestellte Rückrufroutine hinzu oder entfernt sie aus einer Liste von Routinen, die aufgerufen werden sollen, wenn ein Prozess erstellt oder gelöscht wird.

Syntax

NTSTATUS PsSetCreateProcessNotifyRoutine(
  [in] PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine,
  [in] BOOLEAN                        Remove
);

Parameter

[in] NotifyRoutine

Gibt den Einstiegspunkt einer vom Aufrufer bereitgestellten Rückrufroutine zur Prozesserstellung an. Siehe PCREATE_PROCESS_NOTIFY_ROUTINE.

[in] Remove

Gibt an, ob die von NotifyRoutine angegebene Routine der Liste der Benachrichtigungsroutinen des Systems hinzugefügt oder daraus entfernt werden soll. Wenn FALSE-, wird der Liste die angegebene Routine hinzugefügt. Wenn TRUE, wird die angegebene Routine aus der Liste entfernt.

Rückgabewert

PsSetCreateProcessNotifyRoutine kann eine der folgenden Werte zurückgeben:

Rückgabecode Beschreibung
STATUS_SUCCESS
Die angegebene NotifyRoutine ist jetzt beim System registriert.
STATUS_INVALID_PARAMETER
Die angegebene NotifyRoutine wurde bereits registriert, sodass dieser Aufruf ein redundanter Anruf ist oder das System seine Grenze für die Registrierung von Rückrufen zur Prozesserstellung erreicht hat.

Bemerkungen

Treiber der höchsten Ebene können PsSetCreateProcessNotifyRoutine- aufrufen, um ihre Prozesserstellungsbenachrichtigungsroutinen einzurichten, die als PCREATE_PROCESS_NOTIFY_ROUTINEimplementiert werden.

Ein IFS- oder Systemprofiltreiber auf höchster Ebene kann einen Prozesserstellungsrückruf registrieren, um die systemweite Erstellung und Löschung von Prozessen im internen Zustand des Treibers nachzuverfolgen. Für Windows Vista und höhere Versionen von Windows kann das System bis zu 64 Rückrufroutinen für die Prozesserstellung registrieren.

Ein Treiber muss alle Rückrufe entfernen, die er registriert, bevor er entladen wird. Sie können den Rückruf entfernen, indem Sie PsSetCreateProcessNotify mit Remove = TRUEaufrufen. Ein Treiber darf diesen Aufruf nicht aus der Implementierung der PCREATE_PROCESS_NOTIFY_ROUTINE Rückrufroutine ausführen.

Nachdem eine vom Treiber bereitgestellte Routine registriert wurde, wird sie aufgerufen, wobei Create auf TRUE- festgelegt ist, unmittelbar nachdem der anfängliche Thread innerhalb des neu erstellten Prozesses erstellt wurde, der durch die Eingabe ProcessId Handle festgelegt wurde. Die Eingabe ParentId- Handle identifiziert den übergeordneten Prozess des neu erstellten Prozesses (dies ist das übergeordnete Element, das für Priorität, Affinität, Kontingent, Token und Handle-Vererbung verwendet wird).

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Ab Windows 2000 verfügbar.
Zielplattform- Universal
Header- ntddk.h (include Ntddk.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- PASSIVE_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs(storport), IrqlPsPassive(wdm), PowerIrpDDis(wdm)

Siehe auch

PCREATE_PROCESS_NOTIFY_ROUTINE

PsGetCurrentProcessId

PsSetCreateProcessNotifyRoutineEx

PsSetCreateThreadNotifyRoutine

PsSetLoadImageNotifyRoutine