Condividi tramite


Metodo IUPnPDeviceFinder::CreateAsyncFind (upnp.h)

Il metodo CreateAsyncFind crea un'operazione di ricerca asincrona.

Sintassi

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

Parametri

[in] bstrTypeURI

Specifica l'URI (Uniform Resource Identifier) per cui eseguire la ricerca.

[in] dwFlags

Specificare zero. Questo parametro è riservato per usi futuri.

[in] punkDeviceFinderCallback

Riferimento a un oggetto interfaccia IUnknown che specifica il callback che il framework UPnP deve usare per comunicare i risultati di questa ricerca asincrona.

L'oggetto a cui fa riferimento pUnkCallback deve supportare l'interfaccia IUPnPDeviceFinderCallback o l'interfaccia IDispatch . L'oggetto a cui fa riferimento pUnkCallback potrebbe supportare l'interfaccia IUPnPDeviceFinderAddCallbackWithInterface , oltre all'interfaccia IUPnPDeviceFinderCallback .

[out] plFindData

Riferimento a long che riceve l'identificatore per questa ricerca specifica. L'applicazione deve fornire questo identificatore ad altri metodi di ricerca asincroni chiamati.

Valore restituito

Se il metodo ha esito positivo, il valore restituito è S_OK. In caso contrario, il metodo restituisce uno dei codici di errore COM definiti in WinError.h.

Commenti

Questo metodo restituisce immediatamente; il framework UPnP notifica al chiamante di tutti i risultati della ricerca usando il callback specificato da pUnkCallback. Questo metodo restituisce un identificatore di ricerca; il chiamante deve usare IUPnPDeviceFinder::StartAsyncFind per avviare effettivamente la ricerca.

In C++, l'oggetto a cui fa riferimento pUnkCallback deve supportare l'interfaccia IUPnPDeviceFinderCallback o l'interfaccia IDispatch . Facoltativamente, l'oggetto a cui fa riferimento pUnkCallback potrebbe supportare l'interfaccia IUPnPDeviceFinderAddCallbackWithInterface , oltre all'interfaccia IUPnPDeviceFinderCallback . Il framework UPnP esegue prima query pUnkCallback per l'interfaccia IUPnPDeviceFinderAddCallbackWithInterface . Se l'interfaccia non è supportata, il framework UPnP esegue query successive pUnkCallback per l'interfaccia IUPnPDeviceFinderCallback . Se non è supportato, il framework UPnP esegue query pUnkCallback per l'interfaccia IDispatch . Se l'interfaccia IDispatch non è supportata, il framework UPnP restituisce E_FAIL.

In VBScript il secondo argomento deve essere GetRef(funcname), dove funcname è il nome della subroutine di callback.

In Visual Basic la funzione di callback deve essere dichiarata con tre parametri. La funzione callback usa i valori specificati per ogni parametro:

  • param1 è l'oggetto Device del nuovo dispositivo; è valido solo quando param3 è zero.
  • param2 è il nome UDN del dispositivo trovato o rimosso; è valido solo quando param3 è zero o uno.
  • param3 è il tipo di callback. I valori validi sono:
    0: indica un nuovo dispositivo.
    1: indica che un dispositivo è stato rimosso.
    2: indica che la ricerca è completa.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Nessuno supportato
Piattaforma di destinazione Windows
Intestazione upnp.h
DLL Upnp.dll

Vedi anche

IUPnPDeviceFinder

IUPnPDeviceFinder::StartAsyncFind