私は答えをチェックアウトしました: How can I return both a error string and error code to VB6 from an ATL activex control?
カスタムの負のエラー コードを返すことができます。つまり、重大度ビットが設定され、カスタム エラー メッセージが返されます。しかし、ユーザーが使いやすいように、VB6 が Err.Number の正の # として表示するコードを生成できるようにしたいと考えています。Microsoft の DAO 3.6 DLL ができるので、それができると確信しています。たとえば、テーブルが存在しない場合、Err.Number= 3078 と Err.Description "The Microsoft Jet database..." が返されます。
エラー報告のために ISupportErrorInfo などを実装したことに注意してください。