Partager via


IUPnPDeviceFinder ::CreateAsyncFind, méthode (upnp.h)

La méthode CreateAsyncFind crée une opération de recherche asynchrone.

Syntaxe

HRESULT CreateAsyncFind(
  [in]  BSTR     bstrTypeURI,
  [in]  DWORD    dwFlags,
  [in]  IUnknown *punkDeviceFinderCallback,
  [out] LONG     *plFindData
);

Paramètres

[in] bstrTypeURI

Spécifie l’URI (Uniform Resource Identifier) à rechercher.

[in] dwFlags

Spécifiez zéro. Ce paramètre est réservé à un usage futur.

[in] punkDeviceFinderCallback

Référence à un objet d’interface IUnknown qui spécifie le rappel que l’infrastructure UPnP doit utiliser pour communiquer les résultats de cette recherche asynchrone.

L’objet référencé par pUnkCallback doit prendre en charge l’interface IUPnPDeviceFinderCallback ou l’interface IDispatch . L’objet référencé par pUnkCallback peut prendre en charge l’interface IUPnPDeviceFinderAddCallbackWithInterface , en plus de l’interface IUPnPDeviceFinderCallback .

[out] plFindData

Référence à un LONG qui reçoit l’identificateur de cette recherche particulière. L’application doit fournir cet identificateur à d’autres méthodes de recherche asynchrone appelées.

Valeur retournée

Si la méthode réussit, la valeur de retour est S_OK. Sinon, la méthode retourne l’un des codes d’erreur COM définis dans WinError.h.

Remarques

Cette méthode retourne immédiatement ; L’infrastructure UPnP informe l’appelant de tous les résultats de recherche à l’aide du rappel spécifié par pUnkCallback. Cette méthode retourne un identificateur de recherche ; L’appelant doit utiliser IUPnPDeviceFinder ::StartAsyncFind pour commencer réellement la recherche.

En C++, l’objet référencé par pUnkCallback doit prendre en charge l’interface IUPnPDeviceFinderCallback ou l’interface IDispatch . Si vous le souhaitez, l’objet référencé par pUnkCallback peut prendre en charge l’interface IUPnPDeviceFinderAddCallbackWithInterface , en plus de l’interface IUPnPDeviceFinderCallback . L’infrastructure UPnP interroge d’abord pUnkCallback pour l’interface IUPnPDeviceFinderAddCallbackWithInterface . Si l’interface n’est pas prise en charge, l’infrastructure UPnP interroge ensuite pUnkCallback pour l’interface IUPnPDeviceFinderCallback . S’il n’est pas pris en charge, l’infrastructure UPnP interroge pUnkCallback pour l’interface IDispatch . Si l’interface IDispatch n’est pas prise en charge, l’infrastructure UPnP retourne E_FAIL.

Dans VBScript, le deuxième argument doit être GetRef(funcname), où funcname est le nom de la sous-routine de rappel.

En Visual Basic, la fonction de rappel doit être déclarée avec trois paramètres. La fonction de rappel utilise les valeurs spécifiées pour chaque paramètre :

  • param1 est l’objet Device du nouvel appareil ; elle n’est valide que lorsque param3 est égal à zéro.
  • param2 est l’UDN de l’appareil trouvé ou supprimé ; elle n’est valide que lorsque param3 est égal à zéro ou à un.
  • param3 est le type de rappel. Les valeurs autorisées sont :
    0 : indique un nouvel appareil.
    1 : indique qu’un appareil a été supprimé.
    2 : indique que la recherche est terminée.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Aucun pris en charge
Plateforme cible Windows
En-tête upnp.h
DLL Upnp.dll

Voir aussi

IUPnPDeviceFinder

IUPnPDeviceFinder ::StartAsyncFind