IPart::UnregisterControlChangeCallback-Methode (devicetopology.h)
Die UnregisterControlChangeCallback-Methode entfernt die Registrierung einer IControlChangeNotify-Schnittstelle , die der Client zuvor durch einen Aufruf der IPart::RegisterControlChangeCallback-Methode registriert hat.
Syntax
HRESULT UnregisterControlChangeCallback(
[in] IControlChangeNotify *pNotify
);
Parameter
[in] pNotify
Zeiger auf die IControlChangeNotify-Schnittstelle , deren Registrierung gelöscht werden soll. Der Client hat denselben Schnittstellenzeiger an das Part-Objekt in einem vorherigen Aufruf der IPart::RegisterControlChangeCallback-Methode übergeben. Wenn die UnregisterControlChangeCallback-Methode erfolgreich ist, ruft sie die Release-Methode auf der IControlChangeNotify-Schnittstelle des Clients auf.
Rückgabewert
Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Wenn ein Fehler auftritt, können mögliche Rückgabecodes die in der folgenden Tabelle gezeigten Werte umfassen, sind jedoch nicht darauf beschränkt.
Rückgabecode | Beschreibung |
---|---|
|
Zeiger pNotify ist NULL. |
|
Die Schnittstelle instance *pNotify ist derzeit nicht registriert. |
Hinweise
Bevor der Client seinen endgültigen Verweis auf die IControlChangeNotify-Schnittstelle freigibt, sollte er UnregisterControlChangeCallback aufrufen, um die Registrierung der Schnittstelle aufzuheben. Andernfalls werden die Ressourcen der Objekte IControlChangeNotify und IPart von der Anwendung verloren. Beachten Sie, dass die IPart::RegisterControlChangeCallback-Methode die IControlChangeNotify::AddRef-Methode des Clients und UnregisterControlChangeCallback die IControlChangeNotify::Release-Methode aufruft. Wenn der Client fehlert, indem er seinen Verweis auf die IControlChangeNotify-Schnittstelle vor dem Aufruf von UnregisterControlChangeCallback freigibt, gibt das IPart-Objekt nie seinen Verweis auf die IControlChangeNotify-Schnittstelle frei. Beispielsweise kann eine schlecht gestaltete IControlChangeNotify-ImplementierungUnregisterControlChangeCallback vom Destruktor für das IControlChangeNotify-Objekt aufrufen. In diesem Fall ruft der Client UnregisterControlChangeCallback erst auf, wenn das IPart-Objekt seinen Verweis auf die IControlChangeNotify-Schnittstelle freigibt, und das IPart-Objekt gibt seinen Verweis auf die IControlChangeNotify-Schnittstelle erst frei, wenn der Client UnregisterControlChangeCallback aufruft. Weitere Informationen zu den Methoden AddRef und Release finden Sie in der Windows SDK-Dokumentation zur IUnknown-Schnittstelle .
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | devicetopology.h |