Packaging

Overview of the Packaging technology.

To develop Packaging, you need these headers:

For programming guidance for this technology, see:

Enumerations

 
OPC_CANONICALIZATION_METHOD

Describes the canonicalization method to be applied to XML markup.
OPC_CERTIFICATE_EMBEDDING_OPTION

Describes the storage location of a certificate that is used in signing.
OPC_COMPRESSION_OPTIONS

Describes ways to compress part content.
OPC_READ_FLAGS

Describes the read settings for caching package components and validating them against ECMA-376 OpenXML, 1st Edition, Part 2:_Open Packaging Conventions (OPC) conformance requirements.
OPC_RELATIONSHIP_SELECTOR

Describes how to interpret the selectionCriterion parameter of the IOpcRelationshipSelector::GetSelectionCriterion method.
OPC_RELATIONSHIPS_SIGNING_OPTION

Describes whether a reference represented by the IOpcSignatureRelationshipReference interface refers to all or a subset of relationships represented as relationship objects in a relationship set object.
OPC_SIGNATURE_TIME_FORMAT

Describes how to interpret the signingTime parameter, which is a record of when a signature was created, of the IOpcDigitalSignature::GetSigningTime method.
OPC_SIGNATURE_VALIDATION_RESULT

Indicates the status of the signature.
OPC_STREAM_IO_MODE

Describes the read/write status of a stream.
OPC_URI_TARGET_MODE

Indicates the target mode of a relationship.
OPC_WRITE_FLAGS

Describes the encoding method that is used by the serialization object to produce the package.

Functions

 
Add

Adds a certificate to the set.
Clone

Creates a copy of the current IOpcCertificateEnumerator interface pointer and all its descendants.
Clone

Creates a copy of the current IOpcDigitalSignatureEnumerator interface pointer and all its descendants.
Clone

Creates a copy of the current enumerator and all its descendants. (IOpcPartEnumerator.Clone)
Clone

Creates a copy of the current enumerator and all its descendants. (IOpcRelationshipEnumerator.Clone)
Clone

Creates a copy of the current IOpcRelationshipSelectorEnumeratorinterface pointer and all its descendants.
Clone

Creates a copy of the current IOpcSignatureCustomObjectEnumerator interface pointer and all its descendants.
Clone

Creates a copy of the current IOpcSignaturePartReferenceEnumerator interface pointer and all its descendants.
Clone

Creates a copy of the current IOpcSignatureReferenceEnumerator interface pointer and all its descendants.
Clone

Creates a copy of the current IOpcSignatureRelationshipReferenceEnumerator interface pointer and all its descendants.
CombinePartUri

Forms the part name of the part that is referenced by the specified relative URI.
ComparePartUri

Returns an integer that indicates whether the URIs represented by the current part URI object and a specified part URI object are equivalent.
Create

Creates an IOpcRelationshipSelector interface pointer to represent how a subset of relationships are selected to be signed, and adds the new pointer to the set.
Create

Creates an IOpcSignatureCustomObject interface pointer to represent an application-specific Object element in the signature, and adds the new interface to the set.
Create

Creates an IOpcSignaturePartReference interface pointer that represents a reference to a part to be signed, and adds the new interface to the set.
Create

Creates an IOpcSignatureReference interface pointer that represents a reference to an XML element to be signed.
Create

Creates an IOpcSignatureRelationshipReference interface pointer that represents a reference to a Relationships part, and adds the new interface pointer to the set.
CreateDigitalSignatureManager

Creates a digital signature manager object for a package object.
CreatePackage

Creates a package object that represents an empty package.
CreatePackageRootUri

Creates an OPC URI object that represents the root of a package.
CreatePart

Creates a part object that represents a part and adds a pointer to the object's IOpcPart interface to the set.
CreatePartUri

Creates a part URI object that represents a part name.
CreateRelationship

Creates a relationship object that represents a specified relationship, then adds to the set a pointer to the object's IOpcRelationship interface.
CreateRelationshipSelectorSet

Creates an IOpcRelationshipSelectorSet interface pointer that is used as the selectorSet parameter value of the Create method.
CreateSigningOptions

Creates an IOpcSigningOptions interface pointer.
CreateStreamOnFile

Creates a stream over a file.
Delete

Deletes a specified IOpcRelationshipSelector interface pointer from the set.
Delete

Deletes a specified IOpcSignatureCustomObject interface pointer from the set.
Delete

Deletes a specified IOpcSignaturePartReference interface pointer from the set.
Delete

Deletes a specified IOpcSignatureReference interface pointer from the set.
Delete

Deletes a specified IOpcSignatureRelationshipReference interface pointer from the set.
DeletePart

Deletes the IOpcPart interface pointer of a specified part object from the set.
DeleteRelationship

Deletes a specified IOpcRelationship interface pointer from the set.
GetCanonicalizationMethod

