cniElementNamespace

Fornisce il valore dell'attributo namespace per l'elemento di sintassi specificato. Il nome dell'elemento di sintassi viene impostato in precedenza utilizzando cniSetElementNamespace o cpiSetElementNamespace.

Viene utilizzata per la conversione di un messaggio che appartiene ad un dominio spazio dei nomi in un flusso di bit.

Sintassi

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

Parametri

returnCode
Il codice di ritorno dalla funzione (output). Se si specifica un puntatore NULL significa che il nodo non intende gestire gli errori. Se l'input è diverso da NULL, l'output indica lo stato positivo della chiamata. Eventuali eccezioni generate durante l'esecuzione di questa chiamata, vengono generate nuovamente nel nodo successivo a monte del flusso. Per informazioni dettagliate relative all'eccezione, richiamare cciGetLastExceptionData.
I codici di ritorno possibili sono:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_ELEMENT_OBJECT
  • CCI_INV_DATA_POINTER
  • CCI_INV_DATA_BUFLEN
  • CCI_INV_BUFFER_TOO_SMALL
targetElement
Specifica l'indirizzo dell'oggetto elemento di sintassi di destinazione (input).
value
Specifica l'indirizzo di un buffer in cui viene copiato il valore di spazio dei nomi dell'elemento (output). In questo buffer viene copiata una stringa di caratteri (incluso un carattere di terminazione NULL) che rappresenta il valore di spazio dei nomi. Il buffer deve essere una parte della memoria assegnata in precedenza da chi esegue la chiamata.
length
La lunghezza, in caratteri, del buffer specificato nel parametro value (input).

Valori di restituzione

  • Se ha esito positivo, viene restituito il numero di CciChars copiati nel buffer.
  • Se il buffer non è grande a sufficienza per contenere il valore di attributo, returnCode è impostato su CCI_BUFFER_TOO_SMALL e viene restituito il numero di CciChars richiesti.
  • Se durante l'esecuzione si verifica un'eccezione, returnCode è impostato su CCI_EXCEPTION.

Esempio

 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);
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
as07742_