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

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

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

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