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