Share via


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_OKS_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 呼叫這個方法時,會提供這個物件。

另請參閱