IOpcSignatureCustomObject ::GetXml, méthode (msopc.h)
Obtient le balisage XML d’un élément Object spécifique à l’application.
Syntaxe
HRESULT GetXml(
[out] UINT8 **xmlMarkup,
[out] UINT32 *count
);
Paramètres
[out] xmlMarkup
Pointeur vers une mémoire tampon qui contient le balisage XML d’un élément Object et inclut les balises Object d’ouverture et de fermeture.
Dans la mémoire tampon, le balisage XML est précédé d’une marque d’ordre d’octet qui correspond à l’encodage du balisage.
Encodages et valeurs de marque d’ordre d’octet pris en charge.
Encodage | Description | Marque d'ordre d'octet |
---|---|---|
UTF8 | UTF-8 | EF BB BF |
UTF16LE | UTF-16, little endian | FF FE |
UTF16BE | UTF-16, Big Endian | FE FF |
Pour obtenir un exemple de mémoire tampon avec une marque d’ordre d’octet, consultez la section Remarques.
[out] count
Pointeur vers la taille de la mémoire tampon xmlMarkup .
Valeur retournée
Cette méthode retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.
Code de retour | Description |
---|---|
|
S_OK |
|
Au moins l’un des paramètres xmlMarkup et count est NULL. |
Remarques
Cette méthode alloue la mémoire utilisée par la mémoire tampon retournée dans xmlMarkup. Si la méthode réussit, appelez la fonction CoTaskMemFree pour libérer la mémoire.
Les éléments Object spécifiques à l’application sérialisés dans le balisage de signature peuvent être ajoutés, supprimés ou modifiés en remplaçant le balisage de signature.
Pour remplacer le balisage de signature, appelez la méthode IOpcDigitalSignatureManager ::ReplaceSignatureXml . L’appelant doit s’assurer que l’ajout, la suppression ou la modification d’éléments Object spécifiques à l’application n’interrompent pas la signature.
Pour signer un élément Object spécifique à l’application ou un enfant de cet élément, créez une référence à l’élément XML à signer. Créez la référence en appelant la méthode IOpcSignatureReferenceSet ::Create avec la valeur du paramètre referenceUri définie sur « # », suivie de la valeur d’attribut Id de l’élément référencé. Par exemple, si l’attribut Id de l’élément référencé est « Application », définissez referenceUri sur « #Application ».
Le tableau suivant montre une marque d’ordre d’octets au début d’une mémoire tampon xmlMarkup qui contient «< Id d’objet = » id1 »>< / Object> » :
Index d’octets de mémoire tampon | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | ... |
---|---|---|---|---|---|---|---|---|---|
Valeur UTF8 | EF | BB | BF | '<' | 'O' | 'b' | 'j' | 'e' | ... |
valeur UTF16LE | FF | FE | '<' | 00 | 'O' | 00 | 'b' | 00 | ... |
Cohérence de thread
Les objets d’empaquetage ne sont pas thread-safe.
Pour plus d’informations, consultez la Prise en main avec l’API d’empaquetage.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 7 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 R2 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | msopc.h |
Voir aussi
Principales interfaces d’empaquetage
Prise en main avec l’API d’empaquetage
Vues d'ensemble
Guide de programmation de l’API d’empaquetage
Informations de référence sur l’API d’empaque
Empaquetage des interfaces de signature numérique
Référence