struttura PS_CREATE_NOTIFY_INFO (ntddk.h)

La struttura PS_CREATE_NOTIFY_INFO fornisce informazioni su un processo appena creato.

Sintassi

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;

Members

Size

Dimensione, in byte, della struttura. Il sistema operativo usa questa dimensione per indicare il tipo di struttura che passa a CreateProcessNotifyEx. Attualmente, questo membro è sempre sizeof(PS_CREATE_NOTIFY_INFO).

Flags

Riservato. Usare invece il membro FileOpenNameAvailable .

FileOpenNameAvailable

Valore booleano che specifica se il membro ImageFileName contiene il nome di file esatto utilizzato per aprire il file eseguibile del processo.

IsSubsystemProcess

Valore booleano che indica il tipo di sottosistema di processo è un sottosistema diverso da Win32.

IsSubsystemProcess viene popolato solo per i processi del sottosistema diversi da Win32 quando un driver è registrato tramite PsSetCreateProcessNotifyRoutineEx2 con un tipo che consente le notifiche dai processi del sottosistema. Quando isSubsystemProcess è impostato, FileObject, ImageFileName e CommandLine possono essere NULL. I driver devono usare ProcessSubsystemInformation per eseguire una query sul tipo di sottosistema, se necessario.

Per altre informazioni, vedere NtQueryInformationProcess.

Reserved

Riservato per l'utilizzo nel sistema.

ParentProcessId

ID processo del processo padre per il nuovo processo. Si noti che il processo padre non è necessariamente lo stesso processo del processo che ha creato il nuovo processo. Il nuovo processo può ereditare determinate proprietà del processo padre, ad esempio handle o memoria condivisa. L'ID del processo dell'autore del processo viene assegnato da CreatingThreadId->UniqueProcess.

CreatingThreadId

ID processo e ID thread del processo e del thread che ha creato il nuovo processo. CreatingThreadId-UniqueProcess> contiene l'ID processo eCreatingThreadId-UniqueThread> contiene l'ID thread.

FileObject

Puntatore all'oggetto file per il file eseguibile del processo.

Se IsSubsystemProcess è TRUE, questo valore può essere NULL.

ImageFileName

Puntatore a una stringa UNICODE_STRING contenente il nome del file eseguibile. Se il membro FileOpenNameAvailable è TRUE, la stringa specifica il nome di file esatto utilizzato per aprire il file eseguibile. Se FileOpenNameAvailable è FALSE, il sistema operativo potrebbe specificare solo un nome parziale.

Se IsSubsystemProcess è TRUE, questo valore potrebbe essere NULL.

CommandLine

Puntatore a una stringa UNICODE_STRING che contiene il comando utilizzato per eseguire il processo. Se il comando non è disponibile, CommandLine è NULL.

Se IsSubsystemProcess è TRUE, questo valore potrebbe essere NULL.

CreationStatus

Valore NTSTATUS da restituire per l'operazione di creazione del processo. I driver possono modificare questo valore in un codice di errore per impedire la creazione del processo.

Requisiti

Requisito Valore
Intestazione ntddk.h (include Ntddk.h)

Vedi anche

CreateProcessNotifyEx

PsSetCreateProcessNotifyRoutineEx

UNICODE_STRING