Partager via


Méthode IOpcRelationshipSet ::CreateRelationship (msopc.h)

Crée un objet de relation qui représente une relation spécifiée, puis ajoute au jeu un pointeur vers l’interface IOpcRelationship de l’objet.

Syntaxe

HRESULT CreateRelationship(
  [in]          LPCWSTR             relationshipIdentifier,
  [in]          LPCWSTR             relationshipType,
  [in]          IUri                *targetUri,
  [in]          OPC_URI_TARGET_MODE targetMode,
  [out, retval] IOpcRelationship    **relationship
);

Paramètres

[in] relationshipIdentifier

Identificateur unique de la relation à représenter en tant qu’objet de relation. Pour utiliser un identificateur généré de manière aléatoire, passez la valeur NULL à ce paramètre.

Les identificateurs valides sont conformes aux restrictions pour xsd :ID, qui sont documentées dans la section 3.3.8 ID de la recommandation W3C, schéma XML Partie 2 : Types de données Deuxième édition (http://www.w3.org/TR/xmlschema-2/#ID).

[in] relationshipType

Type de relation qui définit le rôle de la relation à représenter en tant qu’objet de relation.

[in] targetUri

URI de la cible de la relation à représenter en tant qu’objet de relation.

Si la valeur dans targetMode est OPC_URI_TARGET_MODE_INTERNAL, target fait partie et l’URI doit être relatif à la source de la relation.

Si la valeur dans targetMode est OPC_URI_TARGET_MODE_EXTERNAL, target est une ressource en dehors du package et l’URI peut être absolu ou relatif à l’emplacement du package.

Pour plus d’informations sur l’URI de la cible d’une relation, consultez OPC.

[in] targetMode

Valeur qui indique si la cible de la relation à représenter en tant qu’objet de relation est interne ou externe au package.

[out, retval] relationship

Pointeur vers l’interface IOpcRelationship de l’objet de relation qui représente la relation.

Ce paramètre peut avoir la valeur NULL si un pointeur vers le nouvel objet n’est pas nécessaire.

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 transmise dans le paramètre targetMode n’est pas une valeur d’énumération OPC_URI_TARGET_MODE valide.
E_POINTER
Au moins l’un des paramètres relationshipType et targetUri est NULL.
OPC_E_DUPLICATE_RELATIONSHIP
0x80510013
Une relation avec le même identificateur existe déjà dans le package actuel.
OPC_E_INVALID_RELATIONSHIP_ID
0x80510010
L’attribut ID d’une relation n’est pas conforme aux règles spécifiées dans l’OPC.
OPC_E_INVALID_RELATIONSHIP_TARGET
0x80510012
L’URI dans targetUri est absolu et la valeur dans targetMode est OPC_URI_TARGET_MODE_INTERNAL. L’URI de la cible doit être relatif lorsque ce mode cible est spécifié.
OPC_E_INVALID_RELATIONSHIP_TARGET
0x80510012
L’attribut Target d’une relation n’est pas conforme aux règles spécifiées dans l’OPC.
OPC_E_INVALID_RELATIONSHIP_TYPE
0x80510011
L’attribut Type d’une relation n’est pas conforme aux règles spécifiées dans l’OPC.
Erreur de consommation de package
Code d’erreur HRESULT du groupe d’erreurs de consommation de package.
Erreur d’URI de partie
Code d’erreur HRESULT du groupe d’erreurs d’URI de partie.

Remarques

Lorsqu’un objet de relation est créé et qu’un pointeur vers celui-ci est ajouté à l’ensemble, la relation qu’il représente est enregistrée lors de l’enregistrement du package.

L’interface IOpcRelationship permet d’accéder aux propriétés de relation. Pour plus d’informations sur ces propriétés, consultez Vue d’ensemble des relations et IOpcRelationship.

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 Packaging.

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

ECMA-376 OpenXML

Ressources externes

Prise en main avec l’API d’empaquetage

IOpcRelationshipSet

OPC_URI_TARGET_MODE

Principes de base d’Open Packaging Conventions

Vues d'ensemble

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

Empaquetage d’exemples d’API

Erreurs d’empaquetage

Référence

Vue d'ensemble des relations

Recommandation W3C, schéma XML Partie 2 : types de données Deuxième édition