Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die WinAPPCCancelBlockingCall-Funktion bricht alle ausstehenden Blockierungsvorgänge für den Thread ab. Alle ausstehenden blockierten Aufrufe, die abgebrochen wurden, führen dazu, dass ein Fehlercode von WAPPCCANCEL generiert wird.
Syntax
BOOL WINAPI WinAPPCCancelBlockingCall(
void
);
Rückgabewert
Der Rückgabewert gibt an, ob die Abbruchanforderung erfolgreich war. Wenn der Wert null ist, wurde die Anforderung abgebrochen. Andernfalls lautet der Wert wie folgt:
WAPPCINVALID
Ein Fehlercode, der angibt, dass kein ausstehender Blockierungsaufruf vorhanden ist.
Bemerkungen
Wenn sich das ausstehende Verb auf eine Unterhaltung bezieht (z. B. SEND_DATA oder RECEIVE_AND_WAIT), wird das Verb gelöscht und die Sitzung geschlossen. Wenn sich das Verb auf einen TP bezieht (z. B. RECEIVE_ALLOCATE oder TP_STARTED), wird der TP beendet. In beiden Fällen, während die Implementierung Unterhaltungen und Sitzungen so sauber wie möglich herunterführt, werden keine Puffer geleert, auf Bestätigungen warten usw. Dieser Aufruf ist synchron und nach Abschluss der oben beschriebenen Verarbeitung ist die Funktion abgeschlossen.
In Microsoft Windows kann eine Multithreadanwendung mehrere Blockierungsvorgänge aufweisen, jedoch nur eine pro Thread. Um zwischen mehreren ausstehenden Aufrufen zu unterscheiden, bricht WinAPPCCancelBlockingCall den ausstehenden Vorgang auf dem aktuellen oder aufrufenden Anwendungsthread ab, falls vorhanden; andernfalls schlägt sie fehl. Standardmäßig hält Windows APPC den aufrufenden Anwendungsthread an, während ein Vorgang ausstehender Vorgang ist. Daher erhält der Thread, auf dem der Blockierungsvorgang initiiert wurde, die Kontrolle nicht wieder (und kann daher keinen Aufruf von WinAPPCCancelBlockingCall ausgeben), es sei denn, ein Blockierungshaken wird für den Thread mit WinAPPCSetBlockingHook registriert.