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
プロセスへのアタッチに使用するプロセス サーバーを指定します。 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 つはブロックを終了します。
環境 が NULL 設定されている場合、新しいプロセスはプロセス サーバーの環境ブロックを継承します。 OptionsBuffer でDEBUG_CREATE_PROCESS_THROUGH_RTL フラグが設定されている場合、環境 は NULL する必要があります。
[in] ProcessId
デバッガーがアタッチするターゲット プロセスのプロセス ID を指定します。 ProcessID が 0 の場合、デバッガーは CommandLine から作成したプロセスアタッチします。
[in] AttachFlags
デバッガーがターゲット プロセスにアタッチする方法を制御するフラグを指定します。 これらのフラグの詳細については、DEBUG_ATTACH_XXXを参照してください。
戻り値
このメソッドは、エラー値を返す場合もあります。 詳細については 戻り値の を参照してください。
リターン コード | 形容 |
---|---|
|
メソッドが成功しました。 |
|
これは、CommandLine が NULL 、ProcessId が 0 の場合に返されます。 |
備考
このメソッドは、ライブ ユーザー モードデバッグでのみ使用できます。
CommandLine が NULL されず、ProcessId が 0 でない場合、エンジンは中断状態でプロセスを作成します。 エンジンは、ProcessIdで指定されたプロセスに正常に接続した後、この新しく作成されたプロセスを再開します。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | dbgeng.h (Dbgeng.h を含む) |
関連項目
.create (プロセスの作成) を する
AbandonCurrentProcess の
ConnectProcessServer の
CreateProcess2 の
DetachCurrentProcess の
GetRunningProcessDescription の
GetRunningProcessSystemIds の
IDebugClient5 の
TerminateCurrentProcess の