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 為零,引擎將會連線到本機進程,而不使用進程伺服器。
[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
請注意,環境區塊的最後兩個字元都是 NULL:一個是終止字串,另一個是終止區塊。
如果 Environment 設定為 NULL,新進程會繼承進程伺服器的環境區塊。 如果在 OptionsBuffer中設定DEBUG_CREATE_PROCESS_THROUGH_RTL旗標, 則Environment 必須是 NULL。
[in] ProcessId
指定調試程式將附加的目標進程的進程標識碼。 如果 ProcessID 為零,調試程式會附加至從 CommandLine 建立的進程。
[in] AttachFlags
指定旗標,控制調試程式如何附加至目標進程。 如需這些旗標的詳細資訊,請參閱 DEBUG_ATTACH_XXX。
傳回值
這個方法也可能傳回錯誤值。 如需詳細資訊,請參閱 傳回值 。
傳回碼 | 描述 |
---|---|
|
此方法成功。 |
|
如果 CommandLine 為 NULL 且 ProcessId 為零,則會傳回這個值。 |
備註
這個方法僅適用於即時使用者模式偵錯。
如果 CommandLine 不是 NULL 且 ProcessId 不是零,則引擎會以暫止狀態建立進程。 引擎會在成功連線到 ProcessId 中指定的進程之後,繼續此新建立的進程。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | dbgeng.h (包含 Dbgeng.h) |