Compartilhar via


Método ICorDebugThread3::GetActiveInternalFrames

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

Sintaxe

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 esperados em ppInternalFrames.

pcInternalFrames [out] 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.

Valor de retorno

Esse método retorna os HRESULTs específicos a seguir, bem como erros HRESULT que indicam falha de método.

HRESULT 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 que a contagem de quadros internos.

Exceptions

Observações

Quadros internos são estruturas de dados enviadas por push para a pilha pelo runtime para armazenar dados temporários.

Ao chamar GetActiveInternalFramespela primeira vez, você deve definir o cInternalFrames parâmetro como 0 (zero) e o ppInternalFrames parâmetro como nulo. Quando GetActiveInternalFrames retornado 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 apropriada (pcInternalFrames) no cInternalFrames parâmetro e especificar um ponteiro para uma matriz de tamanho apropriado em ppInternalFrames.

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

Requirements

Plataformas: Consulte sistemas operacionais com suporte do .NET.

Cabeçalho: CorDebug.idl, CorDebug.h

Biblioteca: CorGuids.lib

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