Partilhar via


Método ICorDebugThread3::GetActiveInternalFrames

Retorna uma matriz de quadros internos (ICorDebugInternalFrame2 objetos) na pilha.

Sintaxe

HRESULT GetActiveInternalFrames
      (
      [in] ULONG32 cInternalFrames,
      [out] ULONG32 *pcInternalFrames,
      [in, out,size_is(cInternalFrames), length_is(*pcInternalFrames)]
            ICorDebugInternalFrame2 * ppInternalFrames[]
      );

Parâmetros

cInternalFrames [em] O número de quadros internos esperados em ppInternalFrames.

pcInternalFrames [saídas] Um ponteiro para um ULONG32 que contém o número de quadros internos na pilha.

ppInternalFrames [dentro, fora] Um ponteiro para o endereço de uma matriz de quadros internos na pilha.

Devolver Valor

Esse método retorna os seguintes HRESULTs específicos, bem como erros HRESULT que indicam falha do método.

HRESULTADO Description
S_OK O objeto ICorDebugInternalFrame2 foi criado com êxito.
E_INVALIDARG cInternalFrames não é zero e ppInternalFrames é null, ou pcInternalFrames é null.
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) ppInternalFrames é menor do que a contagem de quadros internos.

Exceções

Observações

Quadros internos são estruturas de dados empurradas para a pilha pelo tempo de execução para armazenar dados temporários.

Ao chamar GetActiveInternalFrameso , você deve definir o cInternalFrames parâmetro como 0 (zero) e o ppInternalFrames parâmetro como null. Quando GetActiveInternalFrames retorna pela primeira vez, pcInternalFrames contém a contagem dos quadros internos na pilha.

GetActiveInternalFrames deve então ser chamado uma segunda vez. Você deve passar a contagem adequada (pcInternalFrames) no cInternalFrames parâmetro e especificar um ponteiro para uma matriz de tamanho apropriado em ppInternalFrames.

Use o ICorDebugStackWalk::GetFrame método para retornar quadros de pilha reais.

Requisitos

Plataformas: Consulte Requisitos do sistema.

Cabeçalho: CorDebug.idl, CorDebug.h

Biblioteca: CorGuids.lib

Versões do .NET Framework: Disponível desde 4

Consulte também