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 |
|
La valeur transmise dans le paramètre targetMode n’est pas une valeur d’énumération OPC_URI_TARGET_MODE valide. |
|
Au moins l’un des paramètres relationshipType et targetUri est NULL. |
|
Une relation avec le même identificateur existe déjà dans le package actuel. |
|
L’attribut ID d’une relation n’est pas conforme aux règles spécifiées dans l’OPC. |
|
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é. |
|
L’attribut Target d’une relation n’est pas conforme aux règles spécifiées dans l’OPC. |
|
L’attribut Type d’une relation n’est pas conforme aux règles spécifiées dans l’OPC. |
|
Code d’erreur HRESULT du groupe d’erreurs de consommation de package. |
|
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
Ressources externes
Prise en main avec l’API d’empaquetage
Principes de base d’Open Packaging Conventions
Vues d'ensemble
Informations de référence sur l’API d’empaque
Référence
Recommandation W3C, schéma XML Partie 2 : types de données Deuxième édition