Método IPart::RegisterControlChangeCallback (devicetopology.h)
El método RegisterControlChangeCallback registra la interfaz IControlChangeNotify , que el cliente implementa para recibir notificaciones de cambios de estado en esta parte.
Sintaxis
HRESULT RegisterControlChangeCallback(
[in] REFGUID riid,
[in] IControlChangeNotify *pNotify
);
Parámetros
[in] riid
Interfaz de control específica de la función que se va a supervisar para comprobar los cambios de control. Para obtener más información, vea la sección Comentarios.
[in] pNotify
Puntero a la interfaz IControlChangeNotify del cliente. Si el método se realiza correctamente, llama al método AddRef en la interfaz IControlChangeNotify del cliente.
Valor devuelto
Si el método se realiza correctamente, devuelve S_OK. Si se produce un error, los códigos de retorno posibles incluyen, entre otros, los valores que se muestran en la tabla siguiente.
Código devuelto | Descripción |
---|---|
|
El parámetro riid no es un identificador de interfaz de control válido. |
|
El puntero pNotify es NULL. |
Comentarios
Establezca el parámetro riid en uno de los siguientes valores GUID:
- IID_IAudioAutoGainControl
- IID_IAudioBass
- IID_IAudioChannelConfig
- IID_IAudioInputSelector
- IID_IAudioLoudness
- IID_IAudioMidrange
- IID_IAudioMute
- IID_IAudioOutputSelector
- IID_IAudioPeakMeter
- IID_IAudioTreble
- IID_IAudioVolumeLevel
- IID_IDeviceSpecificProperty
- IID_IKsFormatSupport
- IID_IKsJackDescription
const IID IID_IAudioAutoGainControl __uuidof(IAudioAutoGainControl)
Para obtener más información sobre el operador __uuidof , consulte la documentación de Windows SDK.
Antes de que el cliente libere su referencia final a la interfaz IControlChangeNotify , debe llamar al método IPart::UnregisterControlChangeCallback para anular el registro de la interfaz. De lo contrario, la aplicación filtra los recursos contenidos en los objetos IControlChangeNotify e IPart . Tenga en cuenta que 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 |