다음을 통해 공유


ICorDebugStackWalk::SetContext 메서드

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

Syntax

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

매개 변수

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

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

context [in] 버퍼입니다 CONTEXT .

반환 값

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

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

Exceptions

비고

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

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

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

요구 사항

플랫폼:.NET 지원 운영 체제를 참조하세요.

머리글: CorDebug.idl, CorDebug.h

도서관: CorGuids.lib

.NET 버전: .NET Framework 4.0 이후 사용 가능