ICorDebugStackWalk::SetContext 메서드

ICorDebugStackWalk 개체의 현재 컨텍스트를 스레드에 대한 유효한 컨텍스트로 설정합니다.

구문

HRESULT SetContext([in] CorDebugSetContextFlag flag,  
                   [in] ULONG32 contextSize,  
                   [in, size_is(contextSize)] BYTE context[]);  

매개 변수

flag
[in] 컨텍스트가 스택의 활성 프레임에서 가져온 것인지 아니면 스택을 해제하여 얻은 컨텍스트인지를 나타내는 CorDebugSetContextFlag 플래그입니다.

contextSize
[in] CONTEXT 버퍼의 할당된 크기입니다.

context
[in] CONTEXT 버퍼입니다.

Return Value

이 메서드는 다음과 같은 특정 HRESULT뿐만 아니라 메서드 오류를 나타내는 HRESULT 오류도 반환합니다.

HRESULT 설명
S_OK ICorDebugStackWalk 개체의 컨텍스트가 성공적으로 설정되었습니다.
E_FAIL ICorDebugStackWalk 개체의 컨텍스트가 설정되지 않았습니다.
E_INVALIDARG 컨텍스트가 null인 경우
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) 컨텍스트 버퍼가 너무 작습니다.

예외

설명

이 메서드는 스레드의 현재 컨텍스트를 변경하지 않습니다.

현재 컨텍스트를 잘못된 컨텍스트로 설정하면 스택 워커에서 예측할 수 없는 결과가 발생할 수 있습니다.

ICorDebugStackWalk::GetContext 메서드를 즉시 호출하여 이 컨텍스트의 정확한 비트 복사본을 검색할 수 있습니다.

요구 사항

플랫폼:시스템 요구 사항을 참조하세요.

헤더: CorDebug.idl, CorDebug.h

라이브러리: CorGuids.lib

.NET Framework 버전: 4부터 사용 가능

참고 항목