API 'db2commexitRegister' - Registrierung

Diese Funktion registriert den Agenten für die Verbindung. Sie ist nur in Bibliotheken für Kommunikationspufferexits anwendbar.

Diese Funktion wird vom Datenbankmanager immer dann aufgerufen, wenn ein Agent ein Socket akzeptiert und dann an diesem Socket mit dem Senden und Empfangen von Daten beginnt. Diese Aktivität wird normalerweise einer neuen SQL-Verbindung zur Datenbank oder Instanzverbindung zugeordnet.

Ferner wird diese Funktion aufgerufen, wenn einem Agenten eine inaktive Verbindung zugeteilt wird, um eine neue Anforderung des Clients zu verarbeiten.

Diese Funktion ist den SQL-Verbindungen zur Datenbank nicht direkt zugeordnet. Ein Eingabeparameter für die Funktion unterscheidet zwischen einem neuen Socket und einem vorhandenen Socket, das einem neuen Agenten zugeteilt wird.

API-Headerdatei

db2commexit.h

API- und Datenstruktursyntax

SQL_API_RC ( SQL_API_FN * db2commexitRegister )
(
   void                         ** pConnectionContext,
   const db2commexitCommInfo_v1  * pCommInfo,
   db2int32                        state,
   db2int64                      * pReservedFlags,
   char                         ** errormsg,
   db2int32                      * errormsglen
);

Parameter der API 'db2commexitRegister'

pConnectionContext
Ein-/Ausgabe. Ein Zeiger auf Daten, die sich auf die Exitbibliothek für Kommunikationspuffer beziehen. Dieser Zeiger bezieht sich auf die eingehende Verbindung. Der Parameter wird als Eingabe für jeden Funktionsaufruf für diese Verbindung übergeben. Die Bibliothek kann verbindungsspezifische Informationen zuordnen und speichern und diese in jedem Funktionsaufruf zur Verfügung stellen. Der Speicher für den Parameter muss beim Aufrufen von db2commexitDeregister freigegeben werden. Der Datenbankmanager kann nicht auf den Speicher zugreifen, auf den von diesem Parameter verwiesen wird.
pCommInfo
Eingabe. Ein Zeiger auf eine Struktur, die Informationen enthält, die den Datenbankserver und protokollspezifische Informationen für die eingehende Verbindung identifizieren. Einige der Felder in der Struktur werden erst dann definiert, wenn mit dem Client mehrere Puffer ausgetauscht werden. Die Felder sind in späteren Aufrufen von db2commexitRecv und db2commexitSendverfügbar. Dieses Szenario bezieht sich speziell auf inbound_appl_id, outbound_appl_id und connection_type. Wenn diese Werte bekannt sind, gibt der Parameter connection_type an, ob die Verbindung für eine lokale Datenbank oder eine Gateway-Verbindung vorgesehen ist.
Status
Eingabe. Gibt an, unter welchen Bedingungen die Funktion aufgerufen wird. Mögliche Werte:
  • NEW_CONNECTION - gibt eine neue physische eingehende Clientverbindung an.
  • AGENT_ASSOCIATION - gibt eine vorhandene inaktive Clientverbindung an, die erneut aktiviert wird und zur Verarbeitung der Anforderung einem Agenten zugeordnet wird.
pReservedFlags
Ein-/Ausgabe. Dieses Element ist für die künftige Verwendung reserviert. Der Wert muss bei der Ausgabe auf 0 gesetzt werden.
errormsg
Ausgabe. Ein Zeiger auf die Adresse einer von der von der Exitbibliothek für Kommunikationspuffer zugeordneten ASCII-Fehlernachrichtenzeichenfolge. Diese Fehlernachrichtenzeichenfolge kann zurückgegeben werden kann, wenn die Funktionsausführung nicht erfolgreich ist. Dieser Speicher wird nicht durch Aufruf von db2commexitFreeErrormsgfreigegeben.
errormsglen
Ausgabe. Ein Zeiger auf einen ganzzahligen Wert (Integer), der die Länge (in Byte) der Fehlernachrichtenzeichenfolge im Parameter errormsg angibt.