RoTransformErrorW 関数 (roerrorapi.h)
変換されたエラーと有益な文字列をアタッチされたデバッガーに報告します。
構文
BOOL RoTransformErrorW(
[in] HRESULT oldError,
[in] HRESULT newError,
[in] UINT cchMax,
[in] PCWSTR message
);
パラメーター
[in] oldError
種類: HRESULT
エラー条件に関連付けられた元のエラー コード。
[in] newError
種類: HRESULT
エラー条件に関連付けるカスタム エラー コード。 oldError と newError が同じ場合、または両方が成功コード (S_OK など) である場合、関数は無効であり、FALSE を返します。
[in] cchMax
型: UINT
終了する null 文字を除く 、メッセージ内の最大文字数。 値が 0 の場合、文字列は最初の null 文字または 512 文字のいずれか小さい方に読み取られます。 cchMax が 512 より大きい場合、512 以降のすべての文字は無視されます。
[in] message
種類: PCWSTR
報告されたエラー状態を開発者が修正するのに役立つ情報文字列。 最大長は、末尾の null 文字を含めて 512 文字です。長い文字列は切り捨てられます。
文字列が空の場合、関数は成功しますが、エラー情報は報告されません。 常に有益な文字列を指定することをお勧めします。
message が NULL の場合、関数は成功し、使用可能な場合は Winerror.h のジェネリック文字列、またはE_FAILに関連付けられているジェネリック文字列を報告します。
この関数は埋め込み null 文字をサポートしていないため、最初の null より前の文字のみが報告されます。
戻り値
種類: BOOL
リターン コード | 説明 |
---|---|
|
エラー メッセージが正常に報告されました。 |
|
message が NULL であるか、空の文字列を指しているか、 oldError と newError が同じか、両方が成功コードです。 |
注釈
RoTransformErrorW 関数を使用して、カスタム エラー コードを既存のエラー条件に置き換えます。 たとえば、現在のエラー条件が E_FAILされている場合は、 E_FILENOTFOUND などのより具体的なエラー コードを置き換えて、変換されたエラーをアタッチされたデバッガーに報告できます。
RoTransformErrorW 関数の動作は、それ以外の場合は RoOriginateErrorW 関数と同じです。
RoSetErrorReportingFlags 関数を呼び出して UseSetErrorInfo フラグを設定し、呼び出し元のスレッドが COM で初期化されている場合、関数は IRestrictedErrorInfo をサポートする適切なエラー オブジェクトを作成し、SetErrorInfo を呼び出して COM チャネルに関連付けます。 スレッドが COM に初期化されていない場合でも、呼び出しはエラーなしで成功しますが、エラーは COM チャネルに関連付けられません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | roerrorapi.h |