Partager via


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 taille de(PS_CREATE_NOTIFY_INFO).

Flags

Réservé. Utilisez plutôt le membre FileOpenNameAvailable.

FileOpenNameAvailable

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

IsSubsystemProcess

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

IsSubsystemProcess n’est renseignée que pour les processus de sous-système autres que Win32 lorsqu’un pilote est inscrit via PsSetCreateProcessNotifyRoutineEx2 avec un type qui autorise les notifications à partir de processus du sous-système. Lorsque IsSubsystemProcess est défini, le FileObject, ImageFileNameet CommandLine peut être 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é à l’utilisation du 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 de 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 et CreatingThreadId->UniqueThread contient l’ID de thread.

FileObject

Pointeur vers l’objet fichier 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 est TRUE, la chaîne spécifie le nom de fichier exact utilisé pour ouvrir le fichier exécutable. Si FileOpenNameAvailable est 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 est NULL.

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

CreationStatus

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

Exigences

Exigence Valeur
d’en-tête ntddk.h (include Ntddk.h)

Voir aussi

CreateProcessNotifyEx

PsSetCreateProcessNotifyRoutineEx

UNICODE_STRING