cciInputMessageCallback

Hierbei handelt es sich um eine Funktion, die als Callback registriert werden kann und aufgerufen wird, sobald eine Nachricht von einem Empfangsknoten gelesen wird, und bevor diese im Nachrichtenfluss nach hinten weitergegeben wird. Wenn der Benutzerexitstatus aktiv ist, wird sie für jede Eingabenachricht aufgerufen, die innerhalb der Ausführungsgruppe gelesen wird, in der der Callback registriert wurde. Der Callback wird durch die Bereitstellung eines Zeigers auf die Funktion als Feld iFpInputMessageCallback des CCI_UE_VFT-Structs registriert, das an cciRegisterUserExit übergeben wird.

Syntax

typedef void (*cciInputMessageCallback) (
                                 CciDataContext* userContext,
                                 CciMessage*        message,
                                 CciMessage* localEnvironment,
                                 CciMessage* exceptionList,          
                                 CciMessage* environment,
                                 CciMessageOrigin messageOrigin,
                                 CciNode* inputNode);

Parameter

userContext (Eingabe)
Hierbei handelt es sich um einen Wert, der an die Funktion cciRegisterUserExit übergeben wurde.
message
Dies ist eine interne Kennung für das Nachrichtenobjekt. Der Benutzerexitcode darf diese Baumstruktur nicht aktualisieren.
localEnvironment
Dies ist eine interne Kennung für das Objekt der lokalen Umgebung.
exceptionList
Dies ist eine interne Kennung für das Ausnahmelistenobjekt.
environment
Dies ist eine interne Kennung für das Umgebungsobjekt für den aktuellen Nachrichtenfluss.
messageOrigin
Abhängig vom Typ des Empfangsknotens kann die Nachricht von einem Bitstrom (CCI_MESSAGE_ORIGIN_BITSTREAM) oder einer Baumstruktur (CCI_MESSAGE_ORIGIN_TREE) stammen. Daher kann der Benutzerexit auf eines dieser Elemente zugreifen, ohne dass eine Verarbeitung durch den Parser erfolgt. Sie können beispielsweise beim MQEmpfangsknoten gefahrlos auf den Bitstrom zugreifen, während Sie beim JMS-Empfangsknoten gefahrlos auf die Baumstruktur zugreifen können. Der Zugriff auf den Bitstrom ist durch Aufruf von cniBufferPointer, cniBufferSize oder cniBufferByte möglich. Der Zugriff auf die Baumstruktur ist durch den Aufruf von cniRootElement und die Verwendung der üblichen Navigationsfunktionen für Syntaxelemente (beispielsweise cniFirstChild) möglich.
Anmerkung: Dieser Parameter gibt dem Benutzerexit zwar an, auf welche Elemente er gefahrlos ohne Verarbeitung durch den Parser zugreifen kann, es ist jedoch möglich, dass der Benutzerexitcode diesen Rat ignoriert und die Ablaufsteuerung der Syntaxanalyse effektiv geändert wird.
inputNode
Dies ist eine interne Kennung für den Empfangsknoten, der diese Eingabenachricht liest. Sie kann für Aufrufe von Funktionen wie beispielsweise cciGetNodeName, cciGetNodeType und cniGetBrokerInfo verwendet werden.

Rückgabewerte

Keine.

Beispiel

void myInputMessageCallback(
                      CciDataContext* userContext,
                      CciMessage*        message,
                      CciMessage* localEnvironment,
                      CciMessage* exceptionList,          
                      CciMessage* environment,
                      CciMessageOrigin messageOrigin,
                      CciNode* inputNode){
…
…
}
Zugehörige Konzepte
Benutzerexits entwickeln
Zugehörige Tasks
Benutzerexit entwickeln
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
as35950_