Método IOpcSignatureCustomObject::GetXml (msopc.h)
Obtém a marcação XML de um elemento Object específico do aplicativo.
Sintaxe
HRESULT GetXml(
[out] UINT8 **xmlMarkup,
[out] UINT32 *count
);
Parâmetros
[out] xmlMarkup
Um ponteiro para um buffer que contém a marcação XML de um elemento Object e inclui as marcas de objeto de abertura e fechamento.
No buffer, a marcação XML é precedida por uma marca de ordem de byte que corresponde à codificação da marcação.
Codificações com suporte e valores de marca de ordem de bytes .
Codificação | Descrição | Marca de ordem de byte |
---|---|---|
UTF8 | UTF-8 | EF BB BF |
UTF16LE | UTF-16, little endian | FF FE |
UTF16BE | UTF-16, big endian | FE FF |
Para obter um exemplo de um buffer com uma marca de ordem de byte, consulte a seção Comentários.
[out] count
Um ponteiro para o tamanho do buffer xmlMarkup .
Retornar valor
O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.
Código de retorno | Descrição |
---|---|
|
O método foi bem-sucedido. |
|
Pelo menos um dos parâmetros xmlMarkup e count é NULL. |
Comentários
Esse método aloca memória usada pelo buffer retornado em xmlMarkup. Se o método for bem-sucedido, chame a função CoTaskMemFree para liberar a memória.
Elementos object específicos do aplicativo serializados na marcação de assinatura podem ser adicionados, removidos ou modificados substituindo a marcação de assinatura.
Para substituir a marcação de assinatura, chame o método IOpcDigitalSignatureManager::ReplaceSignatureXml . O chamador deve garantir que a adição, exclusão ou modificação de elementos Object específicos do aplicativo não interrompa a assinatura.
Para assinar um elemento Object específico do aplicativo ou um filho desse elemento, crie uma referência ao elemento XML a ser assinado. Crie a referência chamando o método IOpcSignatureReferenceSet::Create com o valor do parâmetro referenceUri definido como "#" seguido pelo valor do atributo Id do elemento referenciado. Por exemplo, se o atributo ID do elemento referenciado for "Application", defina referenceUri como "#Application".
A tabela a seguir mostra uma marca de pedido de byte no início de um buffer xmlMarkup que contém "<Object Id="id1"></Object>":
Índice de bytes de buffer | 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 | ... |
Acesso thread-safe
Os objetos de empacotamento não são thread-safe.
Para obter mais informações, consulte o Introdução com a API de Empacotamento.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | msopc.h |
Confira também
Principais interfaces de empacotamento
Introdução com a API de Empacotamento
Visões gerais
Guia de Programação da API de Empacotamento
Referência da API de Empacotamento
Exemplos de API de empacotamento
Empacotando interfaces de assinatura digital
Referência