次の方法で共有


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 設定すると、FileObjectImageFileName、および 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 値。 ドライバーは、プロセスが作成されないように、この値をエラー コードに変更できます。

必要条件

要件 価値
ヘッダー ntddk.h (Ntddk.h を含む)

関連項目

CreateProcessNotifyEx

PsSetCreateProcessNotifyRoutineEx

UNICODE_STRING