Método IPart::UnregisterControlChangeCallback (devicetopology.h)
O método UnregisterControlChangeCallback remove o registro de uma interface IControlChangeNotify que o cliente registrou anteriormente por uma chamada para o método IPart::RegisterControlChangeCallback .
Sintaxe
HRESULT UnregisterControlChangeCallback(
[in] IControlChangeNotify *pNotify
);
Parâmetros
[in] pNotify
Ponteiro para a interface IControlChangeNotify cujo registro deve ser excluído. O cliente passou esse mesmo ponteiro de interface para o objeto part em uma chamada anterior para o método IPart::RegisterControlChangeCallback . Se o método UnregisterControlChangeCallback for bem-sucedido, ele chamará o método Release na interface IControlChangeNotify do cliente.
Retornar valor
Se o método for bem-sucedido, retornará S_OK. Se falhar, os códigos de retorno possíveis incluem, mas não se limitam a, os valores mostrados na tabela a seguir.
Código de retorno | Descrição |
---|---|
|
O ponteiro pNotify é NULL. |
|
A instância de interface *pNotify não está registrada no momento. |
Comentários
Antes que o cliente libere sua referência final à interface IControlChangeNotify , ele deve chamar UnregisterControlChangeCallback para cancelar o registro da interface. Caso contrário, o aplicativo vazará os recursos mantidos pelos objetos IControlChangeNotify e IPart . Observe que o método IPart::RegisterControlChangeCallback chama o método IControlChangeNotify::AddRef do cliente e UnregisterControlChangeCallback chama o método IControlChangeNotify::Release . Se o cliente errar lançando sua referência à interface IControlChangeNotify antes de chamar UnregisterControlChangeCallback, o objeto IPart nunca liberará sua referência à interface IControlChangeNotify . Por exemplo, uma implementação IControlChangeNotify mal projetada pode chamar UnregisterControlChangeCallback do destruidor para o objeto IControlChangeNotify . Nesse caso, o cliente não chamará UnregisterControlChangeCallback até que o objeto IPart libere sua referência à interface IControlChangeNotify , e o objeto IPart não liberará sua referência à interface IControlChangeNotify até que o cliente chame UnregisterControlChangeCallback. Para obter mais informações sobre os métodos AddRef e Release , consulte a discussão da interface IUnknown na documentação do SDK do Windows.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | devicetopology.h |