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