Freigeben über


Set_Error_Direction (CPI-C)

Der Set_Error_Direction-Aufrufs (Funktionsname cmsed) gibt an, ob ein Programm beim Empfangen von Daten oder bei der Vorbereitung auf das Senden von Daten einen Fehler erkannt hat.

Syntax

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

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, als beim Programm ein Fehler aufgetreten ist. Mögliche Werte:

  • CM_RECEIVE_ERROR

    In den vom Partnerprogramm empfangenen Daten ist ein Fehler aufgetreten.

  • 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 Produktfehlerprotokoll protokolliert.

Zustandsänderungen

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

Es gibt keine Zustandsänderung.

Hinweise

Dieser Aufruf überschreibt die Standardfehlerrichtung, die von Initialize_Conversation oder Accept_Conversation festgelegt wurde. Die Standardfehlerrichtung ist CM_RECEIVE_ERROR.

Die Fehlerrichtung ist nur relevant, wenn ein Programm Send_Error in SEND_PENDING Zustand ausgibt, unmittelbar nach der Ausgabe von Empfangs-und Empfangsdaten (data_received ist ein anderer Wert als CM_NO_DATA_RECEIVED) und einem Sendeindikator (status_received ist CM_SEND_RECEIVED).

Wenn sich die Unterhaltung in SEND_PENDING Zustand befindet, gibt das Programm Send_Error aus, wenn Fehler in den empfangenen Daten erkannt werden oder wenn ein Fehler aufgetreten ist, während das lokale Programm daten senden vorbereitet hat. Das Programm muss die Fehlerrichtungsinformationen mithilfe von Set_Error_Direction bereitstellen, bevor Send_Error ausgegeben wird, da die logische Einheit (LU) nicht feststellen kann, welche Art von Fehler aufgetreten ist (empfangen oder senden). Die neue Fehlerrichtung bleibt so lange wirksam, bis sie von einem nachfolgenden Set_Error_Direction geändert wird.

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