IDebugClient::CreateProcessAndAttach 方法 (dbgeng.h)
CreateProcessAndAttach 方法會從指定的命令行建立進程,然後附加至另一個使用者模式進程。 建立的進程會暫停,且只有在附加完成時才允許執行。 這可在偵錯客戶端和伺服器進程時進行粗略的同步處理。
語法
HRESULT CreateProcessAndAttach(
[in] ULONG64 Server,
[in, optional] PSTR CommandLine,
[in] ULONG CreateFlags,
[in] ULONG ProcessId,
[in] ULONG AttachFlags
);
參數
[in] Server
指定要用來附加至進程的進程伺服器。 如果 伺服器 為零,引擎會連線到本機進程,而不使用進程伺服器。
[in, optional] CommandLine
指定要執行的命令行,以建立新的進程。 如果 CommandLineNULL,則不會建立任何進程,而且這些方法會附加至現有的進程,就像 attachProcess 一樣。
[in] CreateFlags
指定要在建立進程時使用的旗標。 如需這些旗標的詳細資訊,請參閱 DEBUG_CREATE_PROCESS_OPTIONS。CreateFlags。
[in] ProcessId
指定調試程式將附加的目標進程進程標識碼。 如果 ProcessId 為零,調試程式會附加至從 CommandLine 建立的進程。
[in] AttachFlags
指定旗標,控制調試程式如何附加至目標進程。 如需這些旗標的詳細資訊,請參閱 DEBUG_ATTACH_XXX。
傳回值
這個方法也可能傳回錯誤值。 如需詳細資訊,請參閱 傳回值。
傳回碼 | 描述 |
---|---|
|
方法成功。 |
言論
這個方法僅適用於即時使用者模式偵錯。
如果 CommandLine 未 NULL,且 ProcessId 不是零,則引擎會以暫停狀態建立進程。 引擎會在成功連線到 processId中指定的進程之後,繼續此新建立的進程。
注意 引擎不會完全附加至進程,直到呼叫 WaitForEvent 方法為止。 只有在進程產生事件之後,才可在調試程式會話中使用 ,例如 create-process 事件。
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | dbgeng.h (include Dbgeng.h) |