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) |