Compartilhar via


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

Confira também

Iupnpdevicefinder

IUPnPDeviceFinder::StartAsyncFind