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, чтобы обеспечить согласованность между всеми поставщиками. Для некоторых сложных типов параметров были определены дополнительные функции проверки параметров, которые будут использоваться соответствующим образом. Ознакомьтесь со справочными разделами по следующим функциям:
- FBadColumnSet
- FBadEntryList
- FBadProp
- FBadProp
- FBadRestriction
- FBadRestriction
- FBadRglpszW
- FBadRow
- FBadRowSet
- FBadSortOrderSet
Наследуемые методы используют ту же проверку параметров, что и интерфейс, от которого они наследуются. Например, параметры, проверяя IMessage и IMAPIProp , должны быть одинаковыми.