IDebugClient3::CreateProcessAndAttachWide メソッド (dbgeng.h)
CreateProcessAndAttachWide メソッドは、指定したコマンド ラインからプロセスを作成し、別のユーザー モード プロセスにアタッチします。 作成されたプロセスは中断され、アタッチが完了したときにのみ実行できます。 これにより、クライアントとサーバーの両方のプロセスをデバッグするときの大まかな同期が可能になります。
構文
HRESULT CreateProcessAndAttachWide(
[in] ULONG64 Server,
[in, optional] PWSTR CommandLine,
[in] ULONG CreateFlags,
[in] ULONG ProcessId,
[in] ULONG AttachFlags
);
パラメーター
[in] Server
プロセスへのアタッチに使用するプロセス サーバーを指定します。 Server が 0 の場合、エンジンはプロセス サーバーを使用せずにローカル プロセスに接続します。
[in, optional] CommandLine
新しいプロセスを作成するために実行するコマンド ラインを指定します。 CommandLine が NULL 場合、プロセスは作成されません。AttachProcess と同様に、これらのメソッド 既存のプロセスにアタッチされます。
[in] CreateFlags
プロセスの作成時に使用するフラグを指定します。 これらのフラグの詳細については、DEBUG_CREATE_PROCESS_OPTIONSを参照してください。CreateFlagsをします。
[in] ProcessId
デバッガーがアタッチするターゲット プロセスのプロセス ID を指定します。 ProcessId が 0 の場合、デバッガーは CommandLine から作成したプロセスアタッチします。
[in] AttachFlags
デバッガーがターゲット プロセスにアタッチする方法を制御するフラグを指定します。 これらのフラグの詳細については、DEBUG_ATTACH_XXXを参照してください。
戻り値
このメソッドは、エラー値を返す場合もあります。 詳細については 戻り値の を参照してください。
リターン コード | 形容 |
---|---|
|
メソッドが成功しました。 |
備考
このメソッドは、ライブ ユーザー モードデバッグでのみ使用できます。
CommandLine が NULL されず、ProcessId が 0 でない場合、エンジンは中断状態でプロセスを作成します。 エンジンは、ProcessIdで指定されたプロセスに正常に接続した後、この新しく作成されたプロセスを再開します。
WaitForEvent メソッドが呼び出されるまで、エンジンはプロセスに完全にアタッチされません。 プロセスによってイベントが生成された後 (たとえば、create-process イベント) は、デバッガー セッションで使用できるようになります。
ライブ ユーザー モード ターゲットの作成とアタッチの詳細については、「Live User-Mode Targets」を参照してください。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | dbgeng.h (Dbgeng.h を含む) |
関連項目
.create (プロセスの作成) を する
AbandonCurrentProcess の
ConnectProcessServer の
CreateProcess2 の
CreateProcessAndAttach2 を する
DetachCurrentProcess の
GetRunningProcessDescription の
GetRunningProcessSystemIds の
IDebugClient3 の
IDebugClient4 の
IDebugClient5 の
TerminateCurrentProcess の