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 |