Metodo IPart::RegisterControlChangeCallback (devicetopology.h)
Il metodo RegisterControlChangeCallback registra l'interfaccia IControlChangeNotify , che il client implementa per ricevere notifiche di modifiche dello stato in questa parte.
Sintassi
HRESULT RegisterControlChangeCallback(
[in] REFGUID riid,
[in] IControlChangeNotify *pNotify
);
Parametri
[in] riid
Interfaccia di controllo specifica della funzione che deve essere monitorata per le modifiche del controllo. Per altre informazioni, vedere la sezione Osservazioni.
[in] pNotify
Puntatore all'interfaccia IControlChangeNotify del client. Se il metodo ha esito positivo, chiama il metodo AddRef sull'interfaccia IControlChangeNotify del client.
Valore restituito
Se il metodo ha esito positivo, viene restituito S_OK. Se ha esito negativo, i possibili codici restituiti includono, ma non sono limitati, i valori illustrati nella tabella seguente.
Codice restituito | Descrizione |
---|---|
|
Il riid del parametro non è un identificatore di interfaccia di controllo valido. |
|
Pointer pNotify è NULL. |
Commenti
Impostare il riid del parametro su uno dei valori GUID seguenti:
- 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)
Per altre informazioni sull'operatore __uuidof , vedere la documentazione di Windows SDK.
Prima che il client rilasci il riferimento finale all'interfaccia IControlChangeNotify , deve chiamare il metodo IPart::UnregisterControlChangeCallback per annullare la registrazione dell'interfaccia. In caso contrario, l'applicazione perde le risorse contenute negli oggetti IControlChangeNotify e IPart . Si noti che RegisterControlChangeCallback chiama il metodo IControlChangeNotify::AddRef del client e UnregisterControlChangeCallback chiama il metodo IControlChangeNotify::Release . Se il client esegue un errore rilasciando il relativo riferimento all'interfaccia IControlChangeNotify prima di chiamare UnregisterControlChangeCallback, l'oggetto IPart non rilascia mai il riferimento all'interfaccia IControlChangeNotify . Ad esempio, un'implementazione IControlChangeNotify progettata in modo non adeguato potrebbe chiamare UnregisterControlChangeCallback dal distruttore per l'oggetto IControlChangeNotify . In questo caso, il client non chiamerà UnregisterControlChangeCallback finché l'oggetto IPart non rilascia il riferimento all'interfaccia IControlChangeNotify e l'oggetto IPart non rilascia il relativo riferimento all'interfaccia IControlChangeNotify finché il client non chiama UnregisterControlChangeCallback. Per altre informazioni sui metodi AddRef e Release , vedere la discussione sull'interfaccia IUnknown nella documentazione di Windows SDK.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | devicetopology.h |