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
프로세스에서 아파트 민첩성, 프로시지션 내 및 값으로 마샬링하는 오류 개체입니다. 이 개체는 필요한 경우 ILanguageExceptionStackBackTrace 및 ILanguageExceptionTransform을 구현해야 합니다.
반환 값
반환 코드 | 설명 |
---|---|
|
오류 메시지가 성공적으로 보고되었습니다. |
|
메시지는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 |