Compartilhar via


Método IUPnPService::AddCallback (upnp.h)

O método AddCallback registra o retorno de chamada de um aplicativo com a estrutura UPnP.

Sintaxe

HRESULT AddCallback(
  [in] IUnknown *pUnkCallback
);

Parâmetros

[in] pUnkCallback

Especifica a referência à interface que contém o retorno de chamada a ser registrado. O objeto referenciado por pUnkCallback deve dar suporte à interface IUPnPServiceCallback ou à interface IDispatch .

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

Não chame esse método de dentro de um retorno de chamada; ocorre corrupção de memória.

Se mais de um retorno de chamada for registrado, a estrutura UPnP invocará os retornos de chamada sequencialmente.

O objeto referenciado por pUnkCallback deve dar suporte à interface IUPnPServiceCallback ou à interface IDispatch . O método AddCallback primeiro consulta pUnkCallback para a interface IUPnPServiceCallback . Se não houver suporte para essa interface, o método AddCallback consultará pUnkCallback para a interface IDispatch . Se não houver suporte para a interface IDispatch , ambas as verificações falharam e o método AddCallback retornará E_FAIL.

Se houver suporte apenas para IDispatch , o objeto de serviço invocará o retorno de chamada chamando IDispatch::Invoke com a ID de expedição especificada como zero, o que indica o método padrão. Esse método IDispatch padrão é passado para os mesmos parâmetros que o método IUPnPServiceCallback , mas o primeiro parâmetro passado é uma cadeia de caracteres que indica o motivo pelo qual o retorno de chamada é invocado. Os valores válidos são VARIABLE_UPDATE e SERVICE_INSTANCE_DIED.

Esse método tem os seguintes argumentos:

  • O motivo pelo qual o retorno de chamada é invocado. Ele é invocado porque uma variável de estado foi alterada (VARIABLE_UPDATE) ou porque a instância de serviço ficou indisponível (SERVICE_INSTANCE_DIED).
  • O objeto de serviço para o qual o retorno de chamada é invocado.

Se o retorno de chamada for invocado para uma alteração de variável de estado, o método será passado dois argumentos adicionais:

  • O nome da variável que foi alterada.
  • O novo valor.

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

Iupnpservice

IUPnPServiceCallback