IMAPIForm::DoVerb
Gilt für: Outlook 2013 | Outlook 2016
Fordert an, dass das Formular alle Aufgaben ausführt, die es einem bestimmten Verb ordnet.
HRESULT DoVerb(
LONG iVerb,
LPMAPIVIEWCONTEXT lpViewContext,
ULONG_PTR hwndParent,
LPCRECT lprcPosRect
);
Parameter
iVerb
[in] Die Zahl, die einem der Verben des Formulars zugeordnet ist.
lpViewContext
[in] Ein Zeiger auf ein Ansichtskontextobjekt. Der lpViewContext-Parameter kann NULL sein.
hwndParent
[in] Ein Handle für das übergeordnete Fenster aller Dialogfelder oder Fenster, die von dieser Methode angezeigt werden. Der hwndParent-Parameter sollte NULL sein, wenn das Dialogfeld oder Fenster nicht modal ist.
lprcPosRect
[in] Ein Zeiger auf eine Win32 RECT-Struktur , die die Größe und Position des Formularfensters enthält.
Rückgabewert
S_OK
Das Verb wurde erfolgreich aufgerufen.
OLEOBJ_S_CANNOT_DOVERB_NOW
Das durch den iVerb-Parameter dargestellte Verb ist gültig, aber das Formular kann die derzeit zugeordneten Vorgänge nicht ausführen.
Hinweise
Formularanzeiger rufen die IMAPIForm::D oVerb-Methode auf, um anzufordern, dass das Formular die Aufgaben ausführt, die es jedem Verb ordnet, das das Formular unterstützt.
Jedes der unterstützten Verben wird durch einen numerischen Wert identifiziert, der im iVerb-Parameter an DoVerb übergeben wird. Typische Implementierungen von DoVerb enthalten eine switch-Anweisung , die die Werte testet, die für den iVerb-Parameter für das Formular gültig sind.
Hinweise für Implementierer
Wenn der Formular-Viewer einen Ansichtskontext im lpViewContext-Parameter angibt, verwenden Sie ihn in Ihrer DoVerb-Implementierung anstelle des Ansichtskontexts, der in einem früheren Aufruf der IMAPIForm::SetViewContext-Methode übergeben wurde. Nehmen Sie alle erforderlichen Änderungen an Ihren internen Datenstrukturen vor, und speichern Sie den Ansichtskontext nicht.
Führen Sie die folgenden Aufgaben in Ihrer DoVerb-Implementierung aus:
Führen Sie den code aus, der für das bestimmte Verb erforderlich ist, das dem iVerb-Parameter zugeordnet ist.
Stellen Sie bei Bedarf den ursprünglichen Ansichtskontext wieder her.
Wenn eine unbekannte Verbnummer übergeben wurde, geben Sie MAPI_E_NO_SUPPORT zurück. Andernfalls wird ein Ergebnis zurückgegeben, das auf dem Erfolg oder Fehler des ausgeführten Verbs basiert.
Schließen Sie das Formular. Es liegt immer in Ihrer Verantwortung, das Formular nach Abschluss eines DoVerb-Anrufs zu schließen.
Einige Verben, z. B. Print, sollten in Bezug auf den DoVerb-Aufruf modal sein. Das heißt, der angegebene Vorgang muss abgeschlossen sein, bevor der DoVerb-Aufruf zurückgegeben wird.
Um die RECT-Struktur abzurufen, die vom Fenster eines Formulars verwendet wird, rufen Sie die GetWindowRect-Funktion auf .
Speichern Sie das Handle nicht im hwndParent-Parameter , da es zwar in der Regel bis zum Abschluss von DoVerb gültig bleibt, aber sofort nach der Rückgabe des Aufrufs zerstört werden kann.
Hinweise für Aufrufer
Sie können nicht modale Verben als modale Verben verwenden, indem Sie lpViewContext auf eine Ansichtskontextimplementierung verweisen, die das VCSTATUS_MODAL-Flag aus der IMAPIViewContext::GetViewStatus-Methode zurückgibt.
Weitere Informationen zu Verben in MAPI finden Sie unter Formularverben. Weitere Informationen zur Behandlung von Verben in OLE finden Sie unter OLE und Datenübertragung.
MFCMAPI-Referenz
Einen MFCMAP-Beispielcode finden Sie in der folgenden Tabelle.
Datei | Funktion | Kommentar |
---|---|---|
MyMAPIFormViewer.cpp |
CMyMAPIFormViewer::CallDoVerb |
MFCMAPI verwendet die IMAPIForm::D oVerb-Methode , um ein Verb in einem Formular aufzurufen. |
Siehe auch
IMAPIViewContext::GetViewStatus