CoTestCancel-Funktion (combaseapi.h)
Bestimmt, ob der auf dem Server ausgeführte Aufruf vom Client abgebrochen wurde.
Syntax
HRESULT CoTestCancel();
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 |
---|---|
|
Der Aufruf steht noch aus und wurde vom Client noch nicht abgebrochen. |
|
Der Aufruf wurde vom Client abgebrochen. |
Hinweise
Serverobjekte sollten CoTestCancel mindestens einmal aufrufen, bevor sie zurückkehren, um Clientabbruchanforderungen zu erkennen. Dies kann dem Server unnötige Arbeit ersparen, wenn der Client eine Abbruchanforderung ausgestellt hat, und die Wartezeit des Clients kann reduziert werden, wenn er das Abbruchtimeout als RPC_C_CANCEL_INFINITE_TIMEOUT festgelegt hat. Wenn das Serverobjekt außerdem eine Abbruchanforderung erkennt, bevor es von einem ausstehenden Aufruf zurückgibt, kann es arbeitsspeicher- oder gemarshallte Schnittstellen sauber oder verarbeitet, die erstellt oder abgerufen wurden.
CoTestCancel ruft CoGetCallContext auf, um die ICancelMethodCalls-Schnittstelle für das aktuelle Cancel-Objekt abzurufen, und ruft dann ICancelMethodCalls::TestCancel auf. Objekte, die benutzerdefiniertes Marshalling implementieren, sollten zunächst CoSwitchCallContext aufrufen, um das entsprechende Aufrufkontextobjekt zu installieren.
Mit dieser Funktion wird der Abbruch für asynchrone Aufrufe nicht getestet.
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 |