Freigeben über


ICorDebugStackWalk::SetContext-Methode

Legt den aktuellen Kontext des ICorDebugStackWalk-Objekts auf einen gültigen Kontext für den Thread fest.

HRESULT SetContext([in] CorDebugSetContextFlag flag,
                   [in] ULONG32 contextSize,
                   [in, size_is(contextSize)] BYTE context[]);

Parameter

  • flag
    [in] Ein CorDebugSetContextFlag-Flag, das angibt, ob der Kontext aus dem aktiven Frame auf dem Stapel stammt oder durch Entladen des Stapels ermittelt wurde.

  • contextSize
    [in] Die Größe des reservierten CONTEXT-Puffers.

  • context
    [in] Der CONTEXT-Puffer.

Rückgabewert

Diese Methode gibt die folgenden spezifischen HRESULTs sowie HRESULT-Fehler für Methodenfehler zurück.

HRESULT

Beschreibungen

S_OK

Der Kontext des ICorDebugStackWalk-Objekts wurde erfolgreich festgelegt.

E_FAIL

Der Kontext des ICorDebugStackWalk-Objekts wurde nicht festgelegt.

E_INVALIDARG

Der Kontext ist NULL.

HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)

Der Kontextpuffer ist zu klein.

Hinweise

Der aktuelle Kontext des Threads wird durch diese Methode nicht geändert.

Wenn der aktuelle Kontext auf einen ungültigen Kontext festgelegt wird, verursacht dies möglicherweise unvorhersehbare Ergebnisse vom Stackwalker.

Durch den sofortigen Aufruf der ICorDebugStackWalk::GetContext-Methode können Sie eine genaue bitweise Kopie des Kontexts abrufen.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: CorDebug.idl, CorDebug.h

Bibliothek: CorGuids.lib

.NET Framework-Versionen: 4

Siehe auch

Weitere Ressourcen

Debugschnittstellen

Debuggen (Referenz zur nicht verwalteten API)