A HRESULT - это код ошибки. Его значение зависит от сделанного вызова. В COM возвращаются HRESULT, потому что исключения недопустимы. Чтобы обойти это, обычно вызывается OleCheck
, который проверяет HRESULT и повышает и исключает, если это значение, отличное от S_OK
. Это EOleSysError, который вы получаете. :)
Однако обратите внимание, что HRESULT уже является кодом ошибки. HRESULT - всего лишь целое число. Имя вводит в заблуждение, потому что H
предполагает, что это дескриптор, но это не так.
Так что информации больше нет, чем сейчас. Значение HRESULT в сочетании с документацией API, которую вы вызываете, должно предоставить вам всю необходимую информацию.