Finalidad
Obtiene el valor del atributo
"espacio de nombres" del elemento de sintaxis especificado
Definida en |
Tipo |
Miembro |
CPI_VFT |
Opcional |
iFpElementValue |
Sintaxis
CciSize cpiElementNamespace(
int* returnCode,
CciElement* targetElement,
const CciChar* value,
CciSize length);
Parámetros
- returnCode
- Una entrada de puntero NULL significa que el nodo definido por el
usuario no desea tratar los errores. Las excepciones emitidas durante la ejecución de esta llamada se volverán
a emitir en el nodo ascendente siguiente del flujo. Si la entrada no es NULL,
la salida significará el estado de éxito de la llamada. Si se produce una excepción
durante la ejecución, *returnCode se establecerá en CCI_EXCEPTION en la salida.
Una llamada
a CciGetLastExceptionData proporcionará los detalles de la excepción.
Si el
canal de llamada no ha asignado suficiente memoria para contener el valor de espacio de nombres,
*returncode se establecerá en CCI_BUFFER_TOO_SMALL.
Los códigos de retorno
posibles son:
- CCI_SUCCESS
- CCI_EXCEPTION
- CCI_INV_ELEMENT_OBJECT
- CCI_INV_DATA_POINTER
- CCI_INV_DATA_BUFLEN
- CCI_INV_BUFFER_TOO_SMALL
- targetElement
- Especifica la dirección del objeto de elemento de sintaxis de destino.
- value
- Especifica la dirección de un almacenamiento intermedio en el que se copiará
el valor de espacio de nombres de elemento. En este almacenamiento intermedio se copia
una serie de caracteres (incluido un terminador NULL) que representa el valor de
espacio de nombres. El almacenamiento intermedio debe ser una parte de memoria asignada anteriormente
por el canal de llamada.
- length
- Longitud, en CciChars, del almacenamiento intermedio especificado por
el parámetro "value".
Valores de retorno
Si la ejecución se realiza satisfactoriamente, se devuelve el número de CciChar
copiados en el almacenamiento intermedio.
Si el tamaño del
almacenamiento intermedio no es suficientemente grande para contener el
valor del atributo, returnCode se establece en
CCI_BUFFER_TOO_SMALL y se devuelve el número de bytes de CciChars
necesarios.
Ejemplo
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);