Метод ICorDebugStackWalk::GetContextICorDebugStackWalk::GetContext Method

Возвращает контекст для текущего кадра в объекте икордебугстакквалк .Returns the context for the current frame in the ICorDebugStackWalk object.

СинтаксисSyntax

HRESULT GetContext([in]  ULONG32 contextFlags,  
                   [in]  ULONG32 contextBufSize,  
                   [out] ULONG32* contextSize,  
                   [out, size_is(contextBufSize)] BYTE contextBuf[]);  

ПараметрыParameters

contextFlags
окне Флаги, указывающие запрошенное содержимое буфера контекста (определенного в WinNT. h).[in] Flags that indicate the requested contents of the context buffer (defined in WinNT.h).

contextBufSize
окне Выделенный размер буфера контекста.[in] The allocated size of the context buffer.

contextSize
заполняет Фактический размер контекста.[out] The actual size of the context. Это значение должно быть меньше или равно размеру буфера контекста.This value must be less than or equal to the size of the context buffer.

contextBuf
заполняет Буфер контекста.[out] The context buffer.

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

Этот метод возвращает следующие конкретные результаты HRESULT, а также ошибки HRESULT, которые указывают на сбой метода.This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.

HRESULTHRESULT Описание:Description
S_OKS_OK Контекст для текущего кадра успешно возвращен.The context for the current frame was successfully returned.
E_FAILE_FAIL Не удалось вернуть контекст.The context could not be returned.
HRESULT_FROM_WIN32 (БУФЕР ERROR_INSUFFICIENT)HRESULT_FROM_WIN32(ERROR_INSUFFICIENT BUFFER) Буфер контекста слишком мал.The context buffer is too small.
CORDBG_E_PAST_END_OF_STACKCORDBG_E_PAST_END_OF_STACK Указатель фрейма уже находится в конце стека; Поэтому доступ к дополнительным кадрам невозможен.The frame pointer is already at the end of the stack; therefore, no additional frames can be accessed.

ИсключенияExceptions

RemarksRemarks

Поскольку при очистке восстанавливаются только подмножество регистров, например непостоянные регистры, контекст может точно не соответствовать состоянию регистрации во время вызова.Because unwinding restores only a subset of the registers, such as non-volatile registers, the context may not exactly match the register state at the time of the call.

ТребованияRequirements

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

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

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

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

См. такжеSee also