PS_CREATE_NOTIFY_INFO構造体 (ntddk.h)
PS_CREATE_NOTIFY_INFO構造体は、新しく作成されたプロセスに関する情報を提供します。
構文
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;
メンバー
Size
この構造体のサイズ (バイト単位)。 オペレーティング システムは、このサイズを使用して、 CreateProcessNotifyEx に渡す構造体の種類を示します。 現在、このメンバーは常に sizeof(PS_CREATE_NOTIFY_INFO) です。
Flags
予約済み。 代わりに FileOpenNameAvailable メンバーを使用してください。
FileOpenNameAvailable
ImageFileName メンバーに、プロセス実行可能ファイルを開くために使用される正確なファイル名が含まれているかどうかを示すブール値。
IsSubsystemProcess
プロセス サブシステムの種類が Win32 以外のサブシステムであることを示すブール値。
IsSubsystemProcess は、ドライバーが PsSetCreateProcessNotifyRoutineEx2 を介してサブシステム プロセスからの通知を可能にする型で登録されている場合、Win32 以外のサブシステム プロセスにのみ設定されます。 IsSubsystemProcess が設定されている場合、FileObject、ImageFileName、および CommandLine は NULL になる場合があります。 ドライバーは 、必要に応じて、ProcessSubsystemInformation を使用してサブシステムの種類を照会する必要があります。
詳細については、「 NtQueryInformationProcess」を参照してください。
Reserved
システムで使用するために予約されています。
ParentProcessId
新しいプロセスの親プロセスのプロセス ID。 親プロセスは、新しいプロセスを作成したプロセスと必ずしも同じプロセスではないことに注意してください。 新しいプロセスは、ハンドルや共有メモリなど、親プロセスの特定のプロパティを継承できます。 (プロセス作成者のプロセス ID は CreatingThreadId によって指定されます。>UniqueProcess.)
CreatingThreadId
新しいプロセスを作成したプロセスとスレッドのプロセス ID とスレッド ID。 CreatingThreadId-UniqueProcess> にはプロセス ID が含まれており、CreatingThreadId-UniqueThread> にはスレッド ID が含まれています。
FileObject
プロセス実行可能ファイルのファイル オブジェクトへのポインター。
IsSubsystemProcess が TRUE の場合、この値は NULL になる可能性があります。
ImageFileName
実行可能ファイルのファイル名を保持する UNICODE_STRING 文字列へのポインター。 FileOpenNameAvailable メンバーが TRUE の場合、文字列は実行可能ファイルを開くために使用される正確なファイル名を指定します。 FileOpenNameAvailable が FALSE の場合、オペレーティング システムは部分的な名前のみを提供する可能性があります。
IsSubsystemProcess が TRUE の場合、この値は NULL になる可能性があります。
CommandLine
プロセス の実行 に使用されるコマンドを保持するUNICODE_STRING文字列へのポインター。 コマンドが使用できない場合、 CommandLine は NULL です。
IsSubsystemProcess が TRUE の場合、この値は NULL になる可能性があります。
CreationStatus
プロセス作成操作で返される NTSTATUS 値。 ドライバーは、この値をエラー コードに変更して、プロセスが作成されないようにすることができます。
要件
要件 | 値 |
---|---|
Header | ntddk.h (Ntddk.h を含む) |