Поделиться через


Метод ICorDebugThread3::GetActiveInternalFrames

Возвращает массив внутренних кадров (объекты ICorDebugInternalFrame2 ) в стеке.

Синтаксис

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

Параметры

cInternalFrames [in] Количество внутренних кадров, ожидаемых в ppInternalFrames.

pcInternalFrames [out] Указатель на объект ULONG32 , содержащий количество внутренних кадров в стеке.

ppInternalFrames [in, out] Указатель на адрес массива внутренних кадров в стеке.

Возвращаемое значение

Этот метод возвращает следующие конкретные результаты HRESULT, а также ошибки HRESULT, которые указывают на сбой метода.

HRESULT Description
S_OK Объект ICorDebugInternalFrame2 успешно создан.
E_INVALIDARG cInternalFramesне равно нулю и nullppInternalFrames имеет значение , или pcInternalFrames имеет значение null.
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) ppInternalFrames меньше количества внутренних кадров.

Исключения

Замечания

Внутренние кадры — это структуры данных, отправленные в стек средой выполнения для хранения временных данных.

При первом вызове GetActiveInternalFramesпараметр должен иметь cInternalFrames значение 0 (ноль), а ppInternalFrames параметр имеет значение NULL. При GetActiveInternalFrames первом возврате pcInternalFrames содержит количество внутренних кадров в стеке.

GetActiveInternalFrames затем следует вызвать второй раз. Необходимо передать правильное число (pcInternalFrames) в cInternalFrames параметре и указать указатель на соответствующий массив ppInternalFrames.

Используйте метод ICorDebugStackWalk::GetFrame для возврата фактических кадров стека.

Требования

Платформы: см. раздел Требования к системе.

Заголовок: CorDebug.idl, CorDebug.h

Библиотека: CorGuids.lib

версии платформа .NET Framework: Доступно с 4

См. также