dsmEndTxn

Der Funktionsaufruf dsmEndTxn beendet eine IBM® Storage Protect -Transaktion.

Koppeln Sie den Funktionsaufruf dsmEndTxn mit dsmBeginTxn , um den Aufruf oder die Gruppe von Aufrufen zu identifizieren, die als Transaktion betrachtet werden.

Der Anwendungsclient kann im dsmEndTxn -Aufruf angeben, ob die Transaktion festgeschrieben oder beendet werden muss.

Führen Sie alle folgenden Aufrufe innerhalb der Grenzen einer Transaktion aus:

  • dsmSendObj
  • dsmSendData
  • dsmEndSendObj
  • dsmDeleteObj

Syntax

dsInt16_t dsmEndTxn (dsUint32_t   dsmHandle,
   dsUint8_t    vote,
   dsUint16_t  *reason);

Parameter

dsUint32_t dsmHandle (I)
Die Kennung, die diesen Aufruf einem vorherigen Aufruf dsmInitEx zuordnet.
dsUint8_t vote (I)
Gibt an, ob der Anwendungsclient alle Aktionen festschreibt, die zwischen dem vorherigen Aufruf dsmBeginTxn und diesem Aufruf ausgeführt werden. Die folgenden Werte sind gültig:
   DSM_VOTE_COMMIT     /* commit current transaction    */
   DSM_VOTE_ABORT      /* roll back current transaction */
Verwenden Sie DSM_VOTE_ABORT nur, wenn Ihre Anwendung einen Grund zum Stoppen der Transaktion findet.
dsUint16_t *reason (O)
Wenn der Aufruf von dsmEndTxn mit einem Fehler endet oder der Wert von vote nicht akzeptiert wird, hat dieser Parameter einen Ursachencode, der angibt, warum die Abstimmung fehlgeschlagen ist. Der Rückkehrcode für den Aufruf kann null sein, während der Ursachencode ungleich null sein kann. Daher muss der Anwendungsclient immer sowohl den Rückkehrcode als auch den Ursachencode (if (rc || reason)) auf Fehler überprüfen, bevor die Ausführung als erfolgreich betrachtet werden kann.

Wenn die Anwendung als Votum DSM_VOTE_ABORT angibt, ist der Ursachencode DSM_RS_ABORT_BY_CLIENT (3). Eine Liste der möglichen Ursachencodes finden Sie in der Quellendatei für API-Rückkehrcodes: dsmrc.h . Die Zahlen 1 bis 50 in der Liste der Rückkehrcodes sind für die Ursachencodes reserviert. Wenn der Server die Transaktion beendet, ist der Rückkehrcode DSM_RC_CHECK_REASON_CODE. In diesem Fall enthält der Wert des Ursachencodes weitere Informationen zu der Ursache des Abbruchs.

Rückkehrcodes

Die Rückkehrcodenummern sind in runden Klammern ( ) angegeben.

Tabelle 1. Rückgabecodes für dsmEndTxn
Rückkehrcode Erläuterung
DSM_RC_ABORT_CRC_FAILED (236) Das Befehlserkennungszeichen (CRC), das vom Server empfangen wurde, entspricht nicht dem CRC, das vom Client errechnet wurde.
DSM_RC_INVALID_VOTE (2011) Der für vote angegebene Wert ist ungültig.
DSM_RC_CHECK_REASON_CODE (2302) Die Transaktion wurde abgebrochen. Überprüfen Sie das Feld für die Ursache.
DSM_RC_ABORT_STGPOOL_COPY_CONT_NO (241) Der Schreibvorgang in einen der Kopienspeicherpools ist fehlgeschlagen und die IBM Storage Protect -Speicherpooloption COPYCONTINUE ist auf NOgesetzt. Die Transaktion wird abgebrochen.
DSM_RC_ABORT_RETRY_SINGLE_TXN (242) Dieser Abbruchcode gibt an, dass die aktuelle Transaktion aufgrund eines Fehlers während einer Speicheroperation abgebrochen wurde. Der Fehler kann behoben werden, indem jede Datei in einer eigenen Transaktion gesendet wird. Dieser Fehler ist typisch bei folgenden Bedingungen:
  • Der nächste Speicherpool hat eine andere Kopienspeicherpoolliste.
  • Die Operation wechselt mitten in einer Transaktion zu diesem Pool.
.