Share via


CoSetCancelObject-Funktion (combaseapi.h)

Legt ein Abbruchobjekt zur Verwendung bei nachfolgenden Abbruchvorgängen im aktuellen Thread fest (registriert) oder setzt diese zurück (hebt die Registrierung auf).

Syntax

HRESULT CoSetCancelObject(
  [in, optional] IUnknown *pUnk
);

Parameter

[in, optional] pUnk

Zeiger auf die IUnknown-Schnittstelle für das cancel-Objekt, das im aktuellen Thread festgelegt oder zurückgesetzt werden soll. Wenn dieser Parameter NULL ist, wird das oberste Cancel-Objekt zurückgesetzt.

Rückgabewert

Diese Funktion kann die Standardmäßigen Rückgabewerte E_FAIL, E_INVALIDARG, E_OUTOFMEMORY und E_UNEXPECTED sowie die folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Das Cancel-Objekt wurde erfolgreich festgelegt oder zurückgesetzt.
E_ACCESSDENIED
Das Cancel-Objekt kann derzeit nicht festgelegt oder zurückgesetzt werden, da abbruchvorgänge blockiert werden.

Hinweise

Für Objekte, die das Standardmäßige Marshalling unterstützen, beginnt das Proxyobjekt mit dem Marshalling eines Methodenaufrufs, indem CoSetCancelObject aufgerufen wird , um ein Cancel-Objekt für den aktuellen Thread zu registrieren.

CoSetCancelObject ruft QueryInterface für ICancelMethodCalls für das cancel-Objekt auf. Wenn das Cancel-Objekt ICancelMethodCalls nicht implementiert, schlägt CoSetCancelObject mit E_NOINTERFACE fehl. Zum Deaktivieren von Abbruchvorgängen auf einer benutzerdefinierten gemarshallten Schnittstelle sollte die Implementierung von ICancelMethodCalls::Cancel nichts anderes tun, als E_NOTIMPL, E_FAIL oder einen anderen geeigneten Wert zurückzugeben.

CoSetCancelObject ruft AddRef für Objekte auf, die registriert werden, und Release für Objekte, die die Registrierung aufheben.

CoSetCancelObject legt keine Abbruchobjekte für asynchrone Methoden fest oder setzt sie zurück.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile combaseapi.h (include Objbase.h)
Bibliothek Ole32.lib
DLL Ole32.dll

Weitere Informationen

ICancelMethodCalls