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
; в противном случае возвращается код ошибки. В следующей таблице показаны другие возможные значения.
значение | Описание |
---|---|
E_ATTACH_DEBUGGER_ALREADY_ATTACHED |
Указанный процесс уже подключен к отладчику. |
E_ATTACH_DEBUGGEE_PROCESS_SECURITY_VIOLATION |
Нарушение безопасности произошло во время процедуры присоединения. |
E_ATTACH_CANNOT_ATTACH_TO_DESKTOP |
Не удается подключить рабочий процесс к отладчику. |
Замечания
Присоединение к процессу подключает SDM ко всем программам, работающим в этом процессе, которые могут быть отладочными подсистемами (DE), указанными в массиве rgguidSpecificEngines
. rgguidSpecificEngines
Задайте для параметра значение NULL или включите GUID_NULL
в массив для подключения ко всем программам в процессе.
Все события отладки, происходящие в процессе, отправляются в заданный объект IDebugEventCallback2 . Этот IDebugEventCallback2
объект предоставляется при вызове этого метода SDM.