Método IPart::UnregisterControlChangeCallback (devicetopology.h)
El método UnregisterControlChangeCallback quita el registro de una interfaz IControlChangeNotify que el cliente registró previamente mediante una llamada al método IPart::RegisterControlChangeCallback .
Sintaxis
HRESULT UnregisterControlChangeCallback(
[in] IControlChangeNotify *pNotify
);
Parámetros
[in] pNotify
Puntero a la interfaz IControlChangeNotify cuyo registro se va a eliminar. El cliente pasó este mismo puntero de interfaz al objeto part en una llamada anterior al método IPart::RegisterControlChangeCallback . Si el método UnregisterControlChangeCallback se realiza correctamente, llama al método Release en la interfaz IControlChangeNotify del cliente.
Valor devuelto
Si el método se realiza correctamente, devuelve S_OK. Si se produce un error, los posibles códigos de retorno incluyen, pero no están limitados a, los valores que se muestran en la tabla siguiente.
Código devuelto | Descripción |
---|---|
|
El puntero pNotify es NULL. |
|
La instancia de interfaz *pNotify no está registrada actualmente. |
Comentarios
Antes de que el cliente libere su referencia final a la interfaz IControlChangeNotify , debe llamar a UnregisterControlChangeCallback para anular el registro de la interfaz. De lo contrario, la aplicación filtra los recursos mantenidos por los objetos IControlChangeNotify e IPart . Tenga en cuenta que el método IPart::RegisterControlChangeCallback llama al método IControlChangeNotify::AddRef del cliente y UnregisterControlChangeCallback llama al método IControlChangeNotify::Release . Si el cliente erra liberando su referencia a la interfaz IControlChangeNotify antes de llamar a UnregisterControlChangeCallback, el objeto IPart nunca libera su referencia a la interfaz IControlChangeNotify . Por ejemplo, una implementación de IControlChangeNotify mal diseñada podría llamar a UnregisterControlChangeCallback desde el destructor para el objeto IControlChangeNotify . En este caso, el cliente no llamará a UnregisterControlChangeCallback hasta que el objeto IPart libere su referencia a la interfaz IControlChangeNotify y el objeto IPart no liberará su referencia a la interfaz IControlChangeNotify hasta que el cliente llame a UnregisterControlChangeCallback. Para obtener más información sobre los métodos AddRef y Release , consulte la explicación de la interfaz IUnknown en la documentación de Windows SDK.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | devicetopology.h |