Jak mogę zwrócić ciąg błędu i kod błędu do VB6 z formantu ActiveX ATL?

Próbuję zwrócić szczegółowy błąd do VB6 używającCComCoClass :: Błąd, ale wydaje mi się, że mogę tylko zwrócić kod błędu / lub / wiadomość - ale nie oba.

return Error(_T("Not connected"), __uuidof(IMyInterface), HRESULT_FROM_WIN32(ERROR_CONNECTION_INVALID));

powoduje generyczny komunikat o błędzie „Metoda” żądania „obiektu” IMyInterface „nieudany” w Err.Description na stronie VB6 (ale ERROR_CONNECTION_INVALID w Err.Number), natomiast

return Error(_T("Not connected"));

wyświetla odpowiedni komunikat o błędzie, ale ogólny kod błędu w Err.Number. Jak mogę uzyskać to, co najlepsze z obu światów?

questionAnswers(4)

yourAnswerToTheQuestion