Gets the canonicalization method that was applied to the SignedInfo element of the serialized signature.
GetCertificateEmbeddingOption

Gets a value that specifies the storage location in the package of the certificate to be used for the signature.
GetCertificateEnumerator

Gets an enumerator of certificates that are used in the signature.
GetCertificateSet

Gets an IOpcCertificateSet interface pointer.
GetCompressionOptions

Gets a value that describes the way part content is compressed.
GetContentStream

Gets a stream that provides read/write access to part content.
GetContentType

Gets the media type of part content.
GetContentType

Gets the content type of the referenced part.
GetCurrent

Gets the CERT_CONTEXT structure at the current position of the enumerator.
GetCurrent

Gets the IOpcDigitalSignature interface pointer at the current position of the enumerator.
GetCurrent

Gets the IOpcPart interface pointer at the current position of the enumerator.
GetCurrent

Gets the IOpcRelationship interface pointer at the current position of the enumerator.
GetCurrent

Gets the IOpcRelationshipSelector interface pointer at the current position of the enumerator.
GetCurrent

Gets the IOpcSignatureCustomObject interface at the current position of the enumerator.
GetCurrent

Gets the IOpcSignaturePartReference interface pointer at the current position of the enumerator.
GetCurrent

Gets the IOpcSignatureReference interface pointer at the current position of the enumerator.
GetCurrent

Gets the IOpcSignatureRelationshipReference interface pointer at the current position of the enumerator.
GetCustomObjectEnumerator

Gets an enumerator of IOpcSignatureCustomObject interface pointers that represent application-specific Object elements in the signature markup.
GetCustomObjectSet

Gets an IOpcSignatureCustomObjectSet interface.
GetCustomReferenceEnumerator

Gets an enumerator of the IOpcSignatureReference interface pointers that represent references to application-specific XML elements that have been signed.
GetCustomReferenceSet

Gets an IOpcSignatureReferenceSet interface pointer.
GetDefaultDigestMethod

Gets the default digest method that will be used to compute digest values for objects to be signed.
GetDigestMethod

Gets the digest method to use on part content of the referenced part when the part is signed.
GetDigestMethod

Gets the digest method to use on the referenced XML element, when the element is signed.
GetDigestMethod

Gets the digest method to use on relationship markup of the selected relationships.
GetDigestValue

Gets the digest value that is calculated for part content of the referenced part when the part is signed.
GetDigestValue

Gets the digest value that is calculated for the referenced XML element when the element is signed.
GetDigestValue

Gets the digest value calculated for the selected relationships when they are signed.
GetEnumerator

Gets an enumerator of certificates in the set.
GetEnumerator

Gets an enumerator of IOpcPart interface pointers in the set.
GetEnumerator

Gets an enumerator of IOpcRelationshipSelector interface pointers in the set.
GetEnumerator

Gets an enumerator of IOpcRelationship interface pointers in the set.
GetEnumerator

Gets an enumerator of IOpcSignatureCustomObject interface pointers in the set.
GetEnumerator

Gets an enumerator of IOpcSignaturePartReference interface pointers in the set.
GetEnumerator

Gets an enumerator of IOpcSignatureReference interface pointers in the set.
GetEnumerator

Gets an enumerator of IOpcSignatureRelationshipReference interface pointers in the set.
GetEnumeratorForType

Gets an enumerator of the IOpcRelationship interface pointers in the set that point to representations of relationships that have a specified relationship type.
GetId

Gets the unique identifier of the relationship.
GetId

Gets the identifier for the reference.
GetName

Gets a part URI object that represents the part name.
GetNamespaces

Gets the prefix and namespace mapping of the Signature element of the signature markup.
GetPackageObjectReference

Gets an IOpcSignatureReference interface pointer that represents the reference to the package-specific Object element that has been signed.
GetPart

Gets a part object, which represents a specified part, in the set.
GetPartName

Gets the part name of the referenced part.
GetPartSet

Gets a part set object that contains IOpcPart interface pointers.
GetRelationship

Gets a relationship object from the set that represents a specified relationship.
GetRelationshipsContentStream

Gets a read-only stream that contains the part content of the Relationships part represented by the set.
GetRelationshipSelectorEnumerator

Gets an enumerator of IOpcRelationshipSelector interface pointers that represent the techniques used to select the subset of relationships in the referenced�Relationships part.
GetRelationshipSet

Gets a relationship set object that represents the Relationships part that stores package relationships.
GetRelationshipSet

Gets a relationship set object that represents the Relationships part that stores relationships that have the part as their source.
GetRelationshipSigningOption

Gets a value that describes whether all or a subset of relationships that are stored in the referenced�Relationships part are selected.
GetRelationshipsPartUri

Gets the part name of the Relationships part that stores relationships that have the source URI represented by the current OPC URI object.
GetRelationshipType

