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.

См. также