IDebugProcess2::Attach
將會話偵錯管理員 (SDM) 附加至進程。
語法
int Attach(
IDebugEventCallback2 pCallback,
Guid[] rgguidSpecificEngines,
uint celtSpecificEngines,
int[] rghrEngineAttach
);
參數
pCallback
[in] 用於偵錯事件通知的 IDebugEventCallback2 物件。
rgguidSpecificEngines
[in]偵錯引擎的 GUID 陣列,用來偵錯進程中執行的程式。 此參數可以是 Null 值。 如需詳細資料,請參閱備註。
celtSpecificEngines
[in]數位中的 rgguidSpecificEngines
偵錯引擎數目和數位的大小 rghrEngineAttach
。
rghrEngineAttach
[in, out]偵錯引擎所傳回的 HRESULT 代碼數位列。 這個陣列的大小是在 參數中 celtSpecificEngines
指定。 每個程式代碼通常是 S_OK
或 S_ATTACH_DEFERRED
。 後者表示 DE 目前未附加至任何程式。
傳回值
如果成功,則會傳回 S_OK
;否則,會傳回錯誤碼。 下表顯示其他可能的值。
值 | Description |
---|---|
E_ATTACH_DEBUGGER_ALREADY_ATTACHED |
指定的進程已經附加至調試程式。 |
E_ATTACH_DEBUGGEE_PROCESS_SECURITY_VIOLATION |
附加程式期間發生安全性違規。 |
E_ATTACH_CANNOT_ATTACH_TO_DESKTOP |
桌面進程無法附加至調試程式。 |
備註
附加至進程會將 SDM 附加至該進程中執行的所有程式,這些程式可由數位中指定的 rgguidSpecificEngines
偵錯引擎 (DE) 進行偵錯。 將 rgguidSpecificEngines
參數設定為 Null 值,或包含在 GUID_NULL
數位中,以附加至進程中的所有程式。
進程中發生的所有偵錯事件都會傳送至指定的 IDebugEventCallback2 物件。 IDebugEventCallback2
當 SDM 呼叫這個方法時,會提供這個物件。