次の方法で共有


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

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

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

この関数は埋め込み null 文字をサポートしていないため、最初の null より前の文字のみが報告されます。

戻り値

種類: BOOL

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

注釈

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

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

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

メモ これは、 RoTransformErrorW 関数の ANSI バージョンです。 メッセージ文字列は Unicode である必要があります。
 

要件

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

こちらもご覧ください

RO_ERROR_REPORTING_FLAGS

RoGetErrorReportingFlags

RoOriginateErrorW

RoSetErrorReportingFlags

RoTransformError