Gets the relationship type.
GetRelativeUri

Forms a relative URI for a specified part, relative to the URI represented by the current OPC URI object.
GetSelectionCriterion

Gets a string that is used to select relationships to be referenced for signing.
GetSelectorType

Gets a value that describes how relationships are selected to be referenced for signing.
GetSignatureEnumerator

Gets an enumerator of IOpcDigitalSignature interface pointers, which represent package signatures.
GetSignatureId

Gets the value of the Id attribute from the Signature element of the signature markup.
GetSignatureId

Gets the value of the Id attribute from the Signature element.
GetSignatureMethod

Gets the signature method used to calculate the value in the SignatureValue element of the signature markup.
GetSignatureMethod

Gets the signature method to use to calculate and encrypt the hash value of the SignedInfo element, which will be serialized as the SignatureValue element of the signature.
GetSignatureOriginPartName

Gets an IOpcPartUri interface pointer that represents the part name of the Digital Signature Origin part.
GetSignaturePartName

Gets the part name of the part that contains the signature markup.
GetSignaturePartName

Gets the part name of the signature part where the signature markup will be stored.
GetSignaturePartReferenceEnumerator

Gets an enumerator of IOpcSignaturePartReference interface pointers, which represent references to parts that have been signed.
GetSignaturePartReferenceSet

Gets an IOpcSignaturePartReferenceSet interface.
GetSignatureRelationshipReferenceEnumerator

Gets an enumerator of IOpcSignatureRelationshipReference interface pointers, which represent references to relationships that have been signed.
GetSignatureRelationshipReferenceSet

Gets an IOpcSignatureRelationshipReferenceSet interface pointer.
GetSignatureValue

Gets the decoded value in the SignatureValue element of the signature markup.
GetSignatureXml

Gets the signature markup.
GetSigningTime

Gets a string that indicates the time at which the signature was generated.
GetSourceUri

Gets the source URI of the relationships that are stored in a Relationships part. The current part URI object represents the part name of that Relationships part.
GetSourceUri

Gets the URI of the relationship�source.
GetSourceUri

Gets the source URI of the relationships that are stored in the referenced�Relationships part.
GetTargetMode

Gets a value that describes whether the relationship's target is internal or external to the package.
GetTargetUri

Gets the URI of the relationship�target.
GetTimeFormat

Gets the format of the string returned by the GetSigningTime method.
GetTimeFormat

Gets the format of the string retrieved by the IOpcDigitalSignature::GetSigningTime method.
GetTransformMethod

Gets the canonicalization method to use on part content of a referenced part when the part is signed.
GetTransformMethod

Gets the canonicalization method to use on the referenced XML element, when the element is signed.
GetTransformMethod

Gets the canonicalization method to use on the relationship markup of the selected relationships when they are signed.
GetType

Gets a string that indicates the type of the referenced XML element.
GetUri

Gets the URI of the referenced XML element.
GetXml

Gets the XML markup of an application-specific Object element.
IsRelationshipsPartUri

Returns a value that indicates whether the current part URI object represents the part name of a Relationships part.
MoveNext

Moves the current position of the enumerator to the next CERT_CONTEXT structure.
MoveNext

Moves the current position of the enumerator to the next IOpcDigitalSignature interface pointer.
MoveNext

Moves the current position of the enumerator to the next IOpcPart interface pointer.
MoveNext

Moves the current position of the enumerator to the next IOpcRelationship interface pointer.
MoveNext

Moves the current position of the enumerator to the next IOpcRelationshipSelectorinterface pointer.
MoveNext

Moves the current position of the enumerator to the next IOpcSignatureCustomObject interface pointer.
MoveNext

Moves the current position of the enumerator to the next IOpcSignaturePartReference interface pointer.
MoveNext

Moves the current position of the enumerator to the next IOpcSignatureReference interface pointer.
MoveNext

Moves the current position of the enumerator to the next IOpcSignatureRelationshipReference interface pointer.
MovePrevious

Moves the current position of the enumerator to the previous CERT_CONTEXT structure.
MovePrevious

Moves the current position of the enumerator to the previous IOpcDigitalSignature interface pointer.
MovePrevious

Moves the current position of the enumerator to the previous IOpcPart interface pointer.
MovePrevious

Moves the current position of the enumerator to the previous IOpcRelationship interface pointer.
MovePrevious

Moves the current position of the enumerator to the previous IOpcRelationshipSelectorinterface pointer.
MovePrevious

Moves the current position of the enumerator to the previous IOpcSignatureCustomObjectinterface pointer.
MovePrevious

Moves the current position of the enumerator to the previous IOpcSignaturePartReference interface pointer.
MovePrevious

Moves the current position of the enumerator to the previous IOpcSignatureReferenceinterface pointer.
MovePrevious

