次の方法で共有


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 文字です。長い文字列は切り捨てられます。

文字列が空の場合、関数は成功しますが、エラー情報は報告されません。 常に有益な文字列を指定することをお勧めします。

messageNULL の場合、関数は成功し、使用可能な場合は Winerror.h のジェネリック文字列、またはE_FAILに関連付けられているジェネリック文字列を報告します。

メッセージ文字列は HSTRING ですが、RoTransformError 関数は埋め込み null 文字をサポートしていないため、最初の null より前の文字のみが報告されます。

戻り値

種類: BOOL

リターン コード 説明
TRUE
エラー メッセージが正常に報告されました。
FALSE
messageNULL であるか、空の文字列を指しているか、 oldErrornewError が同じか、両方が成功コードです。

注釈

RoTransformError 関数を使用して、カスタム エラー コードを既存のエラー条件に置き換えます。 たとえば、現在のエラー条件が E_FAILされている場合は、 E_FILENOTFOUNDなどのより具体的なエラー コードを置き換えて、変換されたエラーをアタッチされたデバッガーに報告できます。

RoTransformError 関数の動作は、それ以外の場合は RoTransformErrorW 関数と同じです。

RoSetErrorReportingFlags 関数を呼び出して UseSetErrorInfo フラグを設定し、呼び出し元のスレッドが COM で初期化されている場合、関数は IRestrictedErrorInfo をサポートする適切なエラー オブジェクトを作成し、SetErrorInfo を呼び出して COM チャネルに関連付けます。 スレッドが COM に初期化されていない場合でも、呼び出しはエラーなしで成功しますが、エラーは COM チャネルに関連付けられません。

要件

要件
サポートされている最小のクライアント Windows 8 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー roerrorapi.h

こちらもご覧ください

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateError

RoSetErrorReportingFlags

RoTransformErrorW