Freigeben über


IAssocHandler::Invoke-Methode (shobjidl_core.h)

Ruft den zugeordneten Handler direkt auf.

Syntax

HRESULT Invoke(
  [in] IDataObject *pdo
);

Parameter

[in] pdo

Typ: IDataObject*

Ein Zeiger auf ein IDataObject , das das ausgewählte Element darstellt, für das der Handler aufgerufen werden soll. Beachten Sie, dass Sie IAssocHandler::Invoke nicht mit einer Auswahl von mehreren Elementen aufrufen sollten. Wenn Sie über mehrere Elemente verfügen, rufen Sie stattdessen IAssocHandler::CreateInvoker auf. Weitere Informationen finden Sie unter Hinweise.

Rückgabewert

Typ: HRESULT

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

IAssocHandler-Objekte werden in der Regel verwendet, um ein Menü Öffnen mit aufzufüllen. Wenn eines dieser Menüelemente ausgewählt ist, wird diese Methode aufgerufen, um die ausgewählte Anwendung zu starten.

Aufrufen und ErstellenInvoker

Das von diesen Methoden verwendete IDataObject kann entweder eine einzelne Datei oder eine Auswahl mehrerer Dateien darstellen. Nicht alle Anwendungen unterstützen die Option mit mehreren Dateien. Die Anwendungen, die dieses Szenario unterstützen, können andere Einschränkungen erzwingen, z. B. die Anzahl der Dateien, die gleichzeitig geöffnet werden können, oder die zulässige Kombination von Dateitypen.

Daher muss eine Anwendung häufig feststellen, ob der Handler die Auswahl unterstützt, bevor sie versucht, den Handler aufzurufen. Beispielsweise kann eine Anwendung ein Menüelement nur dann aktivieren, wenn sie überprüft hat, ob die betreffende Auswahl von diesem Handler unterstützt wurde.

Es ist im Allgemeinen davon auszugehen, dass eine Anwendung den Aufruf für ein einzelnes Element unterstützt, und in diesen Fällen ruft die Anwendung IAssocHandler::Invoke basierend auf dieser Annahme auf.

Für mehrere Auswahlszenarien sollte die Anwendung jedoch IAssocHandler::CreateInvoker aufrufen. Diese Methode ruft ein IAssocHandlerInvoker-Objekt ab, mit dem die aufrufende Anwendung zuerst überprüfen kann, ob die Auswahl unterstützt wird (SupportsSelection), und dann den Handler (Invoke) aufrufen kann.

IAssocHandler::Invoke kann für eine Auswahl mehrerer Dateien aufgerufen werden, es wird jedoch aufgrund der hohen Verarbeitungslast und ohne Garantie, dass es erfolgreich ist, nicht empfohlen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shobjidl_core.h (einschließlich Shobjidl.h)