PS_CREATE_NOTIFY_INFO Struktur (ntddk.h)
Die PS_CREATE_NOTIFY_INFO-Struktur enthält Informationen zu einem neu erstellten Prozess.
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;
Angehörige
Size
Die Größe dieser Struktur in Byte. Das Betriebssystem verwendet diese Größe, um den Typ der Struktur anzugeben, die an CreateProcessNotifyExübergeben wird. Derzeit ist dieses Element immer Größe(PS_CREATE_NOTIFY_INFO).
Flags
Reserviert. Verwenden Sie stattdessen das FileOpenNameAvailable Mitglied.
FileOpenNameAvailable
Ein boolescher Wert, der angibt, ob das ImageFileName Member den genauen Dateinamen enthält, der zum Öffnen der ausführbaren Prozessdatei verwendet wird.
IsSubsystemProcess
Ein boolescher Wert, der den Typ des Prozesssubsystems angibt, ist ein anderes Subsystem als Win32.
IsSubsystemProcess- wird nur für andere Subsystemprozesse als Win32 aufgefüllt, wenn ein Treiber über PsSetCreateProcessNotifyRoutineEx2- mit einem Typ aufgefüllt wird, der Benachrichtigungen von Subsystemprozessen zulässt. Wenn IsSubsystemProcess- festgelegt ist, ist die FileObject-, ImageFileName-und CommandLine- möglicherweise NULL. Treiber sollten ProcessSubsystemInformation verwenden, um den Subsystemtyp bei Bedarf abzufragen.
Weitere Informationen finden Sie unter NtQueryInformationProcess.
Reserved
Reserviert für die Systemverwendung.
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 freigegebenen Arbeitsspeicher. (Die Prozess-ID des Prozesserstellers wird durch CreatingThreadId->UniqueProcessangegeben.)
CreatingThreadId
Die Prozess-ID und Thread-ID des Prozesses und Threads, der den neuen Prozess erstellt hat. CreatingThreadId-->UniqueProcess- enthält die Prozess-ID, und CreatingThreadId-->UniqueThread- enthält die Thread-ID.
FileObject
Ein Zeiger auf das Dateiobjekt für die ausführbare Prozessdatei.
Wenn IsSubsystemProcess- WAHR ist, kann dieser Wert NULL-sein.
ImageFileName
Ein Zeiger auf eine UNICODE_STRING Zeichenfolge, die den Dateinamen der ausführbaren Datei enthält. Wenn der FileOpenNameAvailable Member TRUEist, gibt die Zeichenfolge den genauen Dateinamen an, der zum Öffnen der ausführbaren Datei verwendet wird. Wenn FileOpenNameAvailable-FALSE-ist, enthält das Betriebssystem möglicherweise nur einen teilweisen Namen.
Wenn IsSubsystemProcess WAHR ist, ist dieser Wert möglicherweise NULL.
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 CommandLine-NULL-.
Wenn IsSubsystemProcess WAHR ist, ist dieser Wert möglicherweise NULL.
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) |