IUPnPDeviceFinder::CreateAsyncFind-Methode (upnp.h)
Die CreateAsyncFind-Methode erstellt einen asynchronen Suchvorgang.
Syntax
HRESULT CreateAsyncFind(
[in] BSTR bstrTypeURI,
[in] DWORD dwFlags,
[in] IUnknown *punkDeviceFinderCallback,
[out] LONG *plFindData
);
Parameter
[in] bstrTypeURI
Gibt den URI (Uniform Resource Identifier) an, nach dem gesucht werden soll.
[in] dwFlags
Geben Sie null an. Dieser Parameter ist für die zukünftige Verwendung reserviert.
[in] punkDeviceFinderCallback
Verweis auf ein IUnknown-Schnittstellenobjekt , das den Rückruf angibt, den das UPnP-Framework verwenden muss, um die Ergebnisse dieser asynchronen Suche zu kommunizieren.
Das objekt, auf das von pUnkCallback verwiesen wird, muss entweder die IUPnPDeviceFinderCallback-Schnittstelle oder die IDispatch-Schnittstelle unterstützen. Das Objekt, auf das von pUnkCallback verwiesen wird, unterstützt möglicherweise die IUPnPDeviceFinderAddCallbackWithInterface-Schnittstelle zusätzlich zur IUPnPDeviceFinderCallback-Schnittstelle .
[out] plFindData
Verweis auf einen LONG-Wert , der den Bezeichner für diese bestimmte Suche empfängt. Die Anwendung muss diesen Bezeichner für andere asynchrone Suchmethoden bereitstellen, die aufgerufen werden.
Rückgabewert
Wenn die Methode erfolgreich ist, wird der Rückgabewert S_OK. Andernfalls gibt die Methode einen der in WinError.h definierten COM-Fehlercodes zurück.
Hinweise
Diese Methode gibt sofort zurück. das UPnP-Framework benachrichtigt den Aufrufer über alle Suchergebnisse mithilfe des von pUnkCallback angegebenen Rückrufs. Diese Methode gibt einen Suchbezeichner zurück. der Aufrufer muss den IUPnPDeviceFinder::StartAsyncFind verwenden, um die Suche tatsächlich zu starten.
In C++ muss das Objekt, auf das von pUnkCallback verwiesen wird, entweder die IUPnPDeviceFinderCallback-Schnittstelle oder die IDispatch-Schnittstelle unterstützen. Optional kann das Objekt, auf das von pUnkCallback verwiesen wird, zusätzlich zur IUPnPDeviceFinderAddCallbackWithInterface-Schnittstelle zusätzlich zur IUPnPDeviceFinderCallback-Schnittstelle unterstützen. Das UPnP-Framework fragt zuerst pUnkCallback für die IUPnPDeviceFinderAddCallbackWithInterface-Schnittstelle ab. Wenn die Schnittstelle nicht unterstützt wird, fragt das UPnP-Framework pUnkCallback für die IUPnPDeviceFinderCallback-Schnittstelle ab. Wenn es nicht unterstützt wird, fragt das UPnP-Framework pUnkCallback nach der IDispatch-Schnittstelle ab. Wenn die IDispatch-Schnittstelle nicht unterstützt wird, gibt das UPnP-Framework E_FAIL zurück.
In VBScript muss das zweite Argument GetRef(funcname) sein, wobei funcname der Name der Rückrufunterroutine ist.
In Visual Basic muss die Rückruffunktion mit drei Parametern deklariert werden. Die Rückruffunktion verwendet die für jeden Parameter angegebenen Werte:
- param1 ist das Device-Objekt des neuen Geräts. Sie ist nur gültig, wenn Param3 0 ist.
- param2 ist der UDN des gefundenen oder entfernten Geräts. Sie ist nur gültig, wenn Param3 null oder 1 ist.
- param3 ist die Art des Rückrufs. Gültige Werte sind:
- 0 – gibt ein neues Gerät an.
- 1 – gibt an, dass ein Gerät entfernt wurde.
- 2 – gibt an, dass die Suche abgeschlossen ist.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Nicht unterstützt |
Zielplattform | Windows |
Kopfzeile | upnp.h |
DLL | Upnp.dll |