Поделиться через


Проверка доступных возвращаемых значений

Разработчики клиентских приложений не должны полагаться на макросы COM SUCCEEDED и FAILED для тестирования возвращаемых значений IAccessible, так как значения, отличные от S_OK, считаются успешными. Например, метод может возвращать S_FALSE, который считается успешным по макросу SUCCEEDED, но при этом всё равно получает указатель NULL в выходном параметре.

Разработчики клиентов должны защититься от возможности того, что некоторые серверы возвращают коды ошибок, отличные от документированных значений. Чтобы обеспечить безопасность, необходимо убедиться, что все выходные параметры содержат допустимые сведения и соответствуют следующим критериям:

  • Все указатели не являютсяNULL.
  • Член vt любой структуры VARIANT не равен VT_EMPTY.