DkmStackWalkContext.RuntimeWalkNextFramesAndCheckCache Método

Definição

Sobrecargas

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

Preterido. Não use esse método, ele retorna valores de hash fora de data; Use IDkmMergedMonitorStackWalk164:: RuntimeWalkNextFramesAndCheckCache164 em vez disso. A versão de RuntimeWalkNextFrames () que também verifica se uma cópia armazenada em cache da pilha de chamadas ainda é válida.

Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará assim que o item de trabalho tiver sido anexado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão.

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

Preterido. Não use esse método, ele retorna valores de hash fora de data; Use IDkmMergedMonitorStackWalk164:: RuntimeWalkNextFramesAndCheckCache164 em vez disso. A versão de RuntimeWalkNextFrames () que também verifica se uma cópia armazenada em cache da pilha de chamadas ainda é válida.

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

Preterido. Não use esse método, ele retorna valores de hash fora de data; Use IDkmMergedMonitorStackWalk164:: RuntimeWalkNextFramesAndCheckCache164 em vez disso. A versão de RuntimeWalkNextFrames () que também verifica se uma cópia armazenada em cache da pilha de chamadas ainda é válida.

Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará assim que o item de trabalho tiver sido anexado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão.

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))

Parâmetros

WorkList
DkmWorkList

A tabela de trabalho à qual anexar o novo item de trabalho.

RequestSizeHintIfCacheIsValid
UInt32

No RequestSizeHintIfCacheIsValid é uma dica sobre o número de quadros que o chamador precisa. Esse valor é tratado como uma dica porque essa API pode retornar quadros que ainda não foram movimentados, portanto, essa API pode retornar mais ou menos do que o valor da dica. Uma dica de tamanho de solicitação de 0 significa não fazer nenhuma movimentação de pilha se o cache for válido.

RequestSizeHintIfCacheIsInvalid
UInt32

No RequestSizeHintIfCacheIsInvalid é uma dica sobre o número de quadros que o chamador precisa. Esse valor é tratado como uma dica porque essa API pode retornar quadros que ainda não foram movimentados, portanto, essa API pode retornar mais ou menos do que o valor da dica.

CachedHash
DkmStackHash

[In, opcional] O hash da pilha de chamadas em cache não percorrerá a pilha se o cache ainda for válido. Esse parâmetro é opcional. Se for NULL, ainda computaremos o hash real e realizaremos a movimentação da pilha, mas ignoraremos a comparação do hash real com relação ao hash armazenado em cache para suprimir a movimentação da pilha.

CompletionRoutine
DkmCompletionRoutine<DkmRuntimeWalkNextFramesAndCheckCacheAsyncResult>

Rotina a ser acionada quando a solicitação for concluída. Se a solicitação for acrescentada com êxito à lista de trabalho, isso sempre será acionado (incluindo quando a operação é cancelada). Isso nunca será acionado se a anexação do item de trabalho falhar.

Aplica-se a

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

Preterido. Não use esse método, ele retorna valores de hash fora de data; Use IDkmMergedMonitorStackWalk164:: RuntimeWalkNextFramesAndCheckCache164 em vez disso. A versão de RuntimeWalkNextFrames () que também verifica se uma cópia armazenada em cache da pilha de chamadas ainda é válida.

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()

Parâmetros

RequestSizeHintIfCacheIsValid
UInt32

No RequestSizeHintIfCacheIsValid é uma dica sobre o número de quadros que o chamador precisa. Esse valor é tratado como uma dica porque essa API pode retornar quadros que ainda não foram movimentados, portanto, essa API pode retornar mais ou menos do que o valor da dica. Uma dica de tamanho de solicitação de 0 significa não fazer nenhuma movimentação de pilha se o cache for válido.

RequestSizeHintIfCacheIsInvalid
UInt32

No RequestSizeHintIfCacheIsInvalid é uma dica sobre o número de quadros que o chamador precisa. Esse valor é tratado como uma dica porque essa API pode retornar quadros que ainda não foram movimentados, portanto, essa API pode retornar mais ou menos do que o valor da dica.

CachedHash
DkmStackHash

[In, opcional] O hash da pilha de chamadas em cache não percorrerá a pilha se o cache ainda for válido. Esse parâmetro é opcional. Se for NULL, ainda computaremos o hash real e realizaremos a movimentação da pilha, mas ignoraremos a comparação do hash real com relação ao hash armazenado em cache para suprimir a movimentação da pilha.

EndOfStack
Boolean

Fora Retornará true se o monitor atingir o final da pilha.

ActualStackHash
DkmStackHash

[Saída, opcional] O hash real da pilha de chamadas. Isso pode ser nulo para tempos de execução que não dão suporte a hash de pilha de chamadas.

ActualStackWalkContext
DkmStackWalkContext

Fora O objeto DkmStackWalkContext que pode ser usado posteriormente para continuar a movimentação. Se o cache for válido, esse será o contexto original. Se o cache for inválido, esse será um novo objeto DkmStackWalkContext.

IsCacheValid
Boolean

Fora True se o cache era válido, false se não.

Retornos

DkmStackWalkFrame[]

Fora Matriz de quadros movimentados. Para os quadros não resolvidos, InstructionAddress e Description serão nulos.

Aplica-se a