IDebugClient5::CreateProcessAndAttach2 メソッド (dbgeng.h)
CreateProcessAndAttach2 メソッドは、指定したコマンド ラインからプロセスを作成し、そのプロセスまたは別のユーザー モード プロセスにアタッチします。
構文
HRESULT CreateProcessAndAttach2(
[in] ULONG64 Server,
[in, optional] PSTR CommandLine,
[in] PVOID OptionsBuffer,
[in] ULONG OptionsBufferSize,
[in, optional] PCSTR InitialDirectory,
[in, optional] PCSTR Environment,
[in] ULONG ProcessId,
[in] ULONG AttachFlags
);
パラメーター
[in] Server
プロセスにアタッチするために使用するプロセス サーバーを指定します。 サーバーが 0 の場合、エンジンはプロセス サーバーを使用せずにローカル プロセスに接続します。
[in, optional] CommandLine
新しいプロセスを作成するために実行するコマンド ラインを指定します。 CommandLine が NULL の場合、プロセスは作成されません。これらのメソッドは ProcessId を使用して既存のプロセスにアタッチします。
[in] OptionsBuffer
プロセス作成オプションを指定します。 OptionsBuffer は、 DEBUG_CREATE_PROCESS_OPTIONS 構造体へのポインターです。
[in] OptionsBufferSize
バッファー OptionsBuffer のサイズを指定します。 これは sizeof(DEBUG_CREATE_PROCESS_OPTIONS) に設定する必要があります。
[in, optional] InitialDirectory
プロセスの開始ディレクトリを指定します。 このパラメーターは、 CommandLine が NULL でない場合にのみ使用されます。 InitialDirectory が NULL の場合は、プロセス サーバーの現在のディレクトリが使用されます。
[in, optional] Environment
新しいプロセスの環境ブロックを指定します。 環境ブロックは、null で終わる文字列の null で終わるブロックで構成されます。 各文字列は次の形式です。
name=value
環境ブロックの最後の 2 文字はどちらも NULL であることに注意してください。1 つは文字列を終了し、もう 1 つはブロックを終了します。
Environment が NULL に設定されている場合、新しいプロセスはプロセス サーバーの環境ブロックを継承します。 OptionsBuffer でDEBUG_CREATE_PROCESS_THROUGH_RTL フラグが設定されている場合、Environment は NULL である必要があります。
[in] ProcessId
デバッガーがアタッチするターゲット プロセスのプロセス ID を指定します。 ProcessID が 0 の場合、デバッガーは CommandLine から作成したプロセスにアタッチします。
[in] AttachFlags
デバッガーをターゲット プロセスにアタッチする方法を制御するフラグを指定します。 これらのフラグの詳細については、「 DEBUG_ATTACH_XXX」を参照してください。
戻り値
このメソッドは、エラー値を返す場合もあります。 詳細については、「 戻り値 」を参照してください。
リターン コード | 説明 |
---|---|
|
メソッドは正常に実行されました。 |
|
これは、CommandLine が NULL で ProcessId が 0 の場合に返されます。 |
注釈
このメソッドは、ライブ ユーザー モードデバッグでのみ使用できます。
CommandLine が NULL でなく、ProcessId が 0 でない場合、エンジンは中断状態でプロセスを作成します。 エンジンは、 ProcessId で指定されたプロセスに正常に接続した後、この新しく作成されたプロセスを再開します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | dbgeng.h (Dbgeng.h を含む) |