IDebugProcess2::Attach
Dołącza menedżera debugowania sesji (SDM) do procesu.
Składnia
int Attach(
IDebugEventCallback2 pCallback,
Guid[] rgguidSpecificEngines,
uint celtSpecificEngines,
int[] rghrEngineAttach
);
Parametry
pCallback
[in] Obiekt IDebugEventCallback2 używany do powiadamiania o zdarzeniu debugowania.
rgguidSpecificEngines
[in] Tablica identyfikatorów GUID aparatów debugowania używanych do debugowania programów uruchomionych w procesie. Ten parametr może być wartością null. Aby uzyskać szczegółowe informacje, zobacz Uwagi.
celtSpecificEngines
[in] Liczba aparatów debugowania w tablicy rgguidSpecificEngines
i rozmiar tablicy rghrEngineAttach
.
rghrEngineAttach
[in, out] Tablica kodów HRESULT zwracanych przez aparaty debugowania. Rozmiar tej tablicy jest określony w parametrze celtSpecificEngines
. Każdy kod jest zwykle S_OK
lub S_ATTACH_DEFERRED
. Ten ostatni wskazuje, że DE jest obecnie dołączony do żadnych programów.
Wartość zwracana
Jeśli operacja powiedzie się, zwraca wartość S_OK
; w przeciwnym razie zwraca kod błędu. W poniższej tabeli przedstawiono inne możliwe wartości.
Wartość | Opis |
---|---|
E_ATTACH_DEBUGGER_ALREADY_ATTACHED |
Określony proces jest już dołączony do debugera. |
E_ATTACH_DEBUGGEE_PROCESS_SECURITY_VIOLATION |
Podczas procedury dołączania wystąpiło naruszenie zabezpieczeń. |
E_ATTACH_CANNOT_ATTACH_TO_DESKTOP |
Nie można dołączyć procesu klasycznego do debugera. |
Uwagi
Dołączanie do procesu dołącza sdM do wszystkich programów uruchomionych w tym procesie, które mogą być debugowane przez aparaty debugowania (DE) określone w tablicy rgguidSpecificEngines
. rgguidSpecificEngines
Ustaw parametr na wartość null lub dołącz GUID_NULL
do tablicy, aby dołączyć do wszystkich programów w procesie.
Wszystkie zdarzenia debugowania występujące w procesie są wysyłane do danego obiektu IDebugEventCallback2 . Ten IDebugEventCallback2
obiekt jest udostępniany, gdy sdM wywołuje tę metodę.