estrutura PS_CREATE_NOTIFY_INFO (ntddk.h)
A estrutura PS_CREATE_NOTIFY_INFO fornece informações sobre um processo recém-criado.
Sintaxe
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;
Membros
Size
O tamanho, em bytes, dessa estrutura. O sistema operacional usa esse tamanho para indicar o tipo de estrutura que ele passa para CreateProcessNotifyEx. Atualmente, esse membro é sempre sizeof(PS_CREATE_NOTIFY_INFO).
Flags
Reservado. Em vez disso, use o membro FileOpenNameAvailable .
FileOpenNameAvailable
Um valor booliano que especifica se o membro ImageFileName contém o nome de arquivo exato usado para abrir o arquivo executável do processo.
IsSubsystemProcess
Um valor booliano que indica que o tipo de subsistema de processo é um subsistema diferente do Win32.
IsSubsystemProcess só é preenchido para processos de subsistema diferentes do Win32 quando um driver é registrado por meio de PsSetCreateProcessNotifyRoutineEx2 com um tipo que permite notificações de processos de subsistema. Quando IsSubsystemProcess é definido, FileObject, ImageFileName e CommandLine podem ser NULL. Os drivers devem usar ProcessSubsystemInformation para consultar o tipo de subsistema, se necessário.
Para obter mais informações, consulte NtQueryInformationProcess.
Reserved
Reservado para uso do sistema.
ParentProcessId
A ID do processo pai para o novo processo. Observe que o processo pai não é necessariamente o mesmo processo que o processo que criou o novo processo. O novo processo pode herdar determinadas propriedades do processo pai, como identificadores ou memória compartilhada. (A ID do processo do criador do processo é fornecida por CreatingThreadId->UniqueProcess.)
CreatingThreadId
A ID do processo e a ID do thread do processo e do thread que criaram o novo processo. CreatingThreadId-UniqueProcess> contém a ID do processo eCreatingThreadId-UniqueThread> contém a ID do thread.
FileObject
Um ponteiro para o objeto de arquivo para o arquivo executável do processo.
Se IsSubsystemProcess for TRUE, esse valor poderá ser NULL.
ImageFileName
Um ponteiro para um UNICODE_STRING cadeia de caracteres que contém o nome do arquivo do executável. Se o membro FileOpenNameAvailable for TRUE, a cadeia de caracteres especificará o nome exato do arquivo usado para abrir o arquivo executável. Se FileOpenNameAvailable for FALSE, o sistema operacional poderá fornecer apenas um nome parcial.
Se IsSubsystemProcess for TRUE, esse valor talvez NULL.
CommandLine
Um ponteiro para um UNICODE_STRING cadeia de caracteres que contém o comando usado para executar o processo. Se o comando não estiver disponível, CommandLine será NULL.
Se IsSubsystemProcess for TRUE, esse valor talvez NULL.
CreationStatus
O valor NTSTATUS a ser retornado para a operação de criação de processo. Os drivers podem alterar esse valor para um código de erro para impedir que o processo seja criado.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | ntddk.h (inclua Ntddk.h) |