PS_CREATE_NOTIFY_INFO-Struktur (ntddk.h)
Die PS_CREATE_NOTIFY_INFO-Struktur stellt Informationen zu einem neu erstellten Prozess bereit.
Syntax
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;
Member
Size
Die Größe (in Bytes) dieser Struktur. Das Betriebssystem verwendet diese Größe, um den Strukturtyp anzugeben, den es an CreateProcessNotifyEx übergibt. Derzeit ist dieser Member immer sizeof(PS_CREATE_NOTIFY_INFO).
Flags
Reserviert. Verwenden Sie stattdessen das FileOpenNameAvailable-Element .
FileOpenNameAvailable
Ein boolescher Wert, der angibt, ob das ImageFileName-Element den genauen Dateinamen enthält, der zum Öffnen der ausführbaren Prozessdatei verwendet wird.
IsSubsystemProcess
Ein boolescher Wert, der angibt, dass der Typ des Prozesssubsystems ein anderes Subsystem als Win32 ist.
IsSubsystemProcess wird nur für andere Subsystemprozesse als Win32 aufgefüllt, wenn ein Treiber über PsSetCreateProcessNotifyRoutineEx2 mit einem Typ registriert wurde, der Benachrichtigungen von Subsystemprozessen zulässt. Wenn IsSubsystemProcess festgelegt ist, sind FileObject, ImageFileName und CommandLine möglicherweise NULL. Treiber sollten ProcessSubsystemInformation verwenden, um den Subsystemtyp bei Bedarf abzufragen.
Weitere Informationen finden Sie unter NtQueryInformationProcess.
Reserved
Ist für das System reserviert.
ParentProcessId
Die Prozess-ID des übergeordneten Prozesses für den neuen Prozess. Beachten Sie, dass der übergeordnete Prozess nicht unbedingt derselbe Prozess ist wie der Prozess, der den neuen Prozess erstellt hat. Der neue Prozess kann bestimmte Eigenschaften des übergeordneten Prozesses erben, z. B. Handles oder freigegebener Arbeitsspeicher. (Die Prozess-ID des Prozesserstellers wird durch CreatingThreadId angegeben.>UniqueProcess.)
CreatingThreadId
Die Prozess-ID und thread-ID des Prozesses und threads, der den neuen Prozess erstellt hat. CreatingThreadId-UniqueProcess> enthält die Prozess-ID, undCreatingThreadId-UniqueThread> enthält die Thread-ID.
FileObject
Ein Zeiger auf das Dateiobjekt für die ausführbare Prozessdatei.
Wenn IsSubsystemProcess TRUE ist, kann dieser Wert NULL sein.
ImageFileName
Ein Zeiger auf eine UNICODE_STRING Zeichenfolge, die den Dateinamen der ausführbaren Datei enthält. Wenn das FileOpenNameAvailable-ElementTRUE ist, gibt die Zeichenfolge den genauen Dateinamen an, der zum Öffnen der ausführbaren Datei verwendet wird. Wenn FileOpenNameAvailableauf FALSE festgelegt ist, gibt das Betriebssystem möglicherweise nur einen Teilnamen an.
Wenn IsSubsystemProcess TRUE ist, kann dieser Wert NULL sein.
CommandLine
Ein Zeiger auf eine UNICODE_STRING Zeichenfolge, die den Befehl enthält, der zum Ausführen des Prozesses verwendet wird. Wenn der Befehl nicht verfügbar ist, ist CommandLineNULL.
Wenn IsSubsystemProcess TRUE ist, kann dieser Wert NULL sein.
CreationStatus
Der NTSTATUS-Wert, der für den Prozesserstellungsvorgang zurückgegeben werden soll. Treiber können diesen Wert in einen Fehlercode ändern, um zu verhindern, dass der Prozess erstellt wird.
Anforderungen
Anforderung | Wert |
---|---|
Header | ntddk.h (include Ntddk.h) |