estructura PS_CREATE_NOTIFY_INFO (ntddk.h)
La estructura PS_CREATE_NOTIFY_INFO proporciona información sobre un proceso recién creado.
Sintaxis
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;
Miembros
Size
Tamaño, en bytes, de esta estructura. El sistema operativo usa este tamaño para indicar el tipo de estructura que pasa a CreateProcessNotifyEx. Actualmente, este miembro siempre es sizeof(PS_CREATE_NOTIFY_INFO).
Flags
Reservado. En su lugar, use el miembro FileOpenNameAvailable .
FileOpenNameAvailable
Valor booleano que especifica si el miembro ImageFileName contiene el nombre de archivo exacto que se usa para abrir el archivo ejecutable del proceso.
IsSubsystemProcess
Valor booleano que indica el tipo de subsistema de proceso es un subsistema distinto de Win32.
IsSubsystemProcess solo se rellena para los procesos de subsistema distintos de Win32 cuando un controlador se ha registrado a través de PsSetCreateProcessNotifyRoutineEx2 con un tipo que permite notificaciones de procesos del subsistema. Cuando se establece IsSubsystemProcess , fileObject, ImageFileName y CommandLine pueden ser NULL. Los controladores deben usar ProcessSubsystemInformation para consultar el tipo de subsistema si es necesario.
Para obtener más información, vea NtQueryInformationProcess.
Reserved
Reservado para uso del sistema.
ParentProcessId
Identificador de proceso del proceso primario para el nuevo proceso. Tenga en cuenta que el proceso primario no es necesariamente el mismo que el proceso que creó el nuevo proceso. El nuevo proceso puede heredar ciertas propiedades del proceso primario, como identificadores o memoria compartida. (El identificador de proceso del creador del proceso se da mediante CreatingThreadId->UniqueProcess).
CreatingThreadId
Identificador de proceso e identificador de subproceso del proceso y subproceso que creó el nuevo proceso. CreatingThreadId-UniqueProcess> contiene el identificador de proceso y CreatingThreadId-UniqueThread> contiene el identificador de subproceso.
FileObject
Puntero al objeto de archivo para el archivo ejecutable del proceso.
Si IsSubsystemProcess es TRUE, este valor puede ser NULL.
ImageFileName
Puntero a una cadena UNICODE_STRING que contiene el nombre de archivo del ejecutable. Si el miembro FileOpenNameAvailable es TRUE, la cadena especifica el nombre de archivo exacto que se usa para abrir el archivo ejecutable. Si FileOpenNameAvailable es FALSE, el sistema operativo puede proporcionar solo un nombre parcial.
Si IsSubsystemProcess es TRUE, este valor puede ser NULL.
CommandLine
Puntero a una cadena UNICODE_STRING que contiene el comando que se usa para ejecutar el proceso. Si el comando no está disponible, CommandLine es NULL.
Si IsSubsystemProcess es TRUE, este valor puede ser NULL.
CreationStatus
Valor NTSTATUS que se va a devolver para la operación de creación del proceso. Los controladores pueden cambiar este valor a un código de error para evitar que se cree el proceso.
Requisitos
Requisito | Valor |
---|---|
Header | ntddk.h (incluya Ntddk.h) |