Udostępnij przez


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ę.

Zobacz też