Der Aufruf Specify_Local_Port (CMSLP) setzt die Portnummer der lokalen Anwendung. Der Aufruf überschreibt den Wert, der beim Enable_UTM_UPIC-Aufruf zugewiesen wurde. Er darf nach dem Initialize_Conversation-Aufruf nicht mehr aufgerufen werden.
Diese Funktion gehört zu den zusätzlichen Funktionen des Trägersystems UPIC; sie ist nicht Bestandteil der CPI-C-Schnittstelle.
UPIC-Local auf Unix-, Linux- und Windows-Systemen:
Der Aufruf Specify_Local_Port wird bei der Anbindung über UPIC-L nicht unterstützt.
CMSLP (port_number, return_code)
Parameter
--> port_number | legt fest, mit welcher Portnummer sich die lokale Anwendung beim Kommunikationssystem anmeldet |
<-- return_code | Ergebnis des Funktionsaufrufs |
Ergebnis (return_code)
CM_OK
Aufruf ok
CM_CALL_NOT_SUPPORTED
Die Funktion wird nicht unterstützt. Dieser Returncode tritt bei UPIC-L (auf Linux, Unix und Windows) und UPIC-R auf BS2000-Systemen auf.
Auf Unix-, Linux- und Windows-Systemen tritt dieser Returncode bei UPIC-L immer auf. Er zeigt dem Programm an, dass keine Portnummer vergeben werden kann, da UPIC-L diese Information auf Grund des darunterliegenden Kommunikationssystems nicht benötigt.
Bei UPIC-R auf BS2000-Systemen tritt der Returncode nur auf, wenn die UPIC-Bibliothek auf dem BS2000-System zusammen mit CMX eingesetzt wird. Das von UPIC-R verwendete Kommunikationssystem CMX bietet auf BS2000-Systemen keine Möglichkeit, an der Schnittstelle IP-Adressen zur Adressierung der Partner-Anwendung zu übergeben. Wenn die UPIC-Bibliothek die Socketschnittstelle als Kommunikationssystem verwendet, dann tritt der Returncode nie auf.
CM_PROGRAM_STATE_CHECK
Die Conversation ist nicht im Zustand "Reset".
CM_PRODUCT_SPECIFIC_ERROR
Die UPIC-Instanz konnte nicht gefunden werden.
CM_PROGRAM_PARAMETER_CHECK
Der Wert von port_number ist ungültig.
Zustandsänderung
Der Aufruf ändert den Zustand der Conversation nicht.
Hinweis
Die lokale Portnummer ist ein rein formaler Wert, der keinerlei Wirkung hat und dessen Angabe nur aus Gründen der Kompatibilität gepflegt wird. Er sollte weggelassen werden.
Verhalten im Fehlerfall
CM_PROGRAM_PARAMETER_CHECK
Programm ändern.
CM_PROGRAM_STATE_CHECK
Programm ändern.
CM_PRODUCT_SPECIFIC_ERROR
Das Betriebssystem kann nicht genügend Speicherplatz für interne Puffer bereitstellen. Überprüfen Sie Ihr Programm auf zu hohe Speicherplatzanforderung und starten Sie ggf. Ihr System neu.
CM_CALL_NOT_SUPPORTED
Muss kein Fehler sein:
Auf Unix-, Linux- und Windows-Systemen und falls eine Anwendung sowohl für UPIC-L als auch für UPIC-R vorgesehen ist, bedeutet dieser Returncode lediglich, dass die Anwendung mit einer UPIC-L-Bibliothek gebunden ist. Das Programm kann sich diesen Returncode merken und auf weitere Aufrufe zum Setzen von Adressinformationen verzichten.
Auf BS2000-Systemen bedeutet dieser Returncode, dass die Anwendung mit UPIC-R und CMX gebunden ist. Das Programm kann sich diesen Returncode merken und auf den Aufruf Specify_Local_Port verzichten.
CM_ENTRY Specify_Local_Port ( CM_INT32 CM_PTR port_number, CM_RETURN_CODE CM_PTR return_code )