Scopo
Fornisce il valore dell'attributo "namespace" per l'elemento
di sintassi specificato.
Definito in |
Tipo |
Membro |
CPI_VFT |
Facoltativo |
iFpElementValue |
Sintassi
CciSize cpiElementNamespace(
int* returnCode,
CciElement* targetElement,
const CciChar* value,
CciSize length);
Parametri
- returnCode
- Un input del puntatore NULL indica che il nodo definito dall'utente non intende gestire gli errori. Eventuali eccezioni generate durante l'esecuzione di questa chiamata, verranno generate nuovamente nel nodo successivo a monte del flusso. Se l'input è diverso da NULL, l'output indicherà lo stato positivo della chiamata. Se durante l'esecuzione si verifica un'eccezione, *returnCode verrà impostato su CCI_EXCEPTION nell'output.
Una chiamata a CciGetLastExceptionData
fornirà informazioni dettagliate sull'eccezione.
Se chi esegue la chiamata non ha assegnato memoria sufficiente
a contenere il valore di spazio dei nomi, *returncode è impostato su CCI_BUFFER_TOO_SMALL.
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.
- value
- Specifica l'indirizzo di un buffer in cui viene copiato il valore di spazio dei nomi dell'elemento. 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 CciChars del buffer specificato dal parametro "value".
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 byte CciChars richiesti.
Esempio
elementNamespace=(CciChar*)malloc(sizeof(CciChar) * elementNamespaceLength);
elementNamespaceLength = cpiElementNamespace(&rc;,
element,
elementNamespace,
elementNamespaceLength);
if (rc==CCI_BUFFER_TOO_SMALL){
free(elementNamespace);
elementNamespace=(CciChar*)malloc(sizeof(CciChar) * elementNamespaceLength);
elementNamespaceLength = cpiElementNamespace(&rc;,
element,
elementNamespace,
elementNamespaceLength);
}
checkRC(rc);