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


ValidateParms

Область применения: Outlook 2013 | Outlook 2016

Вызывает внутреннюю функцию для проверка параметры, переданные клиентскими приложениями поставщикам служб.

Свойство Значение
Файл заголовка:
Mapival.h
Реализовано в:
MAPI
Вызывающая сторона:
Поставщики услуг
HRESULT ValidateParms(
  METHODS eMethod,
  LPVOID First
);

Параметры

eMethod

[в] Указывает метод для проверки с помощью перечисления.

First

[в] Указатель на первый аргумент в стеке.

Возвращаемое значение

S_OK

Все параметры допустимы.

MAPI_E_CALL_FAILED

Один или несколько параметров недопустимы.

Замечания

Предполагается, что параметры, передаваемые между MAPI и поставщиками служб, являются правильными и проходят только отладочную проверку с помощью макроса CheckParms . Поставщики должны проверка все параметры, передаваемые клиентскими приложениями, но клиенты должны предполагать, что параметры MAPI и поставщика верны. Используйте макрос HR_FAILED для проверки возвращаемых значений.

Метод ValidateParms вызывается по-разному в зависимости от того, является ли вызывающий код C или C++. C++ передает неявный параметр, известный как этот , каждому вызову метода, который становится явным в C и является адресом объекта . Первый параметр , eMethod, представляет собой перечислитель из проверяемого интерфейса и метода и сообщает, какие параметры следует найти в стеке. Второй параметр отличается для C и C++. В C++ он называется First и является первым параметром проверяемого метода. Второй параметр для языка C, ppThis, является адресом первого параметра метода, который всегда является указателем объекта. В обоих случаях второй параметр дает адрес начала списка параметров метода и, основываясь на eMethod, перемещает стек вниз и проверяет параметры.

Поставщики, реализующие общие интерфейсы, такие как IMAPITable и IMAPIProp, должны всегда проверка параметры с помощью функции ValidateParms, чтобы обеспечить согласованность между всеми поставщиками. Для некоторых сложных типов параметров были определены дополнительные функции проверки параметров, которые будут использоваться соответствующим образом. Ознакомьтесь со справочными разделами по следующим функциям:

Наследуемые методы используют ту же проверку параметров, что и интерфейс, от которого они наследуются. Например, параметры, проверяя IMessage и IMAPIProp , должны быть одинаковыми.

См. также

UlValidateParms