Freigeben über


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)

Siehe auch

CreateProcessNotifyEx-

PsSetCreateProcessNotifyRoutineEx

UNICODE_STRING