다음을 통해 공유


RoOriginateLanguageException 함수(roerrorapi.h)

오류, 정보 제공 문자열 및 오류 개체를 연결된 디버거에 보고합니다.

구문

BOOL RoOriginateLanguageException(
  [in]           HRESULT  error,
  [in, optional] HSTRING  message,
  [in]           IUnknown *languageException
);

매개 변수

[in] error

오류 조건과 연결된 오류 코드입니다. 오류가S_OK 같은 성공 코드인 경우 함수는 효과가 없으며 FALSE를 반환합니다. 이 동작을 사용하면 원치 않는 오류 메시지를 발생하지 않고 오류가 발생하지 않은 경우 함수를 호출할 수 있습니다.

[in, optional] message

개발자가 보고된 오류 조건을 수정하는 데 도움이 되는 정보 문자열입니다. 최대 길이는 후행 NUL 문자를 포함하여 512자입니다. 긴 문자열이 잘립니다.

문자열이 비어 있으면 함수는 성공하지만 오류 정보는 보고되지 않습니다. 항상 정보 문자열을 제공하는 것이 좋습니다.

메시지가NULL이면 함수가 성공하고 사용 가능한 경우 Winerror.h의 제네릭 문자열 또는 E_FAIL 연결된 제네릭 문자열을 보고합니다.

이 함수는 포함된 NUL 문자를 지원하지 않으므로 첫 번째 NUL 이전의 문자만 보고됩니다.

메시지 문자열을 지역화해야 합니다.

[in] languageException

프로세스에서 아파트 민첩성, 프로시지션 내 및 값으로 마샬링하는 오류 개체입니다. 이 개체는 필요한 경우 ILanguageExceptionStackBackTraceILanguageExceptionTransform을 구현해야 합니다.

반환 값

반환 코드 설명
TRUE
오류 메시지가 성공적으로 보고되었습니다.
FALSE
메시지는NULL 이거나 빈 문자열을 가리키거나 오류 는 성공 코드입니다.

설명

RoOriginateLanguageException 함수는 RoOriginateError처럼 동작하지만 오류에 대한 추가 정보를 저장하는 다른 매개 변수를 사용합니다. 언어 프로젝션은 이 함수를 사용하여 COM 오류 정보와 함께 예외 정보를 저장합니다. 언어 프로젝션은 나중에 예외를 다시 만드는 데 필요한 모든 정보를 포함하는 IUnknown 개체를 만들어야 합니다.

오류 개체는 프로세스 간에 apartment-agile, in-proc 및 marshal-by-value여야 합니다. 이 제한의 이유는 오류 정보가 검색될 때까지 CoUninitialize 호출로 인해 오류 개체가 시작된 스레드가 더 이상 존재하지 않을 수 있기 때문입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8.1 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2012 R2 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 roerrorapi.h
라이브러리 RuntimeObject.lib
DLL ComBase.dll

추가 정보

RoOriginateError