Вторник, 30.04.2024, 15:20
Распределенная обработка данных
Здравствуйте Гость | RSS
Главная страница HRESULT Регистрация Вход
Меню сайта

Считалка

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа

§ 12. HRESULT.

 

Query Interface и ольшенство функций интерфейсов СОМ возвращают HRESULT.  HRESULT – это 32-разрядное значение, разделенное на три поля.

 

  

 

         Старший бит HRESULT отмечает, успешно или нет выполнена функция. Это позволяет определить много кодов возврата и для успеха и для неудачи. Последние 16 битов содержат код возврата. Остальные 15 битов содержит дополнительную информацию о типе и источнике кода ошибки.

 

Таблица 12.1.

Распределенные значения HRESULT.

S _ OK

Функция отработала успешно. Значение S _ OK равно 0. [функция возвращает логическую истину]

NOERROR

То же, что и S _ OK

S _ FALSE

Функция отработала успешно и возвращает логическую ложь. Значение S _ FALSE равно 1.

E _ UNEXPECTED

Неожиданная ошибка

E _ NOTIMPL

Метод не реализован

E _ NOINTERFASE

Компонент не поддерживает запрашиваемый интерфейс. Возвращается Query Interface.

E _ OUTOFMEMORY

Компонент не может выделить требуемый объем памяти

E _ FAIL

Ошибка по неуказанной причине

 

         *Примечание. То, что S _ FALSE равно 1, а S _ OK равно 0 противоречит практике программирования на С++, где 0 – ложь, а не истина. Поэтому при использовании HRESULT необходимо сравнивать коды возврата с  S _ FALSE  S _ OK. Пятнадцать битов – с 30-го по 16-й содержат идентификатор средства. Он указывает, какая часть операционной системы выдает данный код возврата. [поскольку операционная система разрабатывает Microsoft, она зарезервировала право определения идентификаторов средств за собой.]

 

 Таблица 12.2.

Идентификаторы средств, определенные в настоящее время.

 

         FACILITY _ WINDOWS                 8

                            .

                            .

                            .

         FACILITY _ WIN32                        7

                            .

                            .

                            .

         Поскольку группы разработчиков используют разные идентификаторы средств, коды возврата разных средств не будут конфликтовать.
Поиск

Друзья сайта

2024