DkmStackWalkContext.RuntimeWalkNextFramesAndCheckCache Methode

Definition

Überlädt

RuntimeWalkNextFramesAndCheckCache(DkmWorkList, UInt32, UInt32, DkmStackHash, DkmCompletionRoutine<DkmRuntimeWalkNextFramesAndCheckCacheAsyncResult>)

Veraltet. Verwenden Sie diese Methode nicht, da Sie veraltete Hashwerte zurückgibt. Verwenden Sie stattdessen IDkmMergedMonitorStackWalk164:: RuntimeWalkNextFramesAndCheckCache164. Version von runtimewalknextframes (), die ebenfalls überprüft, ob eine zwischengespeicherte Kopie der aufrufsstapel noch gültig ist.

Diese Methode fügt ein neues Arbeits Element an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeits Element angefügt wurde. Die tatsächliche Verarbeitung der Arbeitsaufgabe erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Abschluss Routine abgeschlossen wurde.

RuntimeWalkNextFramesAndCheckCache(UInt32, UInt32, DkmStackHash, Boolean, DkmStackHash, DkmStackWalkContext, Boolean)

Veraltet. Verwenden Sie diese Methode nicht, da Sie veraltete Hashwerte zurückgibt. Verwenden Sie stattdessen IDkmMergedMonitorStackWalk164:: RuntimeWalkNextFramesAndCheckCache164. Version von runtimewalknextframes (), die ebenfalls überprüft, ob eine zwischengespeicherte Kopie der aufrufsstapel noch gültig ist.

RuntimeWalkNextFramesAndCheckCache(DkmWorkList, UInt32, UInt32, DkmStackHash, DkmCompletionRoutine<DkmRuntimeWalkNextFramesAndCheckCacheAsyncResult>)

Veraltet. Verwenden Sie diese Methode nicht, da Sie veraltete Hashwerte zurückgibt. Verwenden Sie stattdessen IDkmMergedMonitorStackWalk164:: RuntimeWalkNextFramesAndCheckCache164. Version von runtimewalknextframes (), die ebenfalls überprüft, ob eine zwischengespeicherte Kopie der aufrufsstapel noch gültig ist.

Diese Methode fügt ein neues Arbeits Element an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeits Element angefügt wurde. Die tatsächliche Verarbeitung der Arbeitsaufgabe erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Abschluss Routine abgeschlossen wurde.

public:
 void RuntimeWalkNextFramesAndCheckCache(Microsoft::VisualStudio::Debugger::DkmWorkList ^ WorkList, System::UInt32 RequestSizeHintIfCacheIsValid, System::UInt32 RequestSizeHintIfCacheIsInvalid, Microsoft::VisualStudio::Debugger::CallStack::DkmStackHash ^ CachedHash, Microsoft::VisualStudio::Debugger::DkmCompletionRoutine<Microsoft::VisualStudio::Debugger::CallStack::DkmRuntimeWalkNextFramesAndCheckCacheAsyncResult> ^ CompletionRoutine);
public void RuntimeWalkNextFramesAndCheckCache (Microsoft.VisualStudio.Debugger.DkmWorkList WorkList, uint RequestSizeHintIfCacheIsValid, uint RequestSizeHintIfCacheIsInvalid, Microsoft.VisualStudio.Debugger.CallStack.DkmStackHash CachedHash, Microsoft.VisualStudio.Debugger.DkmCompletionRoutine<Microsoft.VisualStudio.Debugger.CallStack.DkmRuntimeWalkNextFramesAndCheckCacheAsyncResult> CompletionRoutine);
member this.RuntimeWalkNextFramesAndCheckCache : Microsoft.VisualStudio.Debugger.DkmWorkList * uint32 * uint32 * Microsoft.VisualStudio.Debugger.CallStack.DkmStackHash * Microsoft.VisualStudio.Debugger.DkmCompletionRoutine<Microsoft.VisualStudio.Debugger.CallStack.DkmRuntimeWalkNextFramesAndCheckCacheAsyncResult> -> unit
Public Sub RuntimeWalkNextFramesAndCheckCache (WorkList As DkmWorkList, RequestSizeHintIfCacheIsValid As UInteger, RequestSizeHintIfCacheIsInvalid As UInteger, CachedHash As DkmStackHash, CompletionRoutine As DkmCompletionRoutine(Of DkmRuntimeWalkNextFramesAndCheckCacheAsyncResult))

Parameter

WorkList
DkmWorkList

Worklist, an das das neue Arbeits Element angefügt werden soll.

RequestSizeHintIfCacheIsValid
UInt32

In Requestsizehintifcacheisvalid ist ein Hinweis auf die Anzahl von Frame, die der Aufrufer benötigt. Dieser Wert wird als Hinweis behandelt, da diese API Frames zurückgeben kann, die noch nicht durchlaufen wurden, sodass diese API möglicherweise mehr oder weniger als der Hinweis Wert zurückgibt. Der anforderungsgrößenhinweis 0 bedeutet, dass kein Stapel durchlaufen werden soll, wenn der Cache gültig ist.

RequestSizeHintIfCacheIsInvalid
UInt32

In Requestsizehintifcacheisinvalid ist ein Hinweis auf die Anzahl von Frame, die der Aufrufer benötigt. Dieser Wert wird als Hinweis behandelt, da diese API Frames zurückgeben kann, die noch nicht durchlaufen wurden, sodass diese API möglicherweise mehr oder weniger als der Hinweis Wert zurückgibt.

CachedHash
DkmStackHash

