Freigeben über


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:

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.

Siehe auch

UlValidateParms