cniCreateElementAsLastChildFromBitstream

Erstellt eine neue Syntaxelementbaumstruktur als letztes untergeordnetes Element des angegebenen Syntaxelements und verknüpft sie mit dem angegebenen Parser. Die neue Syntaxelementstruktur wird durch die Syntaxanalyse des angegebenen Bitstroms gefüllt. Während der Ausführung dieser Funktion wird der Bitstrom kopiert, so dass der Aufrufende den Speicher, der dem ursprünglichen Bitstrom zugeordnet ist, freigeben oder wiederverwenden kann. Diese Funktion kann nur zum Erstellen eines Nachrichtenhauptteils verwendet werden, d. h. dem letzten untergeordneten Element des Nachrichtenstamms. Eine Ausgabenachricht sollte bereits vorhanden sein. Das Stammelement dieser Ausgabenachricht sollte als Zielelementparameter übergeben werden. Da dieser Aufruf nur für das Erstellen eines Nachrichtenhauptteils konzipiert wurde, können Sie ihn nicht zum Erzeugen nachfolgender Elemene verwenden. Beispiel: Man sollte damit nicht einen RFH2 als letztes untergeordnetes Element des Stamms erstellen und anschließend eine XML-Nachricht als letztes untergeordnetes Element des Stamms hinter RFH2.

Syntax

CciElement* cniCreateElementAsLastChildFromBitstream (
  int*                       returnCode,
  CciElement*                targetElement,
  const struct CciByteArray* value,
  const CciChar*             parserClassName,
  CciChar*                   messageType,
  CciChar*                   messageSet,
  CciChar*                   messageFormat,
  int                        encoding,
  int                        ccsid,
  int                        options);

Parameter

returnCode
Der Rückkehrcode von der Funktion (Ausgabe). Die Angabe eines Nullzeigers bedeutet, dass der Knoten keine Fehler handhaben wird. Ist eine Eingabe nicht NULL, bedeutet die Ausgabe den Erfolgsstatus des Aufrufs. Jegliche während der Ausführung dieses Aufrufs ausgelösten Ausnahmebedingungen werden beim nächsten übergeordneten Knoten im Fluss erneut ausgelöst. Rufen Sie cciGetLastExceptionData auf, um weitere Informationen zu der Ausnahmebedingung zu erhalten.
Mögliche Rückkehrcodes sind:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_ELEMENT_OBJECT
  • CCI_INV_PARSER_NAME
  • CCI_INV_DATA_POINTER
targetElement
Das Syntaxelement, unter dem die neue Syntaxelementbaumstruktur erzeugt wird (Eingabe). Diese muss der Nachrichtenstamm sein.
parserClassName
Der Name der Parser-Klasse, die für die Syntaxanalyse des Bitstroms verwendet werden soll (Eingabe). Sie müssen dafür denselben Parser wie für die Syntaxanalyse des gesamten Bitstroms verwenden.
value
Ein Zeiger auf ein "CciByteArray struct", das einen Zeiger auf den Bitstrom enthält, der syntaktisch analysiert werden soll, sowie die Größe dieses Bitstroms in Byte (CciBytes) (Ausgabe).
messageType
Die Nachrichtentypdefinition, die für die Erstellung der Elementstruktur aus dem Bitstrom verwendet wird (Eingabe). Ein Nullzeiger bedeutet, dass dieser Parameter ignoriert wird. Auch wenn der angegebene Parser an diesem Wert nicht interessiert ist (z. B. wenn es ein generischer XML-Parser ist), wird der Parameter ignoriert.
messageSet
Die Nachrichtengruppendefinition, die für die Erstellung der Elementstruktur aus dem Bitstrom verwendet wird (Eingabe). Ein Nullzeiger bedeutet, dass dieser Parameter ignoriert wird. Auch wenn der angegebene Parser an diesem Wert nicht interessiert ist (z. B. wenn es ein generischer XML-Parser ist), wird der Parameter ignoriert.
messageFormat
Das Format, das für die Erstellung der Elementstruktur aus dem Bitstrom verwendet wird (Eingabe). Ein Nullzeiger bedeutet, dass dieser Parameter ignoriert wird. Auch wenn der angegebene Parser an diesem Wert nicht interessiert ist (z. B. wenn es ein generischer XML-Parser ist), wird der Parameter ignoriert.
encoding
Die Codierung, die bei der Syntaxanalyse des Bitstroms verwendet werden soll (Eingabe). Dieser Parameter ist verbindlich. Es kann als Wert 0 angegeben werden, um zu anzuzeigen, dass die Verschlüsselung des Warteschlangenmanagers verwendet werden sollte.
ccsid
Die ID des codierten Zeichensatzes, die bei der Syntaxanalyse des Bitstroms verwendet werden soll (Eingabe). Dieser Parameter ist verbindlich. Es kann als Wert 0 angegeben werden, um zu anzuzeigen, dass die ID des codierten Zeichensatzes des Warteschlangenmanagers verwendet werden sollte.
options
Beginn der ÄnderungIst für eine zukünftige Verwendung reserviert. Sie müssen den Wert '0' angeben, um Aufwärtskompatibilität zu gewährleisten.Ende der Änderung

Rückgabewerte

Bei Erfolg wird die Adresse des neuen Elementobjekts zurückgegeben. Ansonsten wird ein Nullwert (CCI_NULL_ADDR) ausgegeben, und der Rückkehrcode-Parameter gibt den Grund für den Fehler an. Wenn während der Ausführung eine Ausnahmebedingung auftritt, wird returnCode auf CCI_EXCEPTION gesetzt.

Beispiel

  outMQMD = cniCreateElementAsFirstChildUsingParser(&rc,
                                                outRootElement,
                                                CciString("MQHMD",BIP_DEF_COMP_CCSID));
  checkRC(rc);

  cniCopyElementTree(&rc, inMQMD, outMQMD);
  checkRC(rc);
  
  outBlobRoot = cniCreateElementAsLastChildFromBitstream(
                                                   &rc,
                                                   outRootElement,
                                                   &bitstream,
                                                   inParserClassName,
                                                   messageType,
                                                   messageSet,
                                                   messageFormat,
                                                   encoding,
                                                   ccsid,
                                                   0);
    

  
  checkRC(rc);
  ...

  return;
}
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
as07865_