Package::CreateRelationship Method (Uri, TargetMode, String)
Creates a package-level relationship to a part with a given URI, target mode, and relationship type.
Assembly: WindowsBase (in WindowsBase.dll)
public: PackageRelationship^ CreateRelationship( Uri^ targetUri, TargetMode targetMode, String^ relationshipType )
- Type: System::Uri
The uniform resource identifier (URI) of the target part.
- Type: System.IO.Packaging::TargetMode
- Type: System::String
A URI that uniquely defines the role of the relationship.
Return ValueType: System.IO.Packaging::PackageRelationship
The package-level relationship to the specified part.
targetUri or relationshipType is nullptr.
The value for targetMode is not valid.
The package is read-only.
A package-level relationship defines an association between the package and an associated target part or resource. A package-level relationship can be one of two forms.
Between a Package to a target part in the package.
Between a Package to a target resource outside the package.
In a package-relationship the package is considered the "owner" of the relationship. When the package is deleted, all the relationships owned by the package are also deleted.
CreateRelationship does not physically change the target part or resource in any way.
The target of a relationship cannot be another relationship.
If targetMode is specified as Internal, targetUri must be a relative URI that is formed according to the RFC 3986 Uniform Resource Identifier (URI) Generic Syntax specification. The internal relative URI can be either an absolute path that starts with a forward slash ("/") character such as "/page1.xaml" or "/images/picture4.jpg", or a relative path such as "../imagespicture1.jpg" that resolves against the package root ("/") as the base URI.
If targetMode is specified as External, targetUri can be either an absolute or relative URI formed according to the RFC 3986 Uniform Resource Identifier (URI) Generic Syntax specification. "http://www.microsoft.com/page2.xml" is an example of an absolute URI that references an external target resource "page2.xml". "images/picture1.jpg" is an example of a relative URI that also references an external target resource "1.jpg" but which resolves against the URI of the package itself.
relationshipType must be a URI that is formed according to the RFC 3986 Uniform Resource Identifier (URI) Generic Syntax specification. The following table shows the package-level relationshipType URIs defined by the Open Packaging Conventions (OPC) specification.
Relationship Type URI
Digital Signature Certificate
Digital Signature Origin
For more information about packaging and package relationships, see section 1.3 of the Open Packaging Conventions (OPC) specification available for download at http://go.microsoft.com/fwlink/?LinkID=71255.