IAssocHandler::CreateInvoker-Methode (shobjidl_core.h)
Ruft ein -Objekt ab, das den Aufruf des zugeordneten Handlers für die aktuelle Auswahl aktiviert. Der Aufruf umfasst die Möglichkeit, zu überprüfen, ob die aktuelle Auswahl unterstützt wird.
Syntax
HRESULT CreateInvoker(
[in] IDataObject *pdo,
[out] IAssocHandlerInvoker **ppInvoker
);
Parameter
[in] pdo
Typ: IDataObject*
Ein Zeiger auf ein IDataObject , das das ausgewählte Element bzw. die ausgewählten Elemente darstellt, für die der Handler aufgerufen werden soll. Beachten Sie, dass IAssocHandler::Invoke die bessere Wahl sein könnte, wenn Sie nur über ein einzelnes Element verfügen. Weitere Informationen finden Sie unter Hinweise.
[out] ppInvoker
Typ: IAssocHandlerInvoker**
Wenn diese Methode zurückgibt, enthält die Adresse eines Zeigers auf ein IAssocHandlerInvoker-Objekt . Dieses Objekt wird verwendet, um das Menüelement aufzurufen, nachdem sichergestellt wurde, dass die ausgewählten Elemente vom zugeordneten Handler unterstützt werden.
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 "Mehrere Dateien". Anwendungen, die dieses Szenario unterstützen, können andere Einschränkungen wie die Anzahl der Dateien, die gleichzeitig geöffnet werden können, oder akzeptable Kombinationen von Dateitypen erzwingen.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 wusste, dass die betreffende Auswahl von diesem Handler unterstützt wurde.
Es kann im Allgemeinen davon ausgegangen werden, dass eine Anwendung den Aufruf für ein einzelnes Element unterstützt. in diesen Fällen ruft die Anwendung in der Regel IAssocHandler::Invoke auf.
Für mehrere Auswahlszenarien sollte die Anwendung 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, wird jedoch aufgrund der hohen Verarbeitungslast und ohne Erfolgsgarantie 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) |