Freigeben über


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

IMAPIForm::SetViewContext

IMAPIViewContext::GetViewStatus

IMAPIForm : IUnknown

MFCMAPI (engl.) als ein Codebeispiel

Formularverben