Freigeben über


ICorDebugStackWalk::SetContext-Methode

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

Syntax

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

Die Parameter

flag [in] Ein CorDebugSetContextFlag-Flag , das angibt, ob der Kontext vom aktiven Frame auf dem Stapel stammt, oder ein Kontext, der durch Das Entspannen des Stapels abgerufen wird.

contextSize [in] Die zugewiesene Größe des CONTEXT Puffers.

context [in] Der CONTEXT Puffer.

Rückgabewert

Diese Methode gibt die folgenden spezifischen HRESULTs sowie HRESULT-Fehler zurück, die auf Methodenfehler hinweisen.

HRESULT Description
S_OK Der ICorDebugStackWalk Kontext des Objekts wurde erfolgreich festgelegt.
E_FAIL Der ICorDebugStackWalk Kontext des Objekts wurde nicht festgelegt.
E_INVALIDARG Der Kontext ist NULL.
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) Der Kontextpuffer ist zu klein.

Exceptions

Bemerkungen

Diese Methode ändert nicht den aktuellen Kontext des Threads.

Das Festlegen des aktuellen Kontexts auf einen ungültigen Kontext kann zu unvorhersehbaren Ergebnissen des Stapel-Walkers führen.

Sie können eine genaue bitweise Kopie dieses Kontexts abrufen, indem Sie sofort die ICorDebugStackWalk::GetContext-Methode aufrufen.

Anforderungen

Plattformen: Siehe .NET unterstützte Betriebssysteme.

Kopfball: CorDebug.idl, CorDebug.h

Bibliothek: CorGuids.lib

.NET-Versionen: Verfügbar seit .NET Framework 4.0