Método IUPnPDeviceFinder::CreateAsyncFind (upnp.h)

El método CreateAsyncFind crea una operación de búsqueda asincrónica.

Sintaxis

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

Parámetros

[in] bstrTypeURI

Especifica el identificador uniforme de recursos (URI) para el que se va a buscar.

[in] dwFlags

Especifique cero. Este parámetro se reserva para uso futuro.

[in] punkDeviceFinderCallback

Referencia a un objeto de interfaz IUnknown que especifica la devolución de llamada que el marco UPnP debe usar para comunicar los resultados de esta búsqueda asincrónica.

El objeto al que hace referencia pUnkCallback debe admitir la interfaz IUPnPDeviceFinderCallback o la interfaz IDispatch . El objeto al que hace referencia pUnkCallback podría admitir la interfaz IUPnPDeviceFinderAddCallbackWithInterface , además de la interfaz IUPnPDeviceFinderCallback .

[out] plFindData

Referencia a un long que recibe el identificador de esta búsqueda en particular. La aplicación debe proporcionar este identificador a otros métodos de búsqueda asincrónicos a los que se llama.

Valor devuelto

Si el método se realiza correctamente, el valor devuelto es S_OK. De lo contrario, el método devuelve uno de los códigos de error COM definidos en WinError.h.

Comentarios

Este método devuelve inmediatamente; El marco UPnP notifica al autor de la llamada de cualquier resultado de búsqueda mediante la devolución de llamada especificada por pUnkCallback. Este método devuelve un identificador de búsqueda; el autor de la llamada debe usar IUPnPDeviceFinder::StartAsyncFind para iniciar realmente la búsqueda.

En C++, el objeto al que hace referencia pUnkCallback debe admitir la interfaz IUPnPDeviceFinderCallback o la interfaz IDispatch . Opcionalmente, el objeto al que hace referencia pUnkCallback podría admitir la interfaz IUPnPDeviceFinderAddCallbackWithInterface , además de la interfaz IUPnPDeviceFinderCallback . El marco UPnP consulta primero pUnkCallback para la interfaz IUPnPDeviceFinderAddCallbackWithInterface . Si no se admite la interfaz, el marco UPnP consulta pUnkCallback para la interfaz IUPnPDeviceFinderCallback . Si no se admite, el marco UPnP consulta pUnkCallback para la interfaz IDispatch . Si no se admite la interfaz IDispatch , el marco UPnP devuelve E_FAIL.

En VBScript, el segundo argumento debe ser GetRef(funcname), donde funcname es el nombre de la subrutina de devolución de llamada.

En Visual Basic, la función de devolución de llamada debe declararse con tres parámetros. La función de devolución de llamada usa los valores especificados para cada parámetro:

  • param1 es el objeto Device del nuevo dispositivo; solo es válido cuando param3 es cero.
  • param2 es el UDN del dispositivo encontrado o quitado; solo es válido cuando param3 es cero o uno.
  • param3 es el tipo de devolución de llamada. Los valores válidos son:
    0: indica un nuevo dispositivo.
    1: indica que se ha quitado un dispositivo.
    2: indica que se ha completado la búsqueda.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible No se admite ninguno
Plataforma de destino Windows
Encabezado upnp.h
Archivo DLL Upnp.dll

Consulte también

IUPnPDeviceFinder

IUPnPDeviceFinder::StartAsyncFind