次の方法で共有


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

プロセスの開始ディレクトリを指定します。 InitialDirectoryNULL の場合、プロセス サーバーの現在のディレクトリが使用されます。

[in, optional] Environment

新しいプロセスの環境ブロックを指定します。 環境ブロックは、null で終わる文字列の null で終わるブロックで構成されます。 各文字列は次の形式です。

name=value

環境ブロックの最後の 2 文字はどちらも NULL です。1 つは文字列を終了し、1 つはブロックを終了します。

EnvironmentNULL に設定されている場合、新しいプロセスはプロセス サーバーの環境ブロックを継承します。 DEBUG_CREATE_PROCESS_THROUGH_RTL フラグが OptionsBuffer で設定されている場合、 EnvironmentNULL である必要があります。

戻り値

このメソッドは、エラー値を返す場合もあります。 詳細については、「 戻り値 」を参照してください。

リターン コード 説明
S_OK
メソッドは正常に実行されました。

注釈

このメソッドは、ライブ ユーザー モード デバッグでのみ使用できます。

CreateFlags にDEBUG_PROCESSまたはDEBUG_ONLY_THIS_PROCESSのいずれかのフラグが含まれている場合、エンジンは新しく作成されたプロセスにもアタッチします。 これは、引数 ProcessId が 0 に設定された CreateProcessAndAttach2 の動作に似ています。

ライブ ユーザー モード ターゲットの作成とアタッチの詳細については、「 Live User-Mode Targets」を参照してください。

要件

要件
対象プラットフォーム デスクトップ
Header dbgeng.h (Dbgeng.h を含む)

こちらもご覧ください

.create (プロセスの作成)

AbandonCurrentProcess

AttachProcess

ConnectProcessServer

CreateProcess2

CreateProcessAndAttach2

DetachCurrentProcess

GetRunningProcessDescription

GetRunningProcessSystemIds

IDebugClient5

TerminateCurrentProcess