Partager via


IOpcSignatureReferenceSet ::Create, méthode (msopc.h)

Crée un pointeur d’interface IOpcSignatureReference qui représente une référence à un élément XML à signer.

Syntaxe

HRESULT Create(
  [in]          IUri                        *referenceUri,
  [in]          LPCWSTR                     referenceId,
  [in]          LPCWSTR                     type,
  [in]          LPCWSTR                     digestMethod,
  [in]          OPC_CANONICALIZATION_METHOD transformMethod,
  [out, retval] IOpcSignatureReference      **reference
);

Paramètres

[in] referenceUri

URI de l’élément XML référencé.

Définissez la valeur de ce paramètre sur un URI qui représente « # », suivi de la valeur d’attribut Id de l’élément référencé : « #<elementIdValue> ».

Pour obtenir des exemples, consultez la section Remarques.

[in] referenceId

Attribut Id de l’élément Reference qui représente la référence dans le balisage de signature. Pour omettre l’attribut Id , définissez cette valeur de paramètre sur NULL.

[in] type

Attribut Type de l’élément Reference qui représente la référence dans le balisage de signature. Pour omettre l’attribut Type , définissez cette valeur de paramètre sur NULL.

[in] digestMethod

Méthode digest à utiliser pour le balisage XML à référencer. Pour utiliser la méthode digest par défaut, définissez cette valeur de paramètre sur NULL.

Important La méthode digest par défaut doit être définie en appelant la méthode IOpcSigningOptions ::SetDefaultDigestMethod avant que IOpcDigitalSignatureManager ::Sign soit appelé.
 

[in] transformMethod

Méthode de canonisation à utiliser pour le balisage XML à référencer.

[out, retval] reference

Nouveau pointeur d’interface IOpcSignatureReference qui représente la référence à l’élément XML à signer.

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.

Code/valeur de retour Description
S_OK
S_OK
E_INVALIDARG
La valeur passée dans le paramètre transformMethod n’est pas une valeur d’énumération OPC_CANONICALIZATION_METHOD valide.
E_POINTER
Le paramètre referenceUri est NULL.
OPC_E_DS_PACKAGE_REFERENCE_URI_RESERVED
0x80510025
La valeur d’attribut d’URI réservée de l’élément Reference de la signature pour le package Object est utilisée comme valeur d’attribut URI d’une référence à un élément Object personnalisé.

Remarques

Cette méthode crée une référence à un élément XML signé lors de la génération de la signature. L’élément référencé peut être un élément Object spécifique à l’application ou un enfant d’un objet spécifique à l’application.

Pour référencer un élément XML à des fins de signature, définissez la valeur du paramètre referenceUri sur un URI qui représente « # », suivi de la valeur d’attribut Id de l’élément référencé, comme indiqué dans le tableau suivant.

referenceUri Valeur en tant que chaîne Élément référencé Description de l’élément
« #idMyCustomObject » « <Object Id="idMyCustomObject »>...</Object> » Élément Object spécifique à l’application.
« #idMyElement » « <Object><MyElement Id="idMyElement »>...</MyElement>...</Object> » Élément enfant d’un objet spécifique à l’application.
 

Cette méthode ne crée pas la référence à l’élément Object spécifique au package à signer ; cette référence est créée automatiquement lorsque la signature est générée.

Lorsqu’un pointeur d’interface IOpcSignatureReference est créé et ajouté au jeu, la référence qu’il représente est enregistrée lors de l’enregistrement du package.

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

IOpcDigitalSignatureManager

IOpcSignatureReferenceSet

IOpcSigningOptions

OPC_CANONICALIZATION_METHOD

Vues d'ensemble

Guide de programmation de l’API d’empaquetage

Informations de référence sur l’API d’empaque

Exemples d’API d’empaquetage

Empaquetage des interfaces de signature numérique

Interfaces d’empaquetage

Référence