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[]);  

Parameter

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

contextSize
[in] Die zugeordnete 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 Methodenfehler anzeigen.

HRESULT BESCHREIBUNG
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.

Ausnahmen

Bemerkungen

Diese Methode ändert den aktuellen Kontext des Threads nicht.

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

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

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: CorDebug.idl, CorDebug.h

Bibliothek: CorGuids.lib

.NET Framework-Versionen: Seit Version 4 verfügbar.

Siehe auch