IOpcSignatureRelationshipReferenceSet ::Create, méthode (msopc.h)
Crée un pointeur d’interface IOpcSignatureRelationshipReference qui représente une référence à un composant Relations et ajoute le nouveau pointeur d’interface à l’ensemble. L’ensemble ou un sous-ensemble des relations stockées dans la partie Relations à référencer sont sélectionnés pour la signature.
Syntaxe
HRESULT Create(
[in] IOpcUri *sourceUri,
[in] LPCWSTR digestMethod,
[in] OPC_RELATIONSHIPS_SIGNING_OPTION relationshipSigningOption,
[in] IOpcRelationshipSelectorSet *selectorSet,
[in] OPC_CANONICALIZATION_METHOD transformMethod,
[out, retval] IOpcSignatureRelationshipReference **relationshipReference
);
Paramètres
[in] sourceUri
Pointeur d’interface IOpcUri qui représente l’URI source des relations à sélectionner pour la signature.
[in] digestMethod
Méthode digest à utiliser pour les relations à sélectionner. Pour utiliser la méthode digest par défaut, transmettez NULL dans ce paramètre.
[in] relationshipSigningOption
Valeur qui indique si les relations sélectionnées pour la signature incluent la totalité ou un sous-ensemble des relations dans la partie Relations à référencer.
Pour plus d’informations sur l’effet des valeurs relationshipSigningOption sur d’autres paramètres, consultez Remarques.
[in] selectorSet
Pointeur d’interface IOpcRelationshipSelectorSet qui peut être utilisé pour identifier un sous-ensemble de relations dans la partie Relations à sélectionner pour la signature.
Si relationshipSigningOption est défini sur OPC_RELATIONSHIP_SIGN_PART, selectorSet a la valeur NULL.
Pour plus d’informations sur les valeurs selectorSet , consultez Remarques.
[in] transformMethod
Valeur qui décrit la méthode de canonisation à appliquer au balisage de relation des relations sélectionnées.
Si relationshipSigningOption est défini OPC_RELATIONSHIP_SIGN_USING_SELECTORS, la valeur de transformMethod est ignorée.
Pour plus d’informations sur les méthodes de transformation à appliquer lorsque relationshipSigningOption est défini sur OPC_RELATIONSHIP_SIGN_USING_SELECTORS, consultez Remarques.
[out, retval] relationshipReference
Nouveau pointeur d’interface IOpcSignatureRelationshipReference qui représente la partie Relations référencée.
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 |
|
La valeur passée dans le paramètre relationshipSigningOption n’est pas une valeur d’énumération OPC_RELATIONSHIPS_SIGNING_OPTION valide. |
|
La valeur passée dans le paramètre transformMethod n’est pas une valeur d’énumération OPC_CANONICALIZATION_METHOD valide. |
|
Le paramètre sourceUri est NULL. |
|
Le paramètre selectorSet n’est pas transmis null alors que le paramètre relationshipSigningOption est passé une valeur de OPC_RELATIONSHIP_SIGN_PART. |
Remarques
Cette méthode crée une référence à un composant Relationships. L’ensemble ou un sous-ensemble des relations stockées dans une partie Relations référencée peut être signé lorsque la signature est générée.
Pour signer toutes les relations d’une partie Relations, appelez cette méthode avec la valeur du paramètre relationshipSigningOption définie sur OPC_RELATIONSHIP_SIGN_PART et la valeur du paramètre selectorSet définie sur NULL.
Pour signer un sous-ensemble des relations dans une partie Relations, appelez cette méthode avec la valeur du paramètre relationshipSigningOption définie sur OPC_RELATIONSHIP_SIGN_USING_SELECTORS et la valeur du paramètre selectorSet définie sur un pointeur d’interface IOpcRelationshipSelectorSet . Pour créer un pointeur d’interface IOpcRelationshipSelectorSet , appelez la méthode CreateRelationshipSelectorSet .
Le tableau suivant récapitule les valeurs de paramètre requises par cette méthode pour créer une référence qui indique si toutes les relations ou un sous-ensemble des relations (qui sont stockées dans la partie Relations à référencer) doivent être signées.
Description | relationshipSigningOption Valeur | selectorSet Valeur |
---|---|---|
Signer toutes les relations dans le composant Relations | OPC_RELATIONSHIP_SIGN_PART | NULL |
Signer un sous-ensemble des relations dans le composant Relations | OPC_RELATIONSHIP_SIGN_USING_SELECTORS | Pointeur d’interface IOpcRelationshipSelectorSet |
Si un sous-ensemble de relations doit être signé, la méthode de transformation spécifiée est ignorée. Au lieu de cela, lorsque la signature est générée, la première transformation appliquée est la transformation de relations, et la seconde est la méthode de canonisation OPC_CANONICALIZATION_C14N .
Lorsqu’un pointeur d’interface IOpcSignatureRelationshipReference est créé et ajouté à l’ensemble, la référence qu’il représente est enregistrée lors de l’enregistrement du package.
Les relations qui ne seront pas signées peuvent être supprimées, modifiées ou ajoutées au package sans invalider la signature. Si un sous-ensemble de relations a été sélectionné pour la signature et que le sous-ensemble est modifié, la signature est invalidée.
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
IOpcSignatureRelationshipReferenceSet
OPC_RELATIONSHIPS_SIGNING_OPTION
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