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 為零,引擎會建立本機進程,而不使用進程伺服器。

[in] CommandLine

指定要執行的命令行,以建立新的進程。

[in] OptionsBuffer

指定進程建立選項。 OptionsBufferDEBUG_CREATE_PROCESS_OPTIONS 結構的指標。

[in] OptionsBufferSize

指定緩衝區 OptionsBuffer 的大小。 這應該設定為 sizeof (DEBUG_CREATE_PROCESS_OPTIONS)

[in, optional] InitialDirectory

指定進程的起始目錄。 如果 InitialDirectoryNULL,則會使用進程伺服器的目前目錄。

[in, optional] Environment

指定新進程的環境區塊。 環境區塊是由 Null 終止字串的 Null 終止區塊所組成。 每個字串的格式如下:

name=value

請注意,環境區塊的最後兩個字元都是 NULL:一個是終止字串,另一個是終止區塊。

如果 Environment 設定為 NULL,新進程會繼承進程伺服器的環境區塊。 如果在 OptionsBuffer中設定DEBUG_CREATE_PROCESS_THROUGH_RTL旗標, 則Environment 必須是 NULL

傳回值

這個方法也可能傳回錯誤值。 如需詳細資訊,請參閱 傳回值

傳回碼 描述
S_OK
此方法成功。

備註

這個方法僅適用於即時使用者模式偵錯。

如果 CreateFlags 包含旗標DEBUG_PROCESS或DEBUG_ONLY_THIS_PROCESS,引擎也會附加至新建立的進程。 這類似於 CreateProcessAndAttach2 的行為,其自變數 ProcessId 設定為零。

如需建立和附加至即時使用者模式目標的詳細資訊,請參閱 即時 User-Mode 目標

規格需求

需求
目標平台 桌面
標頭 dbgeng.h (包含 Dbgeng.h)

另請參閱

.create (建立進程)

AbandonCurrentProcess

AttachProcess

ConnectProcessServer

CreateProcess2

CreateProcessAndAttach2

DetachCurrentProcess

GetRunningProcessDescription

GetRunningProcessSystemIds

IDebugClient5

TerminateCurrentProcess