cniElementNamespace

Ruft den Wert des Attributs namespace für das angegebene Syntaxelement ab. Der Name des Syntaxelements wurde zuvor mit Hilfe von cniSetElementNamespace oder cpiSetElementNamespace festgelegt.

Diese Funktion wird verwendet, wenn eine Nachricht, die zu einer Domäne gehört, bei der der Namensbereich berücksichtigt werden muss, in einen Bitstrom konvertiert wird.

Syntax

CciSize cniElementNamespace(
	int*           returnCode,
	CciElement*    targetElement,
	const CciChar* value,
	CciSize        length)		

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 für Details der Ausnahmebedingung auf.
Mögliche Rückkehrcodes sind:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_ELEMENT_OBJECT
  • CCI_INV_DATA_POINTER
  • CCI_INV_DATA_BUFLEN
  • CCI_INV_BUFFER_TOO_SMALL
targetElement
Gibt die Adresse des Zielsyntaxelementobjekts an (Eingabe).
value
Gibt die Adresse eines Puffers an, in den der ElementNamespace-Wert kopiert wird (Ausgabe). Eine Zeichenfolge (einschließlich eines Nullabschlusszeichens), die den Namespace-Wert darstellen, wird in diesen Puffer kopiert. Der Puffer sollte ein Teil des Speichers sein, der zuvor von der aufrufenden Entität zugeordnet wurde.
length
Die Länge des Puffers (in Zeichen), die vom Parameter value angegeben wird (Eingabe).

Rückgabewerte

  • Bei Erfolg wird die Anzahl an in den Puffer kopierten CciChars zurückgegeben.
  • Wenn der Puffer für den Attributwert nicht groß genug ist, wird als Wert für returnCode CCI_BUFFER_TOO_SMALL festgelegt, und die erforderliche Anzahl der Zeichen (CciChars) wird zurückgegeben.
  • Wenn während der Ausführung eine Ausnahmebedingung auftritt, wird returnCode auf CCI_EXCEPTION gesetzt.

Beispiel

 if (element != 0) {
    /*get name*/
    cniElementName(&rc, element, (CciChar*)&elementName, sizeof(elementName));

    /*get namespace*/
    elementNamespace=(CciChar*)malloc(sizeof(CciChar) * elementNamespaceLength);
    elementNamespaceLength = cniElementNamespace(&rc,
                                                 element,
                                                 elementNamespace,
                                                 elementNamespaceLength);
    
    if (rc==CCI_BUFFER_TOO_SMALL){
      free(elementNamespace);
      elementNamespace=(CciChar*)malloc(sizeof(CciChar) * elementNamespaceLength);
      elementNamespaceLength = cniElementNamespace(&rc,
                                                   element,
                                                   elementNamespace,
                                                   elementNamespaceLength);
    }
    checkRC(rc);
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
as07742_