現在の論理実行スレッドにエラー情報オブジェクトを設定する。
SetErrorInfo dwReserved, perrinfo
dwReserved : [int] 将来の使用のために予約されている。0 でなければならない。 perrinfo : [var] エラーオブジェクト。
(プラグイン / モジュール : oleaut32.dll)
現在の論理実行スレッドにエラー情報オブジェクトを設定する。 [戻り値] 関数が成功した場合は S_OK を返す。失敗した場合は HRESULT エラーコードを返す。 [備考] この関数は既存のエラー情報オブジェクトがあればそれを解放し、ポインタを perrinfo に設定する。エラーオブジェクトを作成した後にこの関数を使用して、オブジェクトを現在の論理実行スレッドに関連付ける。SetErrorInfo を呼び出すプロパティまたはメソッドが DispInvoke によって呼ばれている場合、DispInvoke はエラー情報オブジェクトに指定された値で EXCEPINFO 引数を埋める。プロパティまたはメソッドが失敗の戻り値を返す場合、DispInvoke は DISP_E_EXCEPTION を返す。IDispatch::Invoke を使用しない仮想関数テーブル (VTBL) バインディングコントローラは GetErrorInfo を使用してエラー情報オブジェクトを取得できる。これにより、デュアルインターフェイスをサポートするオブジェクトは、クライアントが VTBL バインディングを使用するか IDispatch を使用するかに関わらず SetErrorInfo を使用できる。 クロスアパートメント呼び出しが行われると COM はあらゆるエラーオブジェクトをクリアする。 プロキシ/スタブを経由する COM 呼び出しは、呼び出し元スレッドの既存のエラーオブジェクトをクリアする。呼び出される側のオブジェクトは、SetErrorInfo を呼び出した後、戻る前にそのような呼び出しを行ってはならない。呼び出し元は、呼び出しから戻った後、GetErrorInfo を呼び出す前にそのような呼び出しを行ってはならない。経験則として、インターフェイスメソッドは SetErrorInfo を呼び出した後できるだけ早く戻り、呼び出し元は呼び出しから戻った後できるだけ早く GetErrorInfo を呼び出すべきである。 COM のモーダルメッセージループに入ると既存のエラーオブジェクトはクリアされる。呼び出される側のオブジェクトは SetErrorInfo を呼び出した後にメッセージループに入ってはならない。
| プラグイン / モジュール | oleaut32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の oleaut32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_oleaut32_gen2.hs |