Der Aufruf Allocate (CMALLC) richtet für ein Programm eine Conversation zu einem UTM-Vorgang ein. Der Name des CPI-C-Programms wurde beim vorhergehenden Enable_UTM_UPIC-Aufruf angegeben.
CMALLC (conversation_ID, return_code)
Parameter
--> conversation_ID | Identifikation der bereits initialisierten Conversation (wird vom Initialize-Aufruf geliefert) |
<-- return_code | Ergebnis des Funktionsaufrufs |
Ergebnis ( return_code )
CM_OK
Aufruf ok
CM_ALLOCATE_FAILURE_RETRY
nur bei UPIC-Local auf Unix-, Linux- und Windows-Systemen
Die Conversation kann aufgrund eines vorübergehenden Betriebsmittelengpasses nicht eingerichtet werden. Überprüfen Sie auch die Fehlermeldung der lokalen UTM-Anwendung.
CM_ALLOCATE_FAILURE_NO_RETRY
Mögliche Ursachen:
Die Conversation kann nicht eingerichtet werden, weil die Partneradresse nicht korrekt agegeben wurde.
Die Conversation kann nicht eingerichtet werden, weil die UTM-Anwendung nicht gestartet ist.
- Die Transportverbindung wurde von UTM-Seite zurückgewiesen, weil in der UTM-Anwendung ein TPOOL oder PTERM-Anschlusspunkt mit ENCRYPTION_LEVEL=(3, 4 oder 5) definiert wurde, aber die Encryption Komponente nicht verfügbar ist.
Die Transportverbindung wurde von UTM-Seite zurückgewiesen, weil in der UTM-Anwendung ein TPOOL oder PTERM-Anschlusspunkt mit ENCRYPTION_LEVEL=NONE definiert wurde, der aufgerufene TAC wurde mit ENCRYPTION_LEVEL=2 definiert, aber die Encryption Komponente nicht verfügbar ist.
CM_OPERATION_INCOMPLETE
Der Aufruf wurde durch den Ablauf des Timers, der mit Set_Allocate_Timer() gesetzt wurde, unterbrochen.
CM_PARAMETER_ERROR
Weder in der upicfile
noch mit einem Set_TP_Name-Aufruf wurde ein TAC angegeben oder conversation_security_type ist CM_SECURITY_PROGRAM und die Characteristic security_user_ID ist nicht gesetzt.
CM_PROGRAM_STATE_CHECK
Der Aufruf ist im aktuellen Zustand nicht erlaubt.
CM_PROGRAM_PARAMETER_CHECK
Der Wert für conversation_ID ist ungültig.
CM_PRODUCT_SPECIFIC_ERROR
Es handelt sich um einen Protokollfehler.
In der
upicfile
ist für diese Conversation ein RSA-Schlüssel hinterlegt, der sich vom empfangenen RSA-Schlüssel in Inhalt oder Länge unterscheidet.
CM_SECURITY_NOT_SUPPORTED
Die Partner-Anwendung kann den gewünschten security_type nicht unterstützen.
Es wurde ein neues Passwort gesetzt, aber die Partner-Anwendung, zu der eine Conversation aufgebaut wurde, unterstützt keine Passwortänderungen vom UPIC-Client aus.
Zustandsänderung
Falls das Ergebnis CM_OK ist, wird die Conversation etabliert und das Programm geht in den Zustand "Send" über.
Falls das Ergebnis CM_ALLOCATE_FAILURE_RETRY/NO_RETRY oder CM_SECURITY_NOT_SUPPORTED ist, geht das Programm in den Zustand "Reset" über.
In allen anderen Fehlersituationen ändert das Programm seinen Zustand nicht.
Hinweis
Lehnt die UTM-Anwendung den Vorgangsstart z.B. wegen ungültigem Transaktionscode ab, wird dies erst beim nächsten Receive()-Aufruf zurückgemeldet.
Falls die angegebene Benutzerkennung bei der UTM-Anwendung nicht generiert wurde oder falls für eine generierte Benutzerkennung ein falsches oder gar kein Passwort geschickt wurde, so wird dies erst beim nächsten Receive()-Aufruf zurückgemeldet.
Verhalten im Fehlerfall
CM_ALLOCATE_FAILURE_RETRY
Vorübergehender Betriebsmittelengpass bei der Kommunikation.
Erst Initialize_Conversation, dann den Allocate-Aufruf wiederholen.
CM_ALLOCATE_FAILURE_NO_RETRY
Eventuell UTM-Anwendung hochfahren oder das beim Enable_UTM_UPIC() angegebene PTERM bei openUTM generieren. Eventuell müssen Sie auch das Verschlüsselungsmodul installieren oder die Verschlüsselungsebene ändern.
Prüfen ob in der Anwendung ein passendes PTERM oder ein TPOOL generiert ist;
Adressierungsdaten wie Rechnername und Port prüfen;
Prüfen ob die Verschlüsselungsfunktionalität im Client verfügbar ist.
CM_PARAMETER_ERROR
Eintrag für den aktuellen sym_dest_name um einen TAC erweitern oder TAC mit einem Set_TP_Name-Aufruf angeben.
CM_PROGRAM_STATE_CHECK
Programm ändern.
CM_PROGRAM_PARAMETER_CHECK
Programm ändern.
CM_PRODUCT_SPECIFIC_ERROR
Keinen oder den gültigen RSA-Schlüssel hinterlegen.
Systemdienst informieren und Diagnoseunterlagen erstellen
CM_ENTRY Allocate ( unsigned char CM_PTR conversation_ID, CM_RETURN_CODE CM_PTR return_code)