Método de ICorDebugThread3::GetActiveInternalFrames
Retorna uma matriz de quadros internos (ICorDebugInternalFrame2 objetos) na pilha.
HRESULT GetActiveInternalFrames
(
[in] ULONG32 cInternalFrames,
[out] ULONG32 *pcInternalFrames,
[in, out,size_is(cInternalFrames), length_is(*pcInternalFrames)]
ICorDebugInternalFrame2 * ppInternalFrames[]
);
Parâmetros
cInternalFrames
[in] O número de quadros internos esperado no ppInternalFrames.pcInternalFrames
[out] Um ponteiro para um ULONG32 que contém o número de quadros internos na pilha.ppInternalFrames
[in, out] Um ponteiro para o endereço de uma matriz de quadros internos na pilha.
Valor de retorno
Esse método retorna o seguintes HRESULTs específicos, bem como o HRESULT erros que indicam falha de método.
HRESULT |
Descrição |
---|---|
S_OK |
O ICorDebugInternalFrame2 objeto foi criado com êxito. |
E_INVALIDARG |
cInternalFramesis not zero and ppInternalFrames is null, or pcInternalFrames is null. |
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) |
ppInternalFramesé menor que a contagem de quadros internos. |
Comentários
Quadros internos são colocadas na pilha pelo runtime para armazenar os dados temporários de estruturas de dados.
Quando você chamar primeiro GetActiveInternalFrames, você deve definir o cInternalFrames parâmetro como 0 (zero) e o ppInternalFrames parâmetro para null. Quando GetActiveInternalFrames primeiro retorna, pcInternalFrames contém a contagem dos quadros internos na pilha.
GetActiveInternalFramesdeve então ser chamado uma segunda vez. Você deve passar a contagem adequada (pcInternalFrames) na cInternalFrames parâmetro, e especifica um ponteiro para uma matriz de tamanho apropriado no ppInternalFrames.
Use o ICorDebugStackWalk::GetFrame método para retornar o real pilha de quadros.
Requisitos
Plataformas: Consulte Requisitos de sistema do .NET Framework.
Cabeçalho: CorDebug.idl, CorDebug.h
Biblioteca: CorGuids.lib
.NET Framework versões: 4