RoTransformErrorW 함수(roerrorapi.h)

변환된 오류와 정보 제공 문자열을 연결된 디버거에 보고합니다.

구문

BOOL RoTransformErrorW(
  [in] HRESULT oldError,
  [in] HRESULT newError,
  [in] UINT    cchMax,
  [in] PCWSTR  message
);

매개 변수

[in] oldError

형식: HRESULT

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

[in] newError

형식: HRESULT

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

[in] cchMax

형식: UINT

종료 null 문자를 제외한 메시지의 최대 문자 수입니다. 값이 0이면 문자열은 첫 번째 null 문자 또는 512자 중 더 적은 문자로 읽습니다. cchMax가 512보다 크면 512 이후의 모든 문자는 무시됩니다.

[in] message

형식: PCWSTR

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

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

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

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

반환 값

형식: BOOL

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

설명

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

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

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

참고이는 RoTransformErrorW 함수의 ANSI 버전이 아닙니다. 메시지 문자열은 유니코드여야 합니다.
 

요구 사항

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

추가 정보

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateErrorW

RoSetErrorReportingFlags

RoTransformError