ValidateParms
Gilt für: Outlook 2013 | Outlook 2016
Ruft eine interne Funktion auf, um die Parameter zu überprüfen, die Clientanwendungen an Dienstanbieter übergeben haben.
Eigenschaft | Wert |
---|---|
Headerdatei: |
Mapival.h |
Implementiert von: |
MAPI |
Aufgerufen von: |
Dienstanbieter |
HRESULT ValidateParms(
METHODS eMethod,
LPVOID First
);
Parameter
eMethod
[in] Gibt durch Enumeration die zu überprüfende Methode an.
First
[in] Zeiger auf das erste Argument im Stapel.
Rückgabewert
S_OK
Alle Parameter sind gültig.
MAPI_E_CALL_FAILED
Mindestens ein Parameter ist ungültig.
Hinweise
Parameter, die zwischen MAPI und Dienstanbietern übergeben werden, werden als korrekt angenommen und werden nur mit dem CheckParms-Makro debuggeprüft. Anbieter sollten alle Parameter überprüfen, die von Clientanwendungen übergeben werden, aber Clients sollten davon ausgehen, dass MAPI- und Anbieterparameter korrekt sind. Verwenden Sie das makro HR_FAILED , um Rückgabewerte zu testen.
ValidateParms wird unterschiedlich aufgerufen, je nachdem, ob der aufrufende Code C oder C++ ist. C++ übergibt einen impliziten Parameter, der als dieser bezeichnet wird, an jeden Methodenaufruf, der in C explizit wird und die Adresse des Objekts ist. Der erste Parameter, eMethod, ist ein Enumerator aus der Zu überprüfenden Schnittstelle und Methode und gibt an, welche Parameter auf dem Stapel zu finden sind. Der zweite Parameter unterscheidet sich für C und C++. In C++ heißt sie First, und es ist der erste Parameter für die Methode, die überprüft wird. Der zweite Parameter für die Sprache C, ppThis, ist die Adresse des ersten Parameters für die Methode, die immer ein Objektzeiger ist. In beiden Fällen gibt der zweite Parameter die Adresse des Anfangs der Parameterliste der Methode an. Basierend auf eMethod wird der Stapel nach unten verschoben und die Parameter überprüft.
Anbieter, die allgemeine Schnittstellen wie IMAPITable und IMAPIProp implementieren, sollten Parameter immer mithilfe der ValidateParms-Funktion überprüfen, um die Konsistenz aller Anbieter sicherzustellen. Zusätzliche Parametervalidierungsfunktionen wurden für einige komplexe Parametertypen definiert, die stattdessen nach Bedarf verwendet werden sollen. Die folgenden Funktionen finden Sie in den Referenzthemen:
- FBadColumnSet
- FBadEntryList
- FBadProp
- FBadProp
- FBadRestriction
- FBadRestriction
- FBadRglpszW
- FBadRow
- FBadRowSet
- FBadSortOrderSet
Geerbte Methoden verwenden dieselbe Parameterüberprüfung wie die Schnittstelle, von der sie erben. Beispielsweise sollte der Parameter, der auf IMessage und IMAPIProp überprüft wird, identisch sein.