Compartir a través de


Método IOpcSignatureCustomObject::GetXml (msopc.h)

Obtiene el marcado XML de un elemento Object específico de la aplicación.

Sintaxis

HRESULT GetXml(
  [out] UINT8  **xmlMarkup,
  [out] UINT32 *count
);

Parámetros

[out] xmlMarkup

Puntero a un búfer que contiene el marcado XML de un elemento Object e incluye las etiquetas De objeto de apertura y cierre.

En el búfer, el marcado XML va precedido por una marca de orden de bytes que corresponde a la codificación del marcado.

Codificaciones admitidas y valores de marca de orden de bytes .

Encoding Descripción Marca de orden de bytes
UTF8 UTF-8 EF BB BF
UTF16LE UTF-16, little endian FF FE
UTF16BE UTF-16, big endian FE FF
 

Para obtener un ejemplo de un búfer con una marca de orden de bytes, vea la sección Comentarios.

[out] count

Puntero al tamaño del búfer xmlMarkup .

Valor devuelto

El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.

Código devuelto Descripción
S_OK
El método se ha llevado a cabo de forma correcta.
E_POINTER
Al menos uno de los parámetros xmlMarkup y count es NULL.

Comentarios

Este método asigna memoria usada por el búfer devuelto en xmlMarkup. Si el método se ejecuta correctamente, llame a la función CoTaskMemFree para liberar la memoria.

Los elementos Object específicos de la aplicación serializados en el marcado de firma se pueden agregar, quitar o modificar reemplazando el marcado de firma.

Para reemplazar el marcado de firma, llame al método IOpcDigitalSignatureManager::ReplaceSignatureXml . El autor de la llamada debe asegurarse de que la adición, eliminación o modificación de elementos Object específicos de la aplicación no interrumpa la firma.

Para firmar un elemento Object específico de la aplicación o un elemento secundario de ese elemento, cree una referencia al elemento XML que se va a firmar. Cree la referencia llamando al método IOpcSignatureReferenceSet::Create con el valor del parámetro referenceUri establecido en "#" seguido del valor del atributo Id del elemento al que se hace referencia. Por ejemplo, si el atributo Id del elemento al que se hace referencia es "Application", establezca referenceUri en "#Application".

En la tabla siguiente se muestra una marca de orden de bytes al principio de un búfer xmlMarkup que contiene "<Object Id="id1"></Object>":

Índice de bytes de búfer 0 1 2 3 4 5 6 7 ...
Valor UTF8 EF BB BF '<' 'O' 'b' 'j' 'e' ...
valor de UTF16LE FF FE '<' 00 'O' 00 'b' 00 ...
 

Seguridad para subprocesos

Los objetos de empaquetado no son seguros para subprocesos.

Para más información, consulte la Introducción con la API de empaquetado.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado msopc.h

Consulte también

Interfaces de empaquetado principal

Introducción con la API de empaquetado

IOpcDigitalSignatureManager

IOpcSignatureCustomObject

IOpcSignatureReferenceSet

Temas de introducción

Guía de programación de api de empaquetado

Referencia de API de empaquetado

Ejemplos de API de empaquetado

Empaquetado de interfaces de firma digital

Interfaces de empaquetado

Referencia