DkmStackWalkContext.RuntimeWalkNextFramesAndCheckCache Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
Fora Matriz de quadros movimentados. Para os quadros não resolvidos, InstructionAddress e Description serão nulos.