RoTransformError 함수(roerrorapi.h)

수정된 오류 및 정보 문자열을 연결된 디버거에 보고합니다.

구문

BOOL RoTransformError(
  [in] HRESULT oldError,
  [in] HRESULT newError,
  [in] HSTRING message
);

매개 변수

[in] oldError

형식: HRESULT

오류 조건과 연결된 원래 오류 코드입니다.

[in] newError

형식: HRESULT

오류 조건과 연결할 다른 오류 코드입니다. oldErrornewError가 동일하거나 둘 다 성공 코드(예: S_OK)인 경우 함수는 효과가 없으며 FALSE를 반환합니다.

[in] message

형식: HSTRING

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

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

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

메시지 문자열은 HSTRING이지만 RoTransformError 함수는 포함된 null 문자를 지원하지 않으므로 첫 번째 null 이전의 문자만 보고됩니다.

반환 값

형식: BOOL

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

설명

RoTransformError 함수를 사용하여 기존 오류 조건에 대한 사용자 지정 오류 코드를 대체합니다. 예를 들어 현재 오류 조건이 E_FAIL 경우 E_FILENOTFOUND 같은 보다 구체적인 오류 코드를 대체하고 변환된 오류를 연결된 디버거에 보고할 수 있습니다.

그렇지 않으면 RoTransformError 함수의 동작이 RoTransformErrorW 함수와 동일합니다.

UseSetErrorInfo 플래그가 RoSetErrorReportingFlags 함수를 호출하여 설정되고 호출 스레드가 COM에서 초기화된 경우 함수는 IRestrictedErrorInfo를 지원하는 적절한 오류 개체를 만들고 SetErrorInfo를 호출하여 COM 채널에 연결합니다. 스레드가 COM으로 초기화되지 않은 경우 호출은 오류 없이 계속 성공하지만 오류는 COM 채널과 연결되지 않습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 roerrorapi.h

추가 정보

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateError

RoSetErrorReportingFlags

RoTransformErrorW