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
E_INVALIDARG
Pointer pNotify è NULL.
E_NOTFOUND
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

Vedi anche

Interfaccia IControlChangeNotify

Interfaccia IPart

IPart::RegisterControlChangeCallback