Freigeben über


Set_Error_Direction (CPI-C)

Der Set_Error_Direction Aufruf ( Funktionsname cmsed) gibt an, ob ein Programm beim Empfangen von Daten oder beim Vorbereiten des Sendens von Daten einen Fehler festgestellt hat.

Syntax

  
CM_ENTRY Set_Error_Direction(   
  unsigned char FAR *conversation_ID,    
  CM_INT32 FAR *error_direction,         
  CM_INT32 FAR *return_code              
);  

Die Parameter

conversation_ID
Angegebener Parameter. Gibt den Bezeichner für die Unterhaltung an. Der Wert dieses Parameters wurde von Initialize_Conversation oder Accept_Conversation zurückgegeben.

error_direction
Angegebener Parameter. Gibt die Richtung an, in der Daten fließen, wenn beim Programm ein Fehler aufgetreten ist. Mögliche Werte:

  • CM_RECEIVE_ERROR

    Fehler in den daten, die vom Partnerprogramm empfangen wurden.

  • CM_SEND_ERROR

    Fehler beim Senden von Daten an das Partnerprogramm durch das lokale Programm.

    return_code
    Der von diesem Aufruf zurückgegebene Code. Die gültigen Rückgabecodes werden weiter unten in diesem Thema aufgeführt.

Rückgabecodes

CM_OK
Primärer Rückgabecode; Der Aufruf wurde erfolgreich ausgeführt.

CM_PROGRAM_PARAMETER_CHECK
Primärer Rückgabecode; Der durch conversation_ID oder error_direction angegebene Wert ist ungültig.

CM_PRODUCT_SPECIFIC_ERROR
Primärer Rückgabecode; Ein produktspezifischer Fehler ist aufgetreten und wurde im Fehlerprotokoll der Produkte protokolliert.

Statusänderungen

Die Unterhaltung kann sich in einem beliebigen Zustand befinden, mit Ausnahme von RESET.

Es gibt keine Zustandsänderung.

Bemerkungen

Dieser Aufruf setzt die Standardfehlerrichtung außer Kraft, die durch Initialize_Conversation oder Accept_Conversation festgelegt wurde. Die Standardfehlerrichtung ist CM_RECEIVE_ERROR.

Die Fehlerrichtung ist nur relevant, wenn ein Programm SEND_PENDING unmittelbar nach dem Ausgeben von Empfangs-und Empfangsdaten (data_received ein anderer Wert als CM_NO_DATA_RECEIVED) und ein Sendeindikator (status_received ist CM_SEND_RECEIVED) Send_Error.

Wenn sich die Unterhaltung in SEND_PENDING Zustand befindet, gibt das Programm Probleme Send_Error , wenn fehler in den empfangenen Daten erkannt werden oder wenn während des lokalen Programms ein Fehler aufgetreten ist, der zum Senden von Daten vorbereitet wurde. Das Programm muss die Fehlerrichtungsinformationen mithilfe von Set_Error_Direction angeben, bevor Send_Error ausgegeben wird, da die logische Einheit (LU) nicht erkennen kann, welche Art von Fehler aufgetreten ist (Empfangen oder Senden). Die neue Fehlerrichtung bleibt wirksam, bis eine nachfolgende Set_Error_Direction sie ändert.

Wenn Send_Error ausgestellt wird, erhält das Partnerprogramm einen der folgenden Rückgabecodes:

  • CM_PROGRAM_ERROR_PURGING, wenn error_direction auf CM_RECEIVE_ERROR festgelegt ist

  • CM_PROGRAM_ERROR_NO_TRUNC, wenn error_direction auf CM_SEND_ERROR festgelegt ist