Condividi tramite


Metodo IOpcSignatureCustomObject::GetXml (msopc.h)

Ottiene il markup XML di un elemento Object specifico dell'applicazione.

Sintassi

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

Parametri

[out] xmlMarkup

Puntatore a un buffer che contiene il markup XML di un elemento Object e include i tag Object di apertura e chiusura.

Nel buffer il markup XML è preceduto da un contrassegno di ordine di byte che corrisponde alla codifica del markup.

Codifica supportata e valori di contrassegno dell'ordine di byte .

Codifica Descrizione Indicatore dell'ordine dei byte
UTF8 UTF-8 EF BB BF
UTF16LE UTF-16, piccolo endian FF FE
UTF16BE UTF-16, big endian FE FF
 

Per un esempio di buffer con un contrassegno di ordine di byte, vedere la sezione Osservazioni.

[out] count

Puntatore alle dimensioni del buffer xmlMarkup .

Valore restituito

Il metodo restituisce un HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.
E_POINTER
Almeno uno dei parametri xmlMarkup e conteggio è NULL.

Commenti

Questo metodo alloca la memoria utilizzata dal buffer restituito in xmlMarkup. Se il metodo ha esito positivo, chiamare la funzione CoTaskMemFree per liberare la memoria.

Gli elementi dell'oggetto specifici dell'applicazione serializzati nel markup della firma possono essere aggiunti, rimossi o modificati sostituendo il markup della firma.

Per sostituire il markup della firma, chiamare il metodo IOpcDigitalSignatureManager::ReplaceSignatureXml . Il chiamante deve assicurarsi che l'aggiunta, l'eliminazione o la modifica degli elementi Object specifici dell'applicazione non interrompa la firma.

Per firmare un elemento Object specifico dell'applicazione o un elemento figlio di tale elemento, creare un riferimento all'elemento XML da firmare. Creare il riferimento chiamando il metodo IOpcSignatureReferenceSet::Create con il valore del parametro referenceUri impostato su "#" seguito dal valore dell'attributo Id dell'elemento a cui viene fatto riferimento. Ad esempio, se l'attributo Id dell'elemento a cui si fa riferimento è "Application", impostare referenceUri su "#Application".

La tabella seguente mostra un contrassegno dell'ordine di byte all'inizio di un buffer xmlMarkup contenente "<Object Id="id1"></Object>":

Indice di byte buffer 0 1 2 3 4 5 6 7 ...
Valore UTF8 EF BB BF '<' 'O' 'b' 'j' 'e' ...
valore UTF16LE FF FE '<' 00 'O' 00 'b' 00 ...
 

Thread safety

Gli oggetti di creazione dei pacchetti non sono thread-safe.

Per altre informazioni, vedere l'Introduzione con l'API Creazione pacchetti.

Requisiti

Requisito Valore
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione msopc.h

Vedi anche

Interfacce di creazione di pacchetti principali

Introduzione con l'API Creazione pacchetti

IOpcDigitalSignatureManager

IOpcSignatureCustomObject

IOpcSignatureReferenceSet

Cenni preliminari

Guida alla programmazione dell'API per la creazione di pacchetti

Informazioni di riferimento sulle API per la creazione di pacchetti

Esempi di API di creazione di pacchetti

Creazione di interfacce di firma digitale per la creazione di pacchetti

Interfacce di creazione pacchetti

Riferimento