Método IUPnPDeviceFinder::CreateAsyncFind (upnp.h)
O método CreateAsyncFind cria uma operação de pesquisa assíncrona.
Sintaxe
HRESULT CreateAsyncFind(
[in] BSTR bstrTypeURI,
[in] DWORD dwFlags,
[in] IUnknown *punkDeviceFinderCallback,
[out] LONG *plFindData
);
Parâmetros
[in] bstrTypeURI
Especifica o URI (uniform resource identifier) para o qual pesquisar.
[in] dwFlags
Especifique zero. Esse parâmetro é reservado para uso futuro.
[in] punkDeviceFinderCallback
Referência a um objeto de interface IUnknown que especifica o retorno de chamada que a estrutura UPnP deve usar para comunicar os resultados dessa pesquisa assíncrona.
O objeto referenciado por pUnkCallback deve dar suporte à interface IUPnPDeviceFinderCallback ou à interface IDispatch . O objeto referenciado por pUnkCallback pode dar suporte à interface IUPnPDeviceFinderAddCallbackWithInterface , além da interface IUPnPDeviceFinderCallback .
[out] plFindData
Referência a um LONG que recebe o identificador dessa pesquisa específica. O aplicativo deve fornecer esse identificador para outros métodos de pesquisa assíncronos que são chamados.
Retornar valor
Se o método for bem-sucedido, o valor retornado será S_OK. Caso contrário, o método retornará um dos códigos de erro COM definidos em WinError.h.
Comentários
Esse método retorna imediatamente; a estrutura UPnP notifica o chamador de quaisquer resultados de pesquisa usando o retorno de chamada especificado por pUnkCallback. Esse método retorna um identificador de pesquisa; o chamador deve usar o IUPnPDeviceFinder::StartAsyncFind para realmente iniciar a pesquisa.
No C++, o objeto referenciado por pUnkCallback deve dar suporte à interface IUPnPDeviceFinderCallback ou à interface IDispatch . Opcionalmente, o objeto referenciado por pUnkCallback pode dar suporte à interface IUPnPDeviceFinderAddCallbackWithInterface , além da interface IUPnPDeviceFinderCallback . A estrutura UPnP primeiro consulta pUnkCallback para a interface IUPnPDeviceFinderAddCallbackWithInterface . Se a interface não tiver suporte, a estrutura UPnP consultará pUnkCallback para a interface IUPnPDeviceFinderCallback . Se não houver suporte, a estrutura UPnP consultará pUnkCallback para a interface IDispatch . Se não houver suporte para a interface IDispatch , a estrutura UPnP retornará E_FAIL.
No VBScript, o segundo argumento deve ser GetRef(funcname), em que funcname é o nome da sub-rotina de retorno de chamada.
No Visual Basic, a função de retorno de chamada deve ser declarada com três parâmetros. A função de retorno de chamada usa os valores especificados para cada parâmetro:
- param1 é o objeto Device do novo dispositivo; só é válido quando param3 é zero.
- param2 é o UDN do dispositivo encontrado ou removido; só é válido quando param3 é zero ou um.
- param3 é o tipo de retorno de chamada. Os valores válidos são:
- 0 — indica um novo dispositivo.
- 1 – indica que um dispositivo foi removido.
- 2 – indica que a pesquisa foi concluída.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Nenhum compatível |
Plataforma de Destino | Windows |
Cabeçalho | upnp.h |
DLL | Upnp.dll |