Der Aufruf Set_Receive_Type (CMSRT) setzt den Wert für die Conversation Characteristic receive_type. In receive_type legen Sie fest, ob die Receive- und Receive_Mapped_Data-Aufrufe blockierend oder nicht-blockierend ausgeführt werden. Der Aufruf überschreibt den Wert von receive_type, der beim Initialize_Conversation-Aufruf zugewiesen wurde.
Der Aufruf Set_Receive_Type ist im Zustand "Initialize", "Send" oder "Receive" erlaubt.
Diese Funktion gehört zu den Advanced Functions.
UPIC-Local auf Unix-, Linux- und Windows-Systemen:
Der Aufruf Set_Receive_Type wird bei der Anbindung über UPIC-L nicht unterstützt.
CMSRT (conversation_ID, receive_type, return_code)
Parameter
--> conversation_ID | Identifikation der Conversation |
--> receive_type | legt fest, ob die folgenden Receive- / Receive_Mapped_Data-Aufrufe
|
<-- return_code | Ergebnis des Funktionsaufrufs |
Ergebnis (return_code)
CM_OK
Aufruf ok
CM_PROGRAM_PARAMETER_CHECK
Der Wert in conversation_ID ist ungültig oder der Wert von receive_type ist undefiniert.
CM_PRODUCT_SPECIFIC_ERROR
Die UPIC-Instanz konnte nicht gefunden werden.
CM_CALL_NOT_SUPPORTED
Die Funktion wird nicht unterstützt.
Zustandsänderung
Im fehlerfreien Fall liefert die Funktion das Ergebnis CM_OK zurück. Dieser Aufruf ändert den Zustand der Conversation nicht.
Hinweis
Falls der Returncode von CM_OK verschieden ist, bleibt die Characteristic receive_type unverändert.
Wird Set_Receive_Type im Zustand "Start" oder "Reset" aufgerufen, dann ist der in conversation_ID übergebene Wert immer ungültig. Als Ergebnis des Aufrufs wird dann immer der Returncode CM_PROGRAM_PARAMETER_CHECK zurückgeliefert.
Verhalten im Fehlerfall
CM_PROGRAM_PARAMETER_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
Dieser Returncode gilt nur für Unix-, Linux- und Windows-Systeme.
Muss kein Fehler sein: 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 Set_Receive_Type Aufrufe verzichten.
CM_ENTRY Set_Receive_Type ( unsigned char CM_PTR conversation_ID,
CM_RECEIVE_TYPE CM_PTR receive_type,
CM_RETURN_CODE CM_PTR return_code )