[In, optional] Zwischen gespeicherter aufrufsstapel-Hash führt den Stapel nicht aus, wenn der Cache noch gültig ist. Dieser Parameter ist optional. Wenn der Wert NULL ist, berechnen wir immer noch den tatsächlichen Hash und führen den Stapel Durchlauf aus, überspringen jedoch den Vergleich des tatsächlichen Hashs mit dem zwischengespeicherten Hash, um den Stapel Durchlauf zu unterdrücken.

CompletionRoutine
DkmCompletionRoutine<DkmRuntimeWalkNextFramesAndCheckCacheAsyncResult>

Die Routine, die nach Abschluss der Anforderung ausgelöst werden soll. Wenn die Anforderung erfolgreich an die Arbeitsliste angehängt wird, wird diese immer ausgelöst (auch wenn der Vorgang abgebrochen wird). Dies wird nie ausgelöst, wenn das Anfügen der Arbeitsaufgabe fehlschlägt.

Gilt für

RuntimeWalkNextFramesAndCheckCache(UInt32, UInt32, DkmStackHash, Boolean, DkmStackHash, DkmStackWalkContext, Boolean)

Veraltet. Verwenden Sie diese Methode nicht, da Sie veraltete Hashwerte zurückgibt. Verwenden Sie stattdessen IDkmMergedMonitorStackWalk164:: RuntimeWalkNextFramesAndCheckCache164. Version von runtimewalknextframes (), die ebenfalls überprüft, ob eine zwischengespeicherte Kopie der aufrufsstapel noch gültig ist.

public:
 cli::array <Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkFrame ^> ^ RuntimeWalkNextFramesAndCheckCache(System::UInt32 RequestSizeHintIfCacheIsValid, System::UInt32 RequestSizeHintIfCacheIsInvalid, Microsoft::VisualStudio::Debugger::CallStack::DkmStackHash ^ CachedHash, [Runtime::InteropServices::Out] bool % EndOfStack, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Debugger::CallStack::DkmStackHash ^ % ActualStackHash, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkContext ^ % ActualStackWalkContext, [Runtime::InteropServices::Out] bool % IsCacheValid);
public Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrame[] RuntimeWalkNextFramesAndCheckCache (uint RequestSizeHintIfCacheIsValid, uint RequestSizeHintIfCacheIsInvalid, Microsoft.VisualStudio.Debugger.CallStack.DkmStackHash CachedHash, out bool EndOfStack, out Microsoft.VisualStudio.Debugger.CallStack.DkmStackHash ActualStackHash, out Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkContext ActualStackWalkContext, out bool IsCacheValid);
member this.RuntimeWalkNextFramesAndCheckCache : uint32 * uint32 * Microsoft.VisualStudio.Debugger.CallStack.DkmStackHash * bool * DkmStackHash * DkmStackWalkContext * bool -> Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrame[]
Public Function RuntimeWalkNextFramesAndCheckCache (RequestSizeHintIfCacheIsValid As UInteger, RequestSizeHintIfCacheIsInvalid As UInteger, CachedHash As DkmStackHash, ByRef EndOfStack As Boolean, ByRef ActualStackHash As DkmStackHash, ByRef ActualStackWalkContext As DkmStackWalkContext, ByRef IsCacheValid As Boolean) As DkmStackWalkFrame()

Parameter

RequestSizeHintIfCacheIsValid
UInt32

In Requestsizehintifcacheisvalid ist ein Hinweis auf die Anzahl von Frame, die der Aufrufer benötigt. Dieser Wert wird als Hinweis behandelt, da diese API Frames zurückgeben kann, die noch nicht durchlaufen wurden, sodass diese API möglicherweise mehr oder weniger als der Hinweis Wert zurückgibt. Der anforderungsgrößenhinweis 0 bedeutet, dass kein Stapel durchlaufen werden soll, wenn der Cache gültig ist.

RequestSizeHintIfCacheIsInvalid
UInt32

In Requestsizehintifcacheisinvalid ist ein Hinweis auf die Anzahl von Frame, die der Aufrufer benötigt. Dieser Wert wird als Hinweis behandelt, da diese API Frames zurückgeben kann, die noch nicht durchlaufen wurden, sodass diese API möglicherweise mehr oder weniger als der Hinweis Wert zurückgibt.

CachedHash
DkmStackHash

[In, optional] Zwischen gespeicherter aufrufsstapel-Hash führt den Stapel nicht aus, wenn der Cache noch gültig ist. Dieser Parameter ist optional. Wenn der Wert NULL ist, berechnen wir immer noch den tatsächlichen Hash und führen den Stapel Durchlauf aus, überspringen jedoch den Vergleich des tatsächlichen Hashs mit dem zwischengespeicherten Hash, um den Stapel Durchlauf zu unterdrücken.

EndOfStack
Boolean

Vorgenommen Gibt "true" zurück, wenn der Monitor das Ende des Stapels erreicht hat.

ActualStackHash
DkmStackHash

[Out, optional] Der tatsächliche Hash der-Rückruf Stapel. Dies kann bei Laufzeiten, die keine Aufrufe der Rückruf Stapel Unterstützung unterstützen, NULL sein.

ActualStackWalkContext
DkmStackWalkContext

Vorgenommen Das dkmstackwalkcontext-Objekt, das später zum Fortsetzen der exemplarischen Vorgehensweise verwendet werden kann. Wenn der Cache gültig ist, handelt es sich hierbei um den ursprünglichen Kontext. Wenn der Cache ungültig ist, ist dies ein neues dkmstackwalkcontext-Objekt.

IsCacheValid
Boolean

Vorgenommen True, wenn der Cache gültig ist, andernfalls false.

Gibt zurück

DkmStackWalkFrame[]

Vorgenommen Array von ausgewanderten Frames. Bei nicht aufgelösten Frames sind sowohl InstructionAddress als auch Description NULL.

Gilt für