Metodo IPart::UnregisterControlChangeCallback (devicetopology.h)
Il metodo UnregisterControlChangeCallback rimuove la registrazione di un'interfaccia IControlChangeNotify registrata in precedenza dal client tramite una chiamata al metodo IPart::RegisterControlChangeCallback .
Sintassi
HRESULT UnregisterControlChangeCallback(
[in] IControlChangeNotify *pNotify
);
Parametri
[in] pNotify
Puntatore all'interfaccia IControlChangeNotify la cui registrazione deve essere eliminata. Il client ha passato questo stesso puntatore di interfaccia all'oggetto part in una chiamata precedente al metodo IPart::RegisterControlChangeCallback . Se il metodo UnregisterControlChangeCallback ha esito positivo, chiama il metodo Release 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 |
---|---|
|
Pointer pNotify è NULL. |
|
L'istanza dell'interfaccia *pNotify non è attualmente registrata. |
Commenti
Prima che il client rilasci il riferimento finale all'interfaccia IControlChangeNotify , deve chiamare UnregisterControlChangeCallback per annullare la registrazione dell'interfaccia. In caso contrario, l'applicazione perde le risorse contenute negli oggetti IControlChangeNotify e IPart . Si noti che il metodo IPart::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 |