Moves the current position of the enumerator to the previous IOpcSignatureRelationshipReference interface pointer.
PartExists

Gets a value that indicates whether a specified part is represented as a part object in the set.
ReadPackageFromStream

Deserializes package data from a stream and creates a package object to represent the package being read.
RelationshipExists

Gets a value that indicates whether a specified relationship is represented as a relationship object in the set.
Remove

Removes a specified certificate from the set.
RemoveSignature

Removes from the package a specified signature part that stores signature markup.
ReplaceSignatureXml

Replaces the existing signature markup that is stored in a specified signature part.
SetCertificateEmbeddingOption

Set the storage location of the certificate to be used for the signature.
SetDefaultDigestMethod

Sets the default digest method that will be used to compute digest values for objects to be signed.
SetSignatureId

Sets the value of the Id attribute of the Signature element. (IOpcSigningOptions.SetSignatureId)
SetSignatureMethod

Sets the signature method to use to calculate and encrypt the hash value of the SignedInfo element, which will be contained in the SignatureValue element of the signature.
SetSignatureOriginPartName

Sets the part name of the Digital Signature Origin part to the name represented by a specified IOpcPartUri interface pointer.
SetSignaturePartName

Sets the part name of the signature part where the signature markup will be stored.
SetTimeFormat

Sets the format of the string retrieved by the IOpcDigitalSignature::GetSigningTime method.
Sign

Signs the package by generating a signature by using the specified certificate and IOpcSigningOptions interface pointer.
Validate

Validates a specified package signature using a specified certificate.
WritePackageToStream

Serializes a package that is represented by a package object.

Interfaces

 
IOpcCertificateEnumerator

A read-only enumerator of pointers to CERT_CONTEXT structures.
IOpcCertificateSet

An unordered set of certificates to be used with a signature.
IOpcDigitalSignature

Represents a package digital signature.
IOpcDigitalSignatureEnumerator

A read-only enumerator of IOpcDigitalSignature interface pointers.
IOpcDigitalSignatureManager

Provides access to Packaging Digital Signature Interfaces for a package that is represented by Packaging API objects.
IOpcFactory

Creates Packaging API objects and provides support for saving and loading packages.
IOpcPackage

Represents a package and provides methods to access the package's parts and relationships.
IOpcPart

Represents a part that contains data and is not a Relationships part.
IOpcPartEnumerator

A read-only enumerator of IOpcPart interface pointers.
IOpcPartSet

An unordered set of IOpcPart interface pointers to part objects that represent the parts in a package that are not Relationships parts.
IOpcPartUri

Represents the part name of a part.
IOpcRelationship

Represents a relationship, which is a link between a source, which is a part or the package, and a target.
IOpcRelationshipEnumerator

A read-only enumerator of IOpcRelationship interface pointers.
IOpcRelationshipSelector

Represents how to select, from a Relationships part, the relationships to be referenced for signing.
IOpcRelationshipSelectorEnumerator

A read-only enumerator of IOpcRelationshipSelector interface pointers.
IOpcRelationshipSelectorSet

An unordered set of IOpcRelationshipSelector interface pointers that represent the selection criteria that is used to identify relationships for signing.
IOpcRelationshipSet

Represents a Relationships part as an unordered set of IOpcRelationship interface pointers to relationship objects.
IOpcSignatureCustomObject

Represents an application-specific Object element that has been or will be signed.
IOpcSignatureCustomObjectEnumerator

A read-only enumerator of IOpcSignatureCustomObject interface pointers.
IOpcSignatureCustomObjectSet

An unordered set of IOpcSignatureCustomObject interface pointers that contain the XML markup of application-specific Object elements.
IOpcSignaturePartReference

Represents a reference to a part that has been or will be signed.
IOpcSignaturePartReferenceEnumerator

A read-only enumerator of IOpcSignaturePartReference interface pointers.
IOpcSignaturePartReferenceSet

An unordered set of IOpcSignaturePartReference interface pointers that represent references to parts to be signed.
IOpcSignatureReference

Represents a reference to XML markup that has been or will be signed.
IOpcSignatureReferenceEnumerator

A read-only enumerator of IOpcSignatureReference interface pointers.
IOpcSignatureReferenceSet

An unordered set of IOpcSignatureReference interface pointers that represent references to XML elements to be signed.
IOpcSignatureRelationshipReference

Represents a reference to a Relationships part that contains relationships that have been or will be signed.
IOpcSignatureRelationshipReferenceEnumerator

A read-only enumerator of IOpcSignatureRelationshipReference interface pointers.
IOpcSignatureRelationshipReferenceSet

An unordered set of IOpcSignatureRelationshipReference interface pointers that represent references to Relationships parts that contain relationships to be signed.
IOpcSigningOptions

Provides methods to set and access information required to generate a signature.
IOpcUri

Represents the URI of the package root or of a part that is relative to the package root.