structure PS_CREATE_NOTIFY_INFO (ntddk.h)

La structure PS_CREATE_NOTIFY_INFO fournit des informations sur un processus nouvellement créé.

Syntaxe

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;

Membres

Size

Taille, en octets, de cette structure. Le système d’exploitation utilise cette taille pour indiquer le type de structure qu’il passe à CreateProcessNotifyEx. Actuellement, ce membre est toujours sizeof(PS_CREATE_NOTIFY_INFO).

Flags

Réservé. Utilisez le membre FileOpenNameAvailable à la place.

FileOpenNameAvailable

Valeur booléenne qui spécifie si le membre ImageFileName contient le nom de fichier exact utilisé pour ouvrir le fichier exécutable de processus.

IsSubsystemProcess

Valeur booléenne qui indique le type de sous-système de processus est un sous-système autre que Win32.

IsSubsystemProcess est renseigné uniquement pour les processus de sous-système autres que Win32 lorsqu’un pilote est inscrit via PsSetCreateProcessNotifyRoutineEx2 avec un type qui autorise les notifications des processus de sous-système. Lorsque IsSubsystemProcess est défini, FileObject, ImageFileName et CommandLine peuvent avoir la valeur NULL. Les pilotes doivent utiliser ProcessSubsystemInformation pour interroger le type de sous-système si nécessaire.

Pour plus d’informations, consultez NtQueryInformationProcess.

Reserved

Réservé pour le système.

ParentProcessId

ID de processus du processus parent pour le nouveau processus. Notez que le processus parent n’est pas nécessairement le même processus que le processus qui a créé le nouveau processus. Le nouveau processus peut hériter de certaines propriétés du processus parent, telles que les handles ou la mémoire partagée. (L’ID de processus du créateur du processus est donné par CreatingThreadId->UniqueProcess.)

CreatingThreadId

ID de processus et ID de thread du processus et du thread qui ont créé le nouveau processus. CreatingThreadId-UniqueProcess> contient l’ID de processus, etCreatingThreadId-UniqueThread> contient l’ID de thread.

FileObject

Pointeur vers l’objet file pour le fichier exécutable de processus.

Si IsSubsystemProcess a la valeur TRUE, cette valeur peut être NULL.

ImageFileName

Pointeur vers une chaîne UNICODE_STRING qui contient le nom de fichier de l’exécutable. Si le membre FileOpenNameAvailable a la valeur TRUE, la chaîne spécifie le nom de fichier exact utilisé pour ouvrir le fichier exécutable. Si FileOpenNameAvailable a la valeur FALSE, le système d’exploitation peut fournir uniquement un nom partiel.

Si IsSubsystemProcess a la valeur TRUE, cette valeur peut être NULL.

CommandLine

Pointeur vers une chaîne UNICODE_STRING qui contient la commande utilisée pour exécuter le processus. Si la commande n’est pas disponible, CommandLine a lavaleur NULL.

Si IsSubsystemProcess a la valeur TRUE, cette valeur peut être NULL.

CreationStatus

Valeur NTSTATUS à retourner pour l’opération de création du processus. Les pilotes peuvent remplacer cette valeur par un code d’erreur pour empêcher la création du processus.

Configuration requise

Condition requise Valeur
En-tête ntddk.h (inclure Ntddk.h)

Voir aussi

CreateProcessNotifyEx

PsSetCreateProcessNotifyRoutineEx

UNICODE_STRING