Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Программа PsSetCreateProcessNotifyRoutine добавляет подпрограмму обратного вызова, предоставленного драйвером, или удаляет ее из списка подпрограмм, которые необходимо вызывать при создании или удалении процесса.
Синтаксис
NTSTATUS PsSetCreateProcessNotifyRoutine(
[in] PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine,
[in] BOOLEAN Remove
);
Параметры
[in] NotifyRoutine
Указывает точку входа вызываемой процедуры создания обратных вызовов, предоставленной вызывающей компанией. См. PCREATE_PROCESS_NOTIFY_ROUTINE.
[in] Remove
Указывает, следует ли добавлять или удалять подпрограмму, указанную в NotifyRoutine из списка подпрограмм уведомлений системы. Если false, в список добавляется указанная подпрограмма. Если TRUE, указанная подпрограмма удаляется из списка.
Возвращаемое значение
PsSetCreateProcessNotifyRoutine может вернуть одно из следующих элементов:
Возвращаемый код | Описание |
---|---|
|
Указанный NotifyRoutine теперь зарегистрирован в системе. |
|
Указанный NotifyRoutine уже зарегистрирован, поэтому этот вызов является избыточным вызовом или система достигла предела для регистрации обратных вызовов создания процессов. |
Замечания
Драйверы высокого уровня могут вызывать PsSetCreateProcessNotifyRoutine, чтобы настроить подпрограммы уведомления о создании процессов, реализованные как PCREATE_PROCESS_NOTIFY_ROUTINE.
Драйвер профилирования системы ifS или самого высокого уровня может зарегистрировать обратный вызов создания процесса для отслеживания создания и удаления процессов во внутреннем состоянии драйвера. Для Windows Vista и более поздних версий Windows система может зарегистрировать до 64 процедур обратного вызова.
Драйвер должен удалить все обратные вызовы, которые он регистрирует перед выгрузкой. Обратный вызов можно удалить, вызвав PsSetCreateProcessNotify с помощью Remove = TRUE. Драйвер не должен выполнять этот вызов из реализации процедуры обратного вызова PCREATE_PROCESS_NOTIFY_ROUTINE.
После регистрации подпрограммы, предоставленной драйвером, он вызывается с create задано значение TRUE сразу после создания начального потока в рамках созданного процесса, указанного дескриптором входных ProcessId. Входной ParentId дескриптор определяет родительский процесс созданного процесса (это родительский элемент, используемый для приоритета, сходства, квоты, маркера и обработки наследования, среди прочего).
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows 2000. |
целевая платформа | Всеобщий |
заголовка | ntddk.h (include Ntddk.h) |
библиотеки | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
правил соответствия DDI | HwStorPortProhibitedDIs(storport), IrqlPsPassive(wdm), PowerIrpDDis(wdm) |
См. также
PCREATE_PROCESS_NOTIFY_ROUTINE
PsSetCreateProcessNotifyRoutineEx