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)

Confira também

CreateProcessNotifyEx

PsSetCreateProcessNotifyRoutineEx

UNICODE_STRING