cniElementNamespace

Obtiene el valor del atributo espacio de nombres del elemento de sintaxis especificado. El nombre de elemento de sintaxis se tendrá que haber establecido anteriormente utilizando cniSetElementNamespace o cpiSetElementNamespace.

Se utiliza al convertir un mensaje que pertenece a un dominio preparado para espacios de nombres en una corriente de bits.

Sintaxis

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

Parámetros

returnCode
Código de retorno de la función (salida). La especificación de un puntero NULL significa que el nodo no desea tratar los errores. Si la entrada no es NULL, la salida significa el estado de éxito de la llamada. Las excepciones emitidas durante la ejecución de esta llamada se vuelven a emitir en el nodo ascendente siguiente del flujo. Invoque cciGetLastExceptionData para obtener información detallada de la excepción.
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 (entrada).
value
Especifica la dirección de un almacenamiento intermedio en el que se copia el valor de espacio de nombres de elemento (salida). 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 caracteres, del almacenamiento intermedio especificado por el parámetro value (entrada).

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 CciChars necesarios.
  • Si se produce una excepción durante la ejecución, returnCode se establece en CCI_EXCEPTION.

Ejemplo

 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);
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
as07742_