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 |
---|---|
|
Die angegebene NotifyRoutine ist jetzt beim System registriert. |
|
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
PsSetCreateProcessNotifyRoutineEx