IDkmMergedMonitorStackWalk164.RuntimeWalkNextFramesAndCheckCache164 Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Version of RuntimeWalkNextFrames() that also checks if a cached copy of the call stack is still valid.
public:
cli::array <Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkFrame ^> ^ RuntimeWalkNextFramesAndCheckCache164(Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkContext ^ stackWalkContext, System::UInt32 requestSizeHintIfCacheIsValid, System::UInt32 requestSizeHintIfCacheIsInvalid, Microsoft::VisualStudio::Debugger::CallStack::DkmStackHash164 ^ cachedHash, [Runtime::InteropServices::Out] bool % endOfStack, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Debugger::CallStack::DkmStackHash164 ^ % actualStackHash, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkContext ^ % actualStackWalkContext, [Runtime::InteropServices::Out] bool % isCacheValid);
public Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrame[] RuntimeWalkNextFramesAndCheckCache164 (Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkContext stackWalkContext, uint requestSizeHintIfCacheIsValid, uint requestSizeHintIfCacheIsInvalid, Microsoft.VisualStudio.Debugger.CallStack.DkmStackHash164 cachedHash, out bool endOfStack, out Microsoft.VisualStudio.Debugger.CallStack.DkmStackHash164 actualStackHash, out Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkContext actualStackWalkContext, out bool isCacheValid);
public Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrame[]? RuntimeWalkNextFramesAndCheckCache164 (Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkContext stackWalkContext, uint requestSizeHintIfCacheIsValid, uint requestSizeHintIfCacheIsInvalid, Microsoft.VisualStudio.Debugger.CallStack.DkmStackHash164? cachedHash, out bool endOfStack, out Microsoft.VisualStudio.Debugger.CallStack.DkmStackHash164? actualStackHash, out Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkContext actualStackWalkContext, out bool isCacheValid);
abstract member RuntimeWalkNextFramesAndCheckCache164 : Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkContext * uint32 * uint32 * Microsoft.VisualStudio.Debugger.CallStack.DkmStackHash164 * bool * DkmStackHash164 * DkmStackWalkContext * bool -> Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrame[]
Public Function RuntimeWalkNextFramesAndCheckCache164 (stackWalkContext As DkmStackWalkContext, requestSizeHintIfCacheIsValid As UInteger, requestSizeHintIfCacheIsInvalid As UInteger, cachedHash As DkmStackHash164, ByRef endOfStack As Boolean, ByRef actualStackHash As DkmStackHash164, ByRef actualStackWalkContext As DkmStackWalkContext, ByRef isCacheValid As Boolean) As DkmStackWalkFrame()
Parameters
- stackWalkContext
- DkmStackWalkContext
[In] DkmStackWalkContext allows the various components which walk, filter, or examine call stacks to store private data which is associated with this call stack.
- requestSizeHintIfCacheIsValid
- UInt32
[In] RequestSizeHintIfCacheIsValid is a hint as to the number of frame that the caller needs. This value is treated as a hint because this API can return frames which are not yet walked, so this API may return more or less than the hint value. A request size hint of 0 means not to do any stack walking at all if the cache is valid.
- requestSizeHintIfCacheIsInvalid
- UInt32
[In] RequestSizeHintIfCacheIsInvalid is a hint as to the number of frame that the caller needs. This value is treated as a hint because this API can return frames which are not yet walked, so this API may return more or less than the hint value.
- cachedHash
- DkmStackHash164
[In,Optional] Cached call stack hash, will not walk the stack if cache is still valid. This parameter is optional. If null, we will still compute the actual hash and do the stack walk, but will skip the comparing of the actual hash against the cached hash to suppress the stack walk.
- endOfStack
- Boolean
[Out] Returns true if the monitor reached the end of the stack.
- actualStackHash
- DkmStackHash164
[Out,Optional] The actual hash of the call stack. This may be NULL for runtimes that don't support call stack hashing.
- actualStackWalkContext
- DkmStackWalkContext
[Out] The DkmStackWalkContext object that can used later to continue the walk. If the cache is valid, this is the original context. If the cache is invalid, this will be a new DkmStackWalkContext object.
- isCacheValid
- Boolean
[Out] True if the cache was valid, false if not.
Returns
[Out] Array of walked frames. For, unresolved frames, both InstructionAddress and Description will be null.