Erweiterungen für die Windows-Umgebung
In diesem Abschnitt werden API-Erweiterungen für Microsoft® Windows® Common Programming Interface for Communications (CPI-C) beschrieben, die eine nicht blockierende oder asynchrone Verbvervollständigung ermöglichen. Asynchrone Verben geben sofort die Steuerung an das Programm zurück, ohne auf die vollständige Ausführung zu warten, und müssen die Anwendung später benachrichtigen, wenn das Verb abgeschlossen wurde. Eine Anwendung wird auch als Reaktion auf den Abschluss eines Wait_For_Conversation Anrufs benachrichtigt. Im Gegensatz dazu blockieren synchrone Verben, d. h. der Funktionsaufruf wird erst zurückgegeben, wenn der Aufruf abgeschlossen ist.
Unter Microsoft® Windows Server stehen zwei Methoden für die Verarbeitung der asynchronen Verbvervollständigung zur Verfügung:
Nachrichtenveröffentlichung mithilfe von Fensterhandles.
Warten auf Win32-Ereignisse®.
Die erste Methode verwendet Nachrichten, die an ein Fensterhandle gesendet werden, um eine Anwendung über die Verbvervollständigung zu benachrichtigen. Es gibt ein solches Fenster für jede CPI-C-Anwendung. Jede CPI-C-Konversation kann jederzeit ein asynchrones Verb aufweisen. Wenn ein Verb abgeschlossen ist, verwendet die Veröffentlichung im Fenster den CPI-C-Konversationsbezeichner des abgeschlossenen Verbs und den Rückgabecode des Verbs als Parameter.
Hinweis
Die in diesem Abschnitt beschriebenen Erweiterungen mit Fensterhandles und Nachrichtenposting wurden für alle Implementierungen und Versionen von Microsoft Windows entwickelt. Sie werden jetzt nur für Windows unterstützt.
Eine zweite Methode, die Win32-Ereignisse für Benachrichtigungen verwendet, wird auf Microsoft® Host Integration Server unterstützt. Die in diesem Abschnitt beschriebenen Erweiterungen mit Win32-Ereignissen (WinCPICSetEvent und WinCPICExtractEvent) funktionieren nur unter Windows Server und bieten die optimale Anwendungsleistung in der 32-Bit-Betriebsumgebung. Wenn ein Ereignis bei der Konversation registriert wurde, kann eine Anwendung die Win32 WaitForSingleObject - oder WaitForMultipleObjects-Funktion aufrufen, um auf die Benachrichtigung über den Abschluss des Verbs zu warten.
Windows CPI-C ermöglicht Windows-basierte Multithreadprozesse. Multithreading ist die Ausführung mehrerer Prozesse in schneller Sequenz innerhalb eines einzigen Programms. Ein Prozess enthält einen oder mehrere Ausführungsthreads.
Die Erweiterungsbeschreibungen in diesem Abschnitt enthalten eine Definition der Funktion, der Syntax, der Rückgabewerte und Hinweise für die Verwendung dieser Windows-Erweiterungen in CPI-C-Programmen.