Метод 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
[вход, выход] Указатель на адрес массива внутренних кадров в стеке.

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

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

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

Исключения

Remarks

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

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

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

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

Требования

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

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

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

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

См. также раздел