Share via


IDebugClient4::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 為零,引擎將會連線到本機進程,而不使用進程伺服器。

[in, optional] CommandLine

指定要執行的命令行,以建立新的進程。 如果 CommandLineNULL,則不會建立任何進程,而且這些方法會附加至現有的進程,如同 AttachProcess 一樣。

[in] CreateFlags

指定要在建立進程時使用的旗標。 如需這些旗標的詳細資訊,請參閱 DEBUG_CREATE_PROCESS_OPTIONSCreateFlags

[in] ProcessId

指定調試程式將附加的目標進程的進程標識碼。 如果 ProcessId 為零,調試程式會附加至從 CommandLine 建立的進程。

[in] AttachFlags

指定旗標,控制調試程式如何附加至目標進程。 如需這些旗標的詳細資訊,請參閱 DEBUG_ATTACH_XXX

傳回值

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

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

備註

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

如果 CommandLine 不是 NULLProcessId 不是零,則引擎會以暫止狀態建立進程。 引擎會在成功連線到 ProcessId 中指定的進程之後,繼續此新建立的進程。

在呼叫 WaitForEvent 方法之前,引擎不會完全附加至進程。 只有在進程產生事件之後,建立進程事件才會在調試程式會話中使用。

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

規格需求

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

另請參閱

.attach (附加至進程)

.create (建立進程)

AbandonCurrentProcess

AttachProcess

ConnectProcessServer

CreateProcess2

CreateProcessAndAttach2

DetachCurrentProcess

GetRunningProcessDescription

GetRunningProcessSystemIds

IDebugClient3

IDebugClient4

IDebugClient5

TerminateCurrentProcess