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 |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für