Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Структура PS_CREATE_NOTIFY_INFO предоставляет сведения о созданном процессе.
Синтаксис
typedef struct _PS_CREATE_NOTIFY_INFO {
SIZE_T Size;
union {
ULONG Flags;
struct {
ULONG FileOpenNameAvailable : 1;
ULONG IsSubsystemProcess : 1;
ULONG Reserved : 30;
};
};
HANDLE ParentProcessId;
CLIENT_ID CreatingThreadId;
struct _FILE_OBJECT *FileObject;
PCUNICODE_STRING ImageFileName;
PCUNICODE_STRING CommandLine;
NTSTATUS CreationStatus;
} PS_CREATE_NOTIFY_INFO, *PPS_CREATE_NOTIFY_INFO;
Члены
Size
Размер этой структуры в байтах. Операционная система использует этот размер для указания типа структуры, которая передается CreateProcessNotifyEx. В настоящее время этот элемент всегда размер(PS_CREATE_NOTIFY_INFO).
Flags
Скрытный. Вместо этого используйте элемент FileOpenNameAvailable.
FileOpenNameAvailable
Логическое значение, указывающее, содержит ли элемент imageFileName имя файла, используемое для открытия исполняемого файла процесса.
IsSubsystemProcess
Логическое значение, указывающее тип подсистемы процесса, является подсистемой, отличной от Win32.
IsSubsystemProcess заполняется только для процессов подсистемы, отличных от Win32, если драйвер зарегистрировался через PsSetCreateProcessNotifyRoutineEx2 с типом, который позволяет уведомлениям из процессов подсистемы. Если задан IsSubsystemProcess, FileObject, ImageFileNameи CommandLine может иметь значение NULL. Драйверы должны использовать ProcessSubsystemInformation для запроса типа подсистемы при необходимости.
Дополнительные сведения см. в NtQueryInformationProcess.
Reserved
Зарезервировано для использования системы.
ParentProcessId
Идентификатор процесса родительского процесса для нового процесса. Обратите внимание, что родительский процесс не обязательно совпадает с процессом, который создал новый процесс. Новый процесс может наследовать определенные свойства родительского процесса, например дескриптор или общую память. (Идентификатор процесса создателя процесса предоставляется CreatingThreadId—>UniqueProcess.)
CreatingThreadId
Идентификатор процесса и идентификатор потока процесса и потока, создавшего новый процесс. CreatingThreadId—>UniqueProcess содержит идентификатор процесса и CreatingThreadId—>UniqueThreadId содержит идентификатор потока.
FileObject
Указатель на объект файла для исполняемого файла процесса.
Если IsSubsystemProcess имеет значение TRUE, это значение может быть значение NULL.
ImageFileName
Указатель на строку UNICODE_STRING, содержащую имя файла исполняемого файла. Если элемент fileOpenNameAvailable true, строка указывает точное имя файла, используемое для открытия исполняемого файла. Если FileOpenNameAvailablefalse, операционная система может предоставить только частичное имя.
Если IsSubsystemProcess имеет значение TRUE, это значение может быть NULL.
CommandLine
Указатель на строку UNICODE_STRING, содержащую команду, используемую для выполнения процесса. Если команда недоступна, CommandLineNULL.
Если IsSubsystemProcess имеет значение TRUE, это значение может быть NULL.
CreationStatus
Значение NTSTATUS, возвращаемое для операции создания процесса. Драйверы могут изменить это значение на код ошибки, чтобы предотвратить создание процесса.
Требования
| Требование | Ценность |
|---|---|
| заголовка | ntddk.h (include Ntddk.h) |