mirror of https://github.com/dahall/Vanara.git
2272 lines
127 KiB
C#
2272 lines
127 KiB
C#
using System;
|
||
using System.Runtime.CompilerServices;
|
||
using System.Runtime.InteropServices;
|
||
using Vanara.InteropServices;
|
||
using static Vanara.PInvoke.Ole32;
|
||
using static Vanara.PInvoke.Opc;
|
||
using XPS_RECT = System.Drawing.RectangleF;
|
||
using XPS_SIZE = System.Drawing.SizeF;
|
||
|
||
namespace Vanara.PInvoke
|
||
{
|
||
public static partial class XpsObjectModel
|
||
{
|
||
/// <summary>
|
||
/// <para>This interface provides access to the metadata that is stored in the Core Properties part of the XPS document.</para>
|
||
/// <para>
|
||
/// The contents of the Core Properties part are described in the 1st edition, Part 2, "Open Packaging Conventions," of Standard
|
||
/// ECMA-376, Office Open XML File Formats.
|
||
/// </para>
|
||
/// </summary>
|
||
/// <remarks>The meaning and use of these properties is determined by the user or context.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nn-xpsobjectmodel-ixpsomcoreproperties
|
||
[PInvokeData("xpsobjectmodel.h", MSDNShortId = "705ec9c7-5aa9-4fc5-ad2c-441cb545d056")]
|
||
[ComImport, Guid("3340FE8F-4027-4AA1-8F5F-D35AE45FE597"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||
public interface IXpsOMCoreProperties : IXpsOMPart
|
||
{
|
||
/// <summary>Gets the name that will be used when the part is serialized.</summary>
|
||
/// <returns>
|
||
/// A pointer to the IOpcPartUri interface that contains the part name. If the part name has not been set (by the SetPartName
|
||
/// method), a <c>NULL</c> pointer is returned.
|
||
/// </returns>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompart-getpartname HRESULT
|
||
// GetPartName( IOpcPartUri **partUri );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
[return: MarshalAs(UnmanagedType.Interface)]
|
||
new IOpcPartUri GetPartName();
|
||
|
||
/// <summary>Sets the name that will be used when the part is serialized.</summary>
|
||
/// <param name="partUri">
|
||
/// A pointer to the IOpcPartUri interface that contains the name of this part. This parameter cannot be <c>NULL</c>.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// IXpsOMPackageWriter will generate an error if it encounters an XPS document part whose name is the same as that of a part it
|
||
/// has previously serialized.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompart-setpartname HRESULT
|
||
// SetPartName( IOpcPartUri *partUri );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
new void SetPartName([In] IOpcPartUri partUri);
|
||
|
||
/// <summary>Gets a pointer to the IXpsOMPackage interface that contains the core properties.</summary>
|
||
/// <returns>
|
||
/// A pointer to the IXpsOMPackage interface that contains the core properties. If the interface does not belong to a package, a
|
||
/// <c>NULL</c> pointer is returned.
|
||
/// </returns>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-getowner HRESULT
|
||
// GetOwner( IXpsOMPackage **package );
|
||
IXpsOMPackage GetOwner();
|
||
|
||
/// <summary>Gets the <c>category</c> property.</summary>
|
||
/// <returns>The string that is read from the <c>category</c> property.</returns>
|
||
/// <remarks>
|
||
/// <para>The <c>category</c> property contains categorization of the content.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-getcategory HRESULT
|
||
// GetCategory( LPWSTR *category );
|
||
SafeCoTaskMemString GetCategory();
|
||
|
||
/// <summary>Sets the <c>category</c> property.</summary>
|
||
/// <param name="category">
|
||
/// The string to be written to the <c>category</c> property. A <c>NULL</c> pointer clears the <c>category</c> property.
|
||
/// </param>
|
||
/// <remarks>The <c>category</c> property contains a categorization of the content.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-setcategory HRESULT
|
||
// SetCategory( LPCWSTR category );
|
||
void SetCategory([In, MarshalAs(UnmanagedType.LPWStr)] string category);
|
||
|
||
/// <summary>Gets the <c>contentStatus</c> property.</summary>
|
||
/// <returns>The string that is read from the <c>contentStatus</c> property.</returns>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// The <c>contentStatus</c> property stores the content's status. Examples of <c>contentStatus</c> values include <c>Draft</c>,
|
||
/// <c>Reviewed</c>, and <c>Final</c>.
|
||
/// </para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-getcontentstatus
|
||
// HRESULT GetContentStatus( LPWSTR *contentStatus );
|
||
SafeCoTaskMemString GetContentStatus();
|
||
|
||
/// <summary>Sets the <c>contentStatus</c> property.</summary>
|
||
/// <param name="contentStatus">
|
||
/// The string to be written to the <c>contentStatus</c> property. A <c>NULL</c> pointer clears the <c>contentStatus</c> property.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// The <c>contentStatus</c> property contains the status of the content. Examples of <c>contentStatus</c> values include
|
||
/// <c>Draft</c>, <c>Reviewed</c>, and <c>Final</c>.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-setcontentstatus
|
||
// HRESULT SetContentStatus( LPCWSTR contentStatus );
|
||
void SetContentStatus([In, MarshalAs(UnmanagedType.LPWStr)] string contentStatus);
|
||
|
||
/// <summary>Gets the <c>contentType</c> property.</summary>
|
||
/// <returns>The string that is read from the <c>contentType</c> property.</returns>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// The <c>contentType</c> property stores the type of content that is being represented, and it is generally defined by a
|
||
/// specific use and intended audience. Examples of <c>contentType</c> values include <c>Whitepaper</c>, <c>Security
|
||
/// Bulletin</c>, and <c>Exam</c>.
|
||
/// </para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-getcontenttype
|
||
// HRESULT GetContentType( LPWSTR *contentType );
|
||
SafeCoTaskMemString GetContentType();
|
||
|
||
/// <summary>Sets the <c>contentType</c> property.</summary>
|
||
/// <param name="contentType">
|
||
/// The string to be written to the <c>contentType</c> property. A <c>NULL</c> pointer clears the <c>contentType</c> property.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// The <c>contentType</c> property contains the type of content that is being represented, which is generally defined by a
|
||
/// specific use and intended audience. Examples of <c>contentType</c> values include <c>Whitepaper</c>, <c>Security
|
||
/// Bulletin</c>, and <c>Exam</c>.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-setcontenttype
|
||
// HRESULT SetContentType( LPCWSTR contentType );
|
||
void SetContentType([In, MarshalAs(UnmanagedType.LPWStr)] string contentType);
|
||
|
||
/// <summary>Gets the <c>created</c> property.</summary>
|
||
/// <returns>The date and time that are read from the <c>created</c> property.</returns>
|
||
/// <remarks>The <c>created</c> property contains the date and time the package was created.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-getcreated HRESULT
|
||
// GetCreated( SYSTEMTIME *created );
|
||
SYSTEMTIME GetCreated();
|
||
|
||
/// <summary>Sets the <c>created</c> property.</summary>
|
||
/// <param name="created">The date and time the package was created. A <c>NULL</c> pointer clears the <c>created</c> property</param>
|
||
/// <remarks>The <c>created</c> property contains the date and time the package was created.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-setcreated HRESULT
|
||
// SetCreated( const SYSTEMTIME *created );
|
||
void SetCreated(in SYSTEMTIME created);
|
||
|
||
/// <summary>Gets the <c>creator</c> property.</summary>
|
||
/// <returns>The string that is read from the <c>creator</c> property.</returns>
|
||
/// <remarks>
|
||
/// <para>The <c>creator</c> property describes the entity that is primarily responsible for making the content of the resource.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-getcreator HRESULT
|
||
// GetCreator( LPWSTR *creator );
|
||
SafeCoTaskMemString GetCreator();
|
||
|
||
/// <summary>Sets the <c>creator</c> property.</summary>
|
||
/// <param name="creator">
|
||
/// The string to be written to the <c>creator</c> property. A <c>NULL</c> pointer clears the <c>creator</c> property.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// The <c>creator</c> property describes the entity that is primarily responsible for making the content of the resource.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-setcreator HRESULT
|
||
// SetCreator( LPCWSTR creator );
|
||
void SetCreator([In, MarshalAs(UnmanagedType.LPWStr)] string creator);
|
||
|
||
/// <summary>Gets the <c>description</c> property.</summary>
|
||
/// <returns>The string that is read from the <c>description</c> property.</returns>
|
||
/// <remarks>
|
||
/// <para>The <c>description</c> property provides an explanation of the content.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-getdescription
|
||
// HRESULT GetDescription( LPWSTR *description );
|
||
SafeCoTaskMemString GetDescription();
|
||
|
||
/// <summary>Sets the <c>description</c> property.</summary>
|
||
/// <param name="description">
|
||
/// The string to be written to the <c>description</c> property. A <c>NULL</c> pointer clears this property.
|
||
/// </param>
|
||
/// <remarks>The <c>description</c> property explains the content.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-setdescription
|
||
// HRESULT SetDescription( LPCWSTR description );
|
||
void SetDescription([In, MarshalAs(UnmanagedType.LPWStr)] string description);
|
||
|
||
/// <summary>Gets the <c>identifier</c> property.</summary>
|
||
/// <returns>The string that is read from the <c>identifier</c> property.</returns>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// The <c>identifier</c> property is an unambiguous reference to the resource within a user-defined or application-specific context.
|
||
/// </para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-getidentifier
|
||
// HRESULT GetIdentifier( LPWSTR *identifier );
|
||
SafeCoTaskMemString GetIdentifier();
|
||
|
||
/// <summary>Sets the <c>identifier</c> property.</summary>
|
||
/// <param name="identifier">
|
||
/// The string to be written to the <c>identifier</c> property. A <c>NULL</c> pointer clears the <c>identifier</c> property.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// The <c>identifier</c> property is an unambiguous reference to the resource within a user-defined or application-specific context.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-setidentifier
|
||
// HRESULT SetIdentifier( LPCWSTR identifier );
|
||
void SetIdentifier([In, MarshalAs(UnmanagedType.LPWStr)] string identifier);
|
||
|
||
/// <summary>Gets the <c>keywords</c> property.</summary>
|
||
/// <returns>The string that is read from the <c>keywords</c> property.</returns>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// The <c>keywords</c> property is a delimited set of keywords that are used to support searching and indexing. This is
|
||
/// typically a list of terms that are not available in other properties.
|
||
/// </para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-getkeywords HRESULT
|
||
// GetKeywords( LPWSTR *keywords );
|
||
SafeCoTaskMemString GetKeywords();
|
||
|
||
/// <summary>Sets the <c>keywords</c> property.</summary>
|
||
/// <param name="keywords">
|
||
/// The string that contains the keywords to be written to the <c>keywords</c> property. A <c>NULL</c> pointer clears the
|
||
/// <c>keywords</c> property.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// The <c>keywords</c> property is a delimited set of keywords that are used to support searching and indexing. It is typically
|
||
/// a list of terms that are not available elsewhere in the properties.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-setkeywords HRESULT
|
||
// SetKeywords( LPCWSTR keywords );
|
||
void SetKeywords([In, MarshalAs(UnmanagedType.LPWStr)] string keywords);
|
||
|
||
/// <summary>Gets the <c>language</c> property.</summary>
|
||
/// <returns>The value that is read from the <c>language</c> property.</returns>
|
||
/// <remarks>
|
||
/// <para>The <c>language</c> property describes the language of the resource's intellectual content.</para>
|
||
/// <para>Internet Engineering Task Force (IETF) RFC 3066 describes the recommended encoding for this property.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-getlanguage HRESULT
|
||
// GetLanguage( LPWSTR *language );
|
||
SafeCoTaskMemString GetLanguage();
|
||
|
||
/// <summary>Sets the <c>language</c> property.</summary>
|
||
/// <param name="language">
|
||
/// The string that contains the language value to be written to the <c>language</c> property. A <c>NULL</c> pointer clears the
|
||
/// <c>language</c> property.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// <para>The <c>language</c> property describes the language of the resource's intellectual content.</para>
|
||
/// <para>Internet Engineering Task Force (IETF) RFC 3066 describes the recommended encoding for this property.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-setlanguage HRESULT
|
||
// SetLanguage( LPCWSTR language );
|
||
void SetLanguage([In, MarshalAs(UnmanagedType.LPWStr)] string language);
|
||
|
||
/// <summary>Gets the <c>lastModifiedBy</c> property.</summary>
|
||
/// <returns>The value that is read from the <c>lastModifiedBy</c> property.</returns>
|
||
/// <remarks>
|
||
/// <para>The <c>lastModifiedBy</c> property describes the user who performed the last modification.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-getlastmodifiedby
|
||
// HRESULT GetLastModifiedBy( LPWSTR *lastModifiedBy );
|
||
SafeCoTaskMemString GetLastModifiedBy();
|
||
|
||
/// <summary>Sets the <c>lastModifiedBy</c> property.</summary>
|
||
/// <param name="lastModifiedBy">
|
||
/// The string that contains the value to be written to the <c>lastModifiedBy</c> property. A <c>NULL</c> pointer clears the
|
||
/// <c>lastModifiedBy</c> property.
|
||
/// </param>
|
||
/// <remarks>The <c>lastModifiedBy</c> property describes the user who performs the last modification.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-setlastmodifiedby
|
||
// HRESULT SetLastModifiedBy( LPCWSTR lastModifiedBy );
|
||
void SetLastModifiedBy([In, MarshalAs(UnmanagedType.LPWStr)] string lastModifiedBy);
|
||
|
||
/// <summary>Gets the <c>lastPrinted</c> property.</summary>
|
||
/// <returns>The date and time that are read from the <c>lastPrinted</c> property.</returns>
|
||
/// <remarks>The <c>lastPrinted</c> property contains the date and time the package was last printed.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-getlastprinted
|
||
// HRESULT GetLastPrinted( SYSTEMTIME *lastPrinted );
|
||
SYSTEMTIME GetLastPrinted();
|
||
|
||
/// <summary>Sets the <c>lastPrinted</c> property.</summary>
|
||
/// <param name="lastPrinted">
|
||
/// The date and time the package was last printed. A <c>NULL</c> pointer clears the <c>lastPrinted</c> property.
|
||
/// </param>
|
||
/// <remarks>The <c>lastPrinted</c> property contains the date and time the package was last printed.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-setlastprinted
|
||
// HRESULT SetLastPrinted( const SYSTEMTIME *lastPrinted );
|
||
void SetLastPrinted(in SYSTEMTIME lastPrinted);
|
||
|
||
/// <summary>Gets the <c>modified</c> property.</summary>
|
||
/// <returns>The date and time that are read from the <c>modified</c> property.</returns>
|
||
/// <remarks>The <c>modified</c> property contains the date and time the package was last modified.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-getmodified HRESULT
|
||
// GetModified( SYSTEMTIME *modified );
|
||
SYSTEMTIME GetModified();
|
||
|
||
/// <summary>Sets the <c>modified</c> property.</summary>
|
||
/// <param name="modified">
|
||
/// The date and time the package was last changed. A <c>NULL</c> pointer clears the <c>modified</c> property.
|
||
/// </param>
|
||
/// <remarks>The <c>modified</c> property contains the date and time the package was last changed.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-setmodified HRESULT
|
||
// SetModified( const SYSTEMTIME *modified );
|
||
void SetModified(in SYSTEMTIME modified);
|
||
|
||
/// <summary>Gets the <c>revision</c> property.</summary>
|
||
/// <returns>The string that is read from the <c>revision</c> property.</returns>
|
||
/// <remarks>
|
||
/// <para>The <c>revision</c> property contains the resource's revision number.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-getrevision HRESULT
|
||
// GetRevision( LPWSTR *revision );
|
||
SafeCoTaskMemString GetRevision();
|
||
|
||
/// <summary>Sets the <c>revision</c> property.</summary>
|
||
/// <param name="revision">
|
||
/// The string to be written to the <c>revision</c> property. A <c>NULL</c> pointer clears the <c>revision</c> property.
|
||
/// </param>
|
||
/// <remarks>The <c>revision</c> property contains the revision number of the resource.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-setrevision HRESULT
|
||
// SetRevision( LPCWSTR revision );
|
||
void SetRevision([In, MarshalAs(UnmanagedType.LPWStr)] string revision);
|
||
|
||
/// <summary>Gets the <c>subject</c> property.</summary>
|
||
/// <returns>The string that is read from the <c>subject</c> property.</returns>
|
||
/// <remarks>The <c>subject</c> property contains the topic of the resource's content.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-getsubject HRESULT
|
||
// GetSubject( LPWSTR *subject );
|
||
SafeCoTaskMemString GetSubject();
|
||
|
||
/// <summary>Sets the <c>subject</c> property.</summary>
|
||
/// <param name="subject">
|
||
/// The string to be written to the <c>subject</c> property. A <c>NULL</c> pointer clears the <c>subject</c> property.
|
||
/// </param>
|
||
/// <remarks>The <c>subject</c> property contains the topic of the resource content.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-setsubject HRESULT
|
||
// SetSubject( LPCWSTR subject );
|
||
void SetSubject([In, MarshalAs(UnmanagedType.LPWStr)] string subject);
|
||
|
||
/// <summary>Gets the <c>title</c> property.</summary>
|
||
/// <returns>The string that is read from the <c>title</c> property.</returns>
|
||
/// <remarks>The <c>title</c> property contains the resource's name.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-gettitle HRESULT
|
||
// GetTitle( LPWSTR *title );
|
||
SafeCoTaskMemString GetTitle();
|
||
|
||
/// <summary>Sets the <c>title</c> property.</summary>
|
||
/// <param name="title">
|
||
/// The string to be written to the <c>title</c> property. A <c>NULL</c> pointer clears the <c>title</c> property.
|
||
/// </param>
|
||
/// <remarks>The <c>title</c> property contains the name given to the resource.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-settitle HRESULT
|
||
// SetTitle( LPCWSTR title );
|
||
void SetTitle([In, MarshalAs(UnmanagedType.LPWStr)] string title);
|
||
|
||
/// <summary>Gets the <c>version</c> property.</summary>
|
||
/// <returns>The string that is read from the <c>version</c> property.</returns>
|
||
/// <remarks>The <c>version</c> property contains the resource's version number.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-getversion HRESULT
|
||
// GetVersion( LPWSTR *version );
|
||
SafeCoTaskMemString GetVersion();
|
||
|
||
/// <summary>Sets the <c>version</c> property.</summary>
|
||
/// <param name="version">
|
||
/// The string to be written to the <c>version</c> property. A <c>NULL</c> pointer clears the <c>version</c> property.
|
||
/// </param>
|
||
/// <remarks>The <c>version</c> property contains the version number of the resource.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-setversion HRESULT
|
||
// SetVersion( LPCWSTR version );
|
||
void SetVersion([In, MarshalAs(UnmanagedType.LPWStr)] string version);
|
||
|
||
/// <summary>Makes a deep copy of the interface.</summary>
|
||
/// <returns>A pointer to the copy of the interface.</returns>
|
||
/// <remarks>The owner of the interface returned in coreProperties is <c>NULL</c>.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomcoreproperties-clone HRESULT Clone(
|
||
// IXpsOMCoreProperties **coreProperties );
|
||
IXpsOMCoreProperties Clone();
|
||
}
|
||
|
||
/// <summary>An ordered sequence of fixed pages and document-level resources that make up the document.</summary>
|
||
/// <remarks>The code example that follows illustrates how to create an instance of this interface.</remarks>
|
||
/// <seealso cref="Vanara.PInvoke.XpsObjectModel.IXpsOMPart"/>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nn-xpsobjectmodel-ixpsomdocument
|
||
[PInvokeData("xpsobjectmodel.h", MSDNShortId = "22d3c0a1-3ad5-4f48-9e1e-eaf3bd95b39f")]
|
||
[ComImport, Guid("2C2C94CB-AC5F-4254-8EE9-23948309D9F0"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||
public interface IXpsOMDocument : IXpsOMPart
|
||
{
|
||
/// <summary>Gets the name that will be used when the part is serialized.</summary>
|
||
/// <returns>
|
||
/// A pointer to the IOpcPartUri interface that contains the part name. If the part name has not been set (by the SetPartName
|
||
/// method), a <c>NULL</c> pointer is returned.
|
||
/// </returns>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompart-getpartname HRESULT
|
||
// GetPartName( IOpcPartUri **partUri );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
[return: MarshalAs(UnmanagedType.Interface)]
|
||
new IOpcPartUri GetPartName();
|
||
|
||
/// <summary>Sets the name that will be used when the part is serialized.</summary>
|
||
/// <param name="partUri">
|
||
/// A pointer to the IOpcPartUri interface that contains the name of this part. This parameter cannot be <c>NULL</c>.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// IXpsOMPackageWriter will generate an error if it encounters an XPS document part whose name is the same as that of a part it
|
||
/// has previously serialized.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompart-setpartname HRESULT
|
||
// SetPartName( IOpcPartUri *partUri );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
new void SetPartName([In] IOpcPartUri partUri);
|
||
|
||
/// <summary>Gets a pointer to the IXpsOMDocumentSequence interface that contains the document.</summary>
|
||
/// <returns>
|
||
/// A pointer to the IXpsOMDocumentSequence interface that contains the document. If the document does not belong to a document
|
||
/// sequence, a <c>NULL</c> pointer is returned.
|
||
/// </returns>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomdocument-getowner HRESULT GetOwner(
|
||
// IXpsOMDocumentSequence **documentSequence );
|
||
IXpsOMDocumentSequence GetOwner();
|
||
|
||
/// <summary>Gets the IXpsOMPageReferenceCollection interface of the document, which allows virtualized access to its pages.</summary>
|
||
/// <returns>
|
||
/// A pointer to the IXpsOMPageReferenceCollection interface that contains a collection of page references for each page of the
|
||
/// document. If there are no page references, the <c>IXpsOMPageReferenceCollection</c> returned in pageReferences will be empty
|
||
/// and will have no elements.
|
||
/// </returns>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// To get the pages of a document, first get the list of IXpsOMPageReference interfaces by calling <c>GetPageReferences</c>.
|
||
/// Then, for each <c>IXpsOMPageReference</c> interface, load a page by calling GetPage.
|
||
/// </para>
|
||
/// <para>
|
||
/// If the document does not have any pages, the page reference collection returned in pageReferences will be empty. To get the
|
||
/// number of page references in the collection, call its GetCount method.
|
||
/// </para>
|
||
/// <para>For an example of how this method can be used in a program, see Navigate the XPS OM.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomdocument-getpagereferences HRESULT
|
||
// GetPageReferences( IXpsOMPageReferenceCollection **pageReferences );
|
||
IXpsOMPageReferenceCollection GetPageReferences();
|
||
|
||
/// <summary>Gets the IXpsOMPrintTicketResource interface of the document-level print ticket.</summary>
|
||
/// <returns>
|
||
/// A pointer to the IXpsOMPrintTicketResource interface of the document-level print ticket that is associated with the
|
||
/// document. If no print ticket has been assigned, a <c>NULL</c> pointer will be returned.
|
||
/// </returns>
|
||
/// <remarks>
|
||
/// After loading and parsing the resource into the XPS OM, this method might return an error that applies to another resource.
|
||
/// This occurs because all of the relationships are parsed when a resource is loaded.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomdocument-getprintticketresource
|
||
// HRESULT GetPrintTicketResource( IXpsOMPrintTicketResource **printTicketResource );
|
||
IXpsOMPrintTicketResource GetPrintTicketResource();
|
||
|
||
/// <summary>Sets the IXpsOMPrintTicketResource interface for the document-level print ticket.</summary>
|
||
/// <returns>
|
||
/// A pointer to the IXpsOMPrintTicketResource interface for the document-level print ticket to be assigned to the document. A
|
||
/// <c>NULL</c> pointer releases any previously assigned print ticket resource.
|
||
/// </returns>
|
||
/// <remarks>
|
||
/// If the document contains an IXpsOMPrintTicketResource interface when this method is called, that interface is released
|
||
/// before the new <c>IXpsOMPrintTicketResource</c> interface, passed in printTicketResource, is set.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomdocument-setprintticketresource
|
||
// HRESULT SetPrintTicketResource( IXpsOMPrintTicketResource *printTicketResource );
|
||
void SetPrintTicketResource([In] IXpsOMPrintTicketResource printTicketResource);
|
||
|
||
/// <summary>
|
||
/// Gets a pointer to the IXpsOMDocumentStructureResource interface of the resource that contains structural information about
|
||
/// the document.
|
||
/// </summary>
|
||
/// <remarks>
|
||
/// After loading and parsing the resource into the XPS OM, this method might return an error that applies to another resource.
|
||
/// This occurs because all of the relationships are parsed when a resource is loaded.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomdocument-getdocumentstructureresource
|
||
// HRESULT GetDocumentStructureResource( IXpsOMDocumentStructureResource **documentStructureResource );
|
||
IXpsOMDocumentStructureResource GetDocumentStructureResource();
|
||
|
||
/// <summary>Sets the IXpsOMDocumentStructureResource interface for the document.</summary>
|
||
/// <remarks>
|
||
/// If the document contains an IXpsOMDocumentStructureResource interface when this method is called, that interface is released
|
||
/// before the new <c>IXpsOMDocumentStructureResource</c> interface, which is passed in documentStructureResource, is set.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomdocument-setdocumentstructureresource
|
||
// HRESULT SetDocumentStructureResource( IXpsOMDocumentStructureResource *documentStructureResource );
|
||
void SetDocumentStructureResource([In] IXpsOMDocumentStructureResource documentStructureResource);
|
||
|
||
/// <summary>
|
||
/// Gets a pointer to the IXpsOMSignatureBlockResourceCollection interface, which refers to a collection of the document's
|
||
/// digital signature block resources.
|
||
/// </summary>
|
||
/// <returns>
|
||
/// A pointer to the IXpsOMSignatureBlockResourceCollection interface, which refers to a collection of the document's digital
|
||
/// signature block resources. If the document does not contain any signature block resources, the
|
||
/// <c>IXpsOMSignatureBlockResourceCollection</c> interface will be empty.
|
||
/// </returns>
|
||
/// <remarks>
|
||
/// After loading and parsing the resource into the XPS OM, this method might return an error that applies to another resource.
|
||
/// This occurs because all of the relationships are parsed when a resource is loaded.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomdocument-getsignatureblockresources
|
||
// HRESULT GetSignatureBlockResources( IXpsOMSignatureBlockResourceCollection **signatureBlockResources );
|
||
IXpsOMSignatureBlockResourceCollection GetSignatureBlockResources();
|
||
|
||
/// <summary>Makes a deep copy of the interface.</summary>
|
||
/// <returns>A pointer to the copy of the interface.</returns>
|
||
/// <remarks>This method does not update any of the resource pointers in the copy.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomdocument-clone HRESULT Clone(
|
||
// IXpsOMDocument **document );
|
||
IXpsOMDocument Clone();
|
||
}
|
||
|
||
/// <summary>A collection of IXpsOMDocument interface pointers.</summary>
|
||
/// <remarks>For more information about the collection methods, see Working with XPS OM Collection Interfaces.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nn-xpsobjectmodel-ixpsomdocumentcollection
|
||
[PInvokeData("xpsobjectmodel.h", MSDNShortId = "4f3acae9-10a0-47ff-9170-a40abe230580")]
|
||
[ComImport, Guid("D1C87F0D-E947-4754-8A25-971478F7E83E"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||
public interface IXpsOMDocumentCollection
|
||
{
|
||
/// <summary>Gets the number of IXpsOMDocument interface pointers in the collection.</summary>
|
||
/// <returns>The number of IXpsOMDocument interface pointers in the collection.</returns>
|
||
/// <remarks>For more information about the collection methods, see Working with XPS OM Collection Interfaces.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomdocumentcollection-getcount HRESULT
|
||
// GetCount( UINT32 *count );
|
||
uint GetCount();
|
||
|
||
/// <summary>Gets an IXpsOMDocument interface pointer from a specified location in the collection.</summary>
|
||
/// <returns>The zero-based index of the IXpsOMDocument interface pointer to be obtained.</returns>
|
||
/// <remarks>For more information about the collection methods, see Working with XPS OM Collection Interfaces.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomdocumentcollection-getat HRESULT
|
||
// GetAt( UINT32 index, IXpsOMDocument **document );
|
||
IXpsOMDocument GetAt([In] uint index);
|
||
|
||
/// <summary>Inserts an IXpsOMDocument interface pointer at a specified location in the collection.</summary>
|
||
/// <param name="index">
|
||
/// The zero-based index of the collection where the interface pointer that is passed in document is to be inserted.
|
||
/// </param>
|
||
/// <param name="document">The IXpsOMDocument interface pointer that is to be inserted at the location specified by index.</param>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// At the location specified by index, this method inserts the IXpsOMDocument interface pointer that is passed in document.
|
||
/// Prior to the insertion, the pointer in this and all subsequent locations is moved up by one index.
|
||
/// </para>
|
||
/// <para>For more information about the collection methods, see Working with XPS OM Collection Interfaces.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomdocumentcollection-insertat HRESULT
|
||
// InsertAt( UINT32 index, IXpsOMDocument *document );
|
||
void InsertAt([In] uint index, [In] IXpsOMDocument document);
|
||
|
||
/// <summary>Removes and releases an IXpsOMDocument interface pointer from a specified location in the collection.</summary>
|
||
/// <param name="index">
|
||
/// The zero-based index in the collection from which an IXpsOMDocument interface pointer is to be removed and released.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// This method releases the interface referenced by the pointer at the location specified by index. After releasing the
|
||
/// interface, this method compacts the collection by reducing by 1 the index of each pointer subsequent to index.
|
||
/// </para>
|
||
/// <para>For more information about the collection methods, see Working with XPS OM Collection Interfaces.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomdocumentcollection-removeat HRESULT
|
||
// RemoveAt( UINT32 index );
|
||
void RemoveAt([In] uint index);
|
||
|
||
/// <summary>Replaces an IXpsOMDocument interface pointer at a specified location in the collection.</summary>
|
||
/// <param name="index">The zero-based index in the collection where an IXpsOMDocument interface pointer is to be replaced.</param>
|
||
/// <param name="document">
|
||
/// The IXpsOMDocument interface pointer that will replace current contents at the location specified by index.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// At the location specified by index, this method releases the IXpsOMDocument interface referenced by the existing pointer,
|
||
/// then writes the pointer that is passed in document.
|
||
/// </para>
|
||
/// <para>For more information about the collection methods, see Working with XPS OM Collection Interfaces.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomdocumentcollection-setat HRESULT
|
||
// SetAt( UINT32 index, IXpsOMDocument *document );
|
||
void SetAt([In] uint index, [In] IXpsOMDocument document);
|
||
|
||
/// <summary>Appends an IXpsOMDocument interface to the end of the collection.</summary>
|
||
/// <param name="document">A pointer to the IXpsOMDocument interface that is to be appended to the collection.</param>
|
||
/// <remarks>For more information about the collection methods, see Working with XPS OM Collection Interfaces.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomdocumentcollection-append HRESULT
|
||
// Append( IXpsOMDocument *document );
|
||
void Append([In] IXpsOMDocument document);
|
||
}
|
||
|
||
/// <summary>The root object that has the XPS document content.</summary>
|
||
/// <remarks>The code example that follows illustrates how to create an instance of this interface.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nn-xpsobjectmodel-ixpsomdocumentsequence
|
||
[PInvokeData("xpsobjectmodel.h", MSDNShortId = "472095a4-ecd8-406a-97c2-1a34b4e5184a")]
|
||
[ComImport, Guid("56492EB4-D8D5-425E-8256-4C2B64AD0264"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||
public interface IXpsOMDocumentSequence : IXpsOMPart
|
||
{
|
||
/// <summary>Gets the name that will be used when the part is serialized.</summary>
|
||
/// <returns>
|
||
/// A pointer to the IOpcPartUri interface that contains the part name. If the part name has not been set (by the SetPartName
|
||
/// method), a <c>NULL</c> pointer is returned.
|
||
/// </returns>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompart-getpartname HRESULT
|
||
// GetPartName( IOpcPartUri **partUri );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
[return: MarshalAs(UnmanagedType.Interface)]
|
||
new IOpcPartUri GetPartName();
|
||
|
||
/// <summary>Sets the name that will be used when the part is serialized.</summary>
|
||
/// <param name="partUri">
|
||
/// A pointer to the IOpcPartUri interface that contains the name of this part. This parameter cannot be <c>NULL</c>.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// IXpsOMPackageWriter will generate an error if it encounters an XPS document part whose name is the same as that of a part it
|
||
/// has previously serialized.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompart-setpartname HRESULT
|
||
// SetPartName( IOpcPartUri *partUri );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
new void SetPartName([In] IOpcPartUri partUri);
|
||
|
||
/// <summary>Gets a pointer to the IXpsOMPackage interface that contains the document sequence.</summary>
|
||
/// <returns>
|
||
/// A pointer to the IXpsOMPackage interface that contains the document sequence. If the document sequence does not belong to a
|
||
/// package, a <c>NULL</c> pointer is returned.
|
||
/// </returns>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomdocumentsequence-getowner HRESULT
|
||
// GetOwner( IXpsOMPackage **package );
|
||
IXpsOMPackage GetOwner();
|
||
|
||
/// <summary>
|
||
/// Gets a pointer to the IXpsOMDocumentCollection interface, which contains the documents specified in the document sequence.
|
||
/// </summary>
|
||
/// <returns>
|
||
/// A pointer to the IXpsOMDocumentCollection interface, which contains the documents specified in the document sequence. If the
|
||
/// sequence does not have any documents, the <c>IXpsOMDocumentCollection</c> interface will be empty.
|
||
/// </returns>
|
||
/// <remarks>
|
||
/// If the document sequence does not have any documents, the document collection that is returned in documents will be empty.
|
||
/// To get the number of documents in the collection, call the collection's GetCount method.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomdocumentsequence-getdocuments
|
||
// HRESULT GetDocuments( IXpsOMDocumentCollection **documents );
|
||
IXpsOMDocumentCollection GetDocuments();
|
||
|
||
/// <summary>
|
||
/// Gets the IXpsOMPrintTicketResource interface to the job-level print ticket that is assigned to the document sequence.
|
||
/// </summary>
|
||
/// <returns>
|
||
/// A pointer to the IXpsOMPrintTicketResource interface of the job-level print ticket that is assigned to the document
|
||
/// sequence. If no <c>IXpsOMPrintTicketResource</c> interface has been assigned to the document sequence, a <c>NULL</c> pointer
|
||
/// is returned.
|
||
/// </returns>
|
||
/// <remarks>
|
||
/// After loading and parsing the resource into the XPS OM, this method might return an error that applies to another resource.
|
||
/// This occurs because all of the relationships are parsed when a resource is loaded.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomdocumentsequence-getprintticketresource
|
||
// HRESULT GetPrintTicketResource( IXpsOMPrintTicketResource **printTicketResource );
|
||
IXpsOMPrintTicketResource GetPrintTicketResource();
|
||
|
||
/// <summary>Sets the job-level print ticket resource for the document sequence.</summary>
|
||
/// <param name="printTicketResource">
|
||
/// A pointer to the IXpsOMPrintTicketResource interface of the job-level print ticket that will be set for the document
|
||
/// sequence. If the document sequence has a print ticket resource, a <c>NULL</c> pointer will release it.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// If the document contains an IXpsOMPrintTicketResource interface when this method is called, that interface is released
|
||
/// before the new <c>IXpsOMPrintTicketResource</c> interface, which is passed in printTicketResource, is set.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomdocumentsequence-setprintticketresource
|
||
// HRESULT SetPrintTicketResource( IXpsOMPrintTicketResource *printTicketResource );
|
||
void SetPrintTicketResource([In] IXpsOMPrintTicketResource printTicketResource);
|
||
}
|
||
|
||
/// <summary>
|
||
/// <para>Provides the top-level entry into the XPS object model tree.</para>
|
||
/// <para>
|
||
/// Although this interface does not correspond to any XPS markup, it does correspond to the XPS document, and it is required to
|
||
/// save the components of an XPS object model tree as an XPS document.
|
||
/// </para>
|
||
/// </summary>
|
||
/// <remarks>
|
||
/// <para>The code example that follows illustrates how to create an instance of this interface.</para>
|
||
/// <para>For information about using this interface in a program, see Create a Blank XPS OM.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nn-xpsobjectmodel-ixpsompackage
|
||
[PInvokeData("xpsobjectmodel.h", MSDNShortId = "7b0a36d6-1af1-4c2c-af14-d6139e9115c3")]
|
||
[ComImport, Guid("18C3DF65-81E1-4674-91DC-FC452F5A416F"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||
public interface IXpsOMPackage
|
||
{
|
||
/// <summary>Gets a pointer to the IXpsOMDocumentSequence interface that contains the document sequence of the XPS package.</summary>
|
||
/// <returns>
|
||
/// A pointer to the IXpsOMDocumentSequence interface that contains the document sequence of the XPS package. If an
|
||
/// <c>IXpsOMDocumentSequence</c> interface has not been set, a <c>NULL</c> pointer is returned.
|
||
/// </returns>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompackage-getdocumentsequence HRESULT
|
||
// GetDocumentSequence( IXpsOMDocumentSequence **documentSequence );
|
||
IXpsOMDocumentSequence GetDocumentSequence();
|
||
|
||
/// <summary>Sets the IXpsOMDocumentSequence interface of the XPS package.</summary>
|
||
/// <param name="documentSequence">
|
||
/// The IXpsOMDocumentSequence interface pointer to be assigned to the package. This parameter must not be <c>NULL</c>.
|
||
/// </param>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompackage-setdocumentsequence HRESULT
|
||
// SetDocumentSequence( IXpsOMDocumentSequence *documentSequence );
|
||
void SetDocumentSequence([In] IXpsOMDocumentSequence documentSequence);
|
||
|
||
/// <summary>Gets a pointer to the IXpsOMCoreProperties interface of the XPS package.</summary>
|
||
/// <returns>
|
||
/// A pointer to the IXpsOMCoreProperties interface of the XPS package. If an <c>IXpsOMCoreProperties</c> interface has not been
|
||
/// set, a <c>NULL</c> pointer is returned.
|
||
/// </returns>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompackage-getcoreproperties HRESULT
|
||
// GetCoreProperties( IXpsOMCoreProperties **coreProperties );
|
||
IXpsOMCoreProperties GetCoreProperties();
|
||
|
||
/// <summary>Sets the IXpsOMCoreProperties interface of the XPS package.</summary>
|
||
/// <param name="coreProperties">
|
||
/// The IXpsOMCoreProperties interface pointer to be assigned to the package. A <c>NULL</c> pointer releases any previously
|
||
/// assigned core properties interface.
|
||
/// </param>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompackage-setcoreproperties HRESULT
|
||
// SetCoreProperties( IXpsOMCoreProperties *coreProperties );
|
||
void SetCoreProperties([In] IXpsOMCoreProperties coreProperties);
|
||
|
||
/// <summary>Gets the name of the discard control part in the XPS package.</summary>
|
||
/// <returns>
|
||
/// A pointer to the IOpcPartUri interface that contains the name of the discard control part in the XPS package. If a discard
|
||
/// control part has not been set, a <c>NULL</c> pointer is returned.
|
||
/// </returns>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompackage-getdiscardcontrolpartname
|
||
// HRESULT GetDiscardControlPartName( IOpcPartUri **discardControlPartUri );
|
||
IOpcPartUri GetDiscardControlPartName();
|
||
|
||
/// <summary>Sets the name of the discard control part in the XPS package.</summary>
|
||
/// <param name="discardControlPartUri">
|
||
/// The IOpcPartUri interface that contains the name of the discard control part to be assigned to the XPS package. A
|
||
/// <c>NULL</c> pointer releases any previously assigned discard control part.
|
||
/// </param>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompackage-setdiscardcontrolpartname
|
||
// HRESULT SetDiscardControlPartName( IOpcPartUri *discardControlPartUri );
|
||
void SetDiscardControlPartName([In] IOpcPartUri discardControlPartUri);
|
||
|
||
/// <summary>
|
||
/// Gets a pointer to the IXpsOMImageResource interface of the thumbnail resource that is associated with the XPS package.
|
||
/// </summary>
|
||
/// <returns>
|
||
/// A pointer to the IXpsOMImageResource interface of the thumbnail resource that is associated with the XPS package. If the
|
||
/// package does not have a thumbnail resource, a <c>NULL</c> pointer is returned.
|
||
/// </returns>
|
||
/// <remarks>
|
||
/// After loading and parsing the resource into the XPS OM, this method might return an error that applies to another resource.
|
||
/// This occurs because all of the relationships are parsed when a resource is loaded.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompackage-getthumbnailresource
|
||
// HRESULT GetThumbnailResource( IXpsOMImageResource **imageResource );
|
||
IXpsOMImageResource GetThumbnailResource();
|
||
|
||
/// <summary>Sets the thumbnail image of the XPS document.</summary>
|
||
/// <param name="imageResource">
|
||
/// The IXpsOMImageResource interface that contains the thumbnail image that will be assigned to the package. A <c>NULL</c>
|
||
/// pointer releases any previously assigned thumbnail image resources.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// <para>The thumbnail image is a small, visual representation of the document's contents.</para>
|
||
/// <para>The image type of the image resource must be either XPS_IMAGE_TYPE_JPEG or <c>XPS_IMAGE_TYPE_PNG</c>.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompackage-setthumbnailresource
|
||
// HRESULT SetThumbnailResource( IXpsOMImageResource *imageResource );
|
||
void SetThumbnailResource([In] IXpsOMImageResource imageResource);
|
||
|
||
/// <summary>Writes the XPS package to a specified file.</summary>
|
||
/// <param name="fileName">The name of the file to be created. This parameter must not be <c>NULL</c>.</param>
|
||
/// <param name="securityAttributes">
|
||
/// <para>The SECURITY_ATTRIBUTES structure, which contains two distinct but related data members:</para>
|
||
/// <list type="bullet">
|
||
/// <item>
|
||
/// <term><c>lpSecurityDescriptor</c>: an optional security descriptor</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term><c>bInheritHandle</c>: a Boolean value that determines whether the returned handle can be inherited by child processes</term>
|
||
/// </item>
|
||
/// </list>
|
||
/// <para>If</para>
|
||
/// <para>lpSecurityDescriptor</para>
|
||
/// <para>is</para>
|
||
/// <para>NULL</para>
|
||
/// <para>, the file or device that is associated with the returned handle will be assigned a default security descriptor.</para>
|
||
/// <para>For more information about the securityAttributes parameter, refer to CreateFile.</para>
|
||
/// </param>
|
||
/// <param name="flagsAndAttributes">
|
||
/// <para>
|
||
/// Specifies the settings and attributes of the file to be created. For most files, a value of <c>FILE_ATTRIBUTE_NORMAL</c> can
|
||
/// be used.
|
||
/// </para>
|
||
/// <para>For more information about the flagsAndAttributes parameter, refer to CreateFile.</para>
|
||
/// </param>
|
||
/// <param name="optimizeMarkupSize">
|
||
/// <para>A Boolean value that indicates whether the document markup is to be optimized for size when it is written to the file.</para>
|
||
/// <list type="table">
|
||
/// <listheader>
|
||
/// <term>Value</term>
|
||
/// <term>Meaning</term>
|
||
/// </listheader>
|
||
/// <item>
|
||
/// <term>TRUE</term>
|
||
/// <term>The package writer will attempt to optimize the markup for minimum size.</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>FALSE</term>
|
||
/// <term>The package writer will not attempt any optimization.</term>
|
||
/// </item>
|
||
/// </list>
|
||
/// </param>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// The optimizeMarkupSize value determines whether the markup inside the individual document parts is to be optimized. It has
|
||
/// no effect on how the parts are interleaved.
|
||
/// </para>
|
||
/// <para>
|
||
/// <c>Note</c> Writing an XPS OM to a file does not automatically create a thumbnail for the XPS document. To create a
|
||
/// thumbnail of the XPS document, use the IXpsOMThumbnailGenerator interface.
|
||
/// </para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompackage-writetofile HRESULT
|
||
// WriteToFile( LPCWSTR fileName, LPSECURITY_ATTRIBUTES securityAttributes, DWORD flagsAndAttributes, BOOL optimizeMarkupSize );
|
||
void WriteToFile([In, MarshalAs(UnmanagedType.LPWStr)] string fileName, [In] SECURITY_ATTRIBUTES securityAttributes, [In] FileFlagsAndAttributes flagsAndAttributes, [In, MarshalAs(UnmanagedType.Bool)] bool optimizeMarkupSize);
|
||
|
||
/// <summary>Writes the XPS package to a specified stream.</summary>
|
||
/// <param name="stream">The stream that receives the serialized contents of the package. This parameter must not be <c>NULL</c>.</param>
|
||
/// <param name="optimizeMarkupSize">
|
||
/// <para>A Boolean value that indicates whether the document markup is to be optimized for size when it is written to the stream.</para>
|
||
/// <list type="table">
|
||
/// <listheader>
|
||
/// <term>Value</term>
|
||
/// <term>Meaning</term>
|
||
/// </listheader>
|
||
/// <item>
|
||
/// <term>TRUE</term>
|
||
/// <term>The package writer will attempt to optimize the markup for minimum size.</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>FALSE</term>
|
||
/// <term>The package writer will not attempt any optimization.</term>
|
||
/// </item>
|
||
/// </list>
|
||
/// </param>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// The optimizeMarkupSize value determines whether the markup inside the individual document parts is to be optimized. It has
|
||
/// no effect on how the parts are interleaved.
|
||
/// </para>
|
||
/// <para>
|
||
/// <c>Note</c> Writing an XPS OM to a stream does not automatically create a thumbnail for the XPS document. To create a
|
||
/// thumbnail of the XPS document, use the IXpsOMThumbnailGenerator interface.
|
||
/// </para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompackage-writetostream HRESULT
|
||
// WriteToStream( ISequentialStream *stream, BOOL optimizeMarkupSize );
|
||
void WriteToStream([In] ISequentialStream stream, [In, MarshalAs(UnmanagedType.Bool)] bool optimizeMarkupSize);
|
||
}
|
||
|
||
/// <summary>Incrementally writes the parts of an XPS document to a package file.</summary>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// Progressive writing enables an application to serialize XPS document content and resources as they become available. It does not
|
||
/// require the application to create all elements of the document before serialization.
|
||
/// </para>
|
||
/// <para>
|
||
/// This interface writes the pages to the package sequentially, in the order that AddPage is called. The interface does not support
|
||
/// page writing in a non-sequential order; thus it should only be used when page content is produced or is available for writing in
|
||
/// the order it is to appear in the XPS document.
|
||
/// </para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nn-xpsobjectmodel-ixpsompackagewriter
|
||
[PInvokeData("xpsobjectmodel.h", MSDNShortId = "cbbcc8bf-6172-41c8-9d74-27e5635ec167")]
|
||
[ComImport, Guid("4E2AA182-A443-42C6-B41B-4F8E9DE73FF9"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||
public interface IXpsOMPackageWriter
|
||
{
|
||
/// <summary>Opens and initializes a new FixedDocument in the FixedDocumentSequence of the package.</summary>
|
||
/// <param name="documentPartName">A pointer to an IOpcPartUri interface that contains the part name of the new document.</param>
|
||
/// <param name="documentPrintTicket">
|
||
/// A pointer to an IXpsOMPrintTicketResource interface that contains the document-level print ticket. If there is no
|
||
/// document-level print ticket for this package, this parameter can be set to <c>NULL</c>. See also Remarks.
|
||
/// </param>
|
||
/// <param name="documentStructure">
|
||
/// A pointer to an IXpsOMDocumentStructureResource interface that contains the initial document structure resource, if the
|
||
/// resource is available; if it is not available, this parameter can be set to <c>NULL</c>.
|
||
/// </param>
|
||
/// <param name="signatureBlockResources">
|
||
/// A pointer to an IXpsOMSignatureBlockResourceCollection interface that contains a collection of digital signatures to be
|
||
/// attached to the document. If there are no digital signatures to be attached, this parameter can be set to <c>NULL</c>.
|
||
/// </param>
|
||
/// <param name="restrictedFonts">
|
||
/// <para>
|
||
/// A pointer to an IXpsOMPartUriCollection interface that contains the fonts that must have restricted font relationships
|
||
/// written for them. The font data are not written until AddResource or Close is called.
|
||
/// </para>
|
||
/// <para>If the document does not contain any restricted fonts, this parameter can be set to <c>NULL</c>.</para>
|
||
/// </param>
|
||
/// <remarks>
|
||
/// <para>This method must be called before AddPage can be called to write the contents of an IXpsOMPage interface.</para>
|
||
/// <para>
|
||
/// Immediately after the IXpsOMPackageWriter interface has been instantiated, the package contains only an empty Fixed Document
|
||
/// Sequence part. The first time this method is called, a FixedDocument part is added to the Fixed Document Sequence part and
|
||
/// the AddPage method will add pages to that FixedDocument part. Each time this method is called after the first time, the
|
||
/// current FixedDocument part is closed, and a new FixedDocument part is opened and added to the Fixed Document Sequence part.
|
||
/// All subsequent calls to the <c>AddPage</c> method add pages to the most recently opened FixedDocument part. This interface
|
||
/// does not support adding pages to closed FixedDocument parts.
|
||
/// </para>
|
||
/// <para>
|
||
/// If documentPrintTicket contains a <c>NULL</c> pointer and the package writer was created with interleaving set to
|
||
/// <c>XPS_INTERLEAVING_ON</c>, this method creates a blank document-level print ticket, if one does not already exist. Each
|
||
/// time this method is called with a <c>NULL</c> pointer in documentPrintTicket, it adds a relationship from the new document
|
||
/// to the blank print ticket. This is done to provide more efficient streaming consumption of the package.
|
||
/// </para>
|
||
/// <para>
|
||
/// If documentPrintTicket contains a <c>NULL</c> pointer and the package writer was created with interleaving set to
|
||
/// <c>XPS_INTERLEAVING_OFF</c>, no blank print ticket is created.
|
||
/// </para>
|
||
/// <para>
|
||
/// <c>Note</c> Creating a new document in the package does not automatically create a thumbnail for the XPS document. To create
|
||
/// a thumbnail of the XPS document, use the IXpsOMThumbnailGenerator interface.
|
||
/// </para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompackagewriter-startnewdocument
|
||
// HRESULT StartNewDocument( IOpcPartUri *documentPartName, IXpsOMPrintTicketResource *documentPrintTicket,
|
||
// IXpsOMDocumentStructureResource *documentStructure, IXpsOMSignatureBlockResourceCollection *signatureBlockResources,
|
||
// IXpsOMPartUriCollection *restrictedFonts );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
void StartNewDocument([In] IOpcPartUri documentPartName, [In] IXpsOMPrintTicketResource documentPrintTicket, [In] IXpsOMDocumentStructureResource documentStructure,
|
||
[In] IXpsOMSignatureBlockResourceCollection signatureBlockResources, [In] IXpsOMPartUriCollection restrictedFonts);
|
||
|
||
/// <summary>Writes a new FixedPage part to the currently open FixedDocument part in the package.</summary>
|
||
/// <param name="page">
|
||
/// The IXpsOMPage interface whose page content is to be written to the currently open FixedDocument of the package.
|
||
/// </param>
|
||
/// <param name="advisoryPageDimensions">
|
||
/// <para>The XPS_SIZE structure that contains page dimensions.</para>
|
||
/// <para>
|
||
/// Size is described in XPS units. There are 96 XPS units per inch. For example, the dimensions of an 8.5" by 11.0" page are
|
||
/// 816 by 1,056 XPS units.
|
||
/// </para>
|
||
/// </param>
|
||
/// <param name="discardableResourceParts">
|
||
/// The IXpsOMPartUriCollection interface that contains a collection of the discardable resource parts.
|
||
/// </param>
|
||
/// <param name="storyFragments">The IXpsOMStoryFragmentsResource interface that is to be used for this page.</param>
|
||
/// <param name="pagePrintTicket">
|
||
/// The IXpsOMPrintTicketResource interface that contains the page-level print ticket for this page. See also Remarks.
|
||
/// </param>
|
||
/// <param name="pageThumbnail">The IXpsOMImageResource interface that contains the thumbnail image of this page.</param>
|
||
/// <remarks>
|
||
/// <para>Call this method after calling StartNewDocument.</para>
|
||
/// <para>
|
||
/// This method creates a new FixedPage part in the package, copies the contents of the IXpsOMPage interface that is passed in
|
||
/// the page parameter, and then closes the new FixedPage part after the page has been written to the package.
|
||
/// </para>
|
||
/// <para>
|
||
/// If pagePrintTicket contains a <c>NULL</c> pointer and the package writer was created with interleaving set to
|
||
/// <c>XPS_INTERLEAVING_ON</c>, this method creates a blank page-level print ticket, if one does not already exist. Each time
|
||
/// method is called with a <c>NULL</c> pointer in pagePrintTicket, it adds a relationship from the new page to the blank print
|
||
/// ticket. This is done to provide more efficient streaming consumption of the package.
|
||
/// </para>
|
||
/// <para>
|
||
/// If pagePrintTicket contains a <c>NULL</c> pointer and the package writer was created with interleaving set to
|
||
/// <c>XPS_INTERLEAVING_OFF</c>, no blank print ticket is created.
|
||
/// </para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompackagewriter-addpage HRESULT
|
||
// AddPage( IXpsOMPage *page, const XPS_SIZE *advisoryPageDimensions, IXpsOMPartUriCollection *discardableResourceParts,
|
||
// IXpsOMStoryFragmentsResource *storyFragments, IXpsOMPrintTicketResource *pagePrintTicket, IXpsOMImageResource *pageThumbnail );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
void AddPage([In] IXpsOMPage page, in XPS_SIZE advisoryPageDimensions, [In] IXpsOMPartUriCollection discardableResourceParts,
|
||
[In] IXpsOMStoryFragmentsResource storyFragments, [In] IXpsOMPrintTicketResource pagePrintTicket, [In] IXpsOMImageResource pageThumbnail);
|
||
|
||
/// <summary>Creates a new part resource in the package.</summary>
|
||
/// <param name="resource">
|
||
/// The IXpsOMResource interface of the part resource that will be added as a new part in the package. See Remarks for the types
|
||
/// of resources that may be passed in this parameter.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// This method creates a new part in the document package that corresponds to resource, adds the contents of resource to the
|
||
/// new part, and then closes the new part.
|
||
/// </para>
|
||
/// <para>If this method returns an error, the package writer is no longer usable.</para>
|
||
/// <para>The resource parameter must be one of the following:</para>
|
||
/// <list type="bullet">
|
||
/// <item>
|
||
/// <term>
|
||
/// The IXpsOMFontResource interface of a font resource that is used in the current page or a page that has already been added.
|
||
/// </term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>
|
||
/// The IXpsOMImageResource interface of an image resource that is used in the current page or a page that has already been added.
|
||
/// </term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>
|
||
/// The IXpsOMColorProfileResource interface of color profile resource that is used in the current page or a page that has
|
||
/// already been added.
|
||
/// </term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>
|
||
/// The IXpsOMStoryFragmentsResource interface of a story fragments resource that is used in the current page or a page that has
|
||
/// already been added.
|
||
/// </term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>
|
||
/// The IXpsOMDocumentStructureResource interface of a document structure resource that is used in the current document or a
|
||
/// document that has already been added.
|
||
/// </term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>
|
||
/// The IXpsOMSignatureBlockResource interface of a signature block resource that is used in the current document or a document
|
||
/// that has already been added.
|
||
/// </term>
|
||
/// </item>
|
||
/// </list>
|
||
/// <para>This method returns an error if resource contains one of the following:</para>
|
||
/// <list type="bullet">
|
||
/// <item>
|
||
/// <term>The IXpsOMRemoteDictionaryResource interface of a remote resource dictionary.</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>The IXpsOMPrintTicketResource interface of a print ticket.</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>The IXpsOMImageResource interface of a thumbnail image.</term>
|
||
/// </item>
|
||
/// </list>
|
||
/// <para>
|
||
/// This method returns an error when resource references a resource that has the same name as a resource that has already been
|
||
/// added to the stream or for which there is no existing relationship.
|
||
/// </para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompackagewriter-addresource HRESULT
|
||
// AddResource( IXpsOMResource *resource );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
void AddResource([In] IXpsOMResource resource);
|
||
|
||
/// <summary>Closes any open parts of the package, then closes the package.</summary>
|
||
/// <remarks>
|
||
/// <para>If any discardable parts that are referenced by a call to AddPage have not been received, an error will be returned.</para>
|
||
/// <para>After this method is called, calling any other IXpsOMPackageWriter method except IsClosed will return an error.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompackagewriter-close HRESULT Close();
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
void Close();
|
||
|
||
/// <summary>Gets the status of the IXpsOMPackageWriter interface.</summary>
|
||
/// <returns>
|
||
/// <para>A pointer to a Boolean variable that receives the status of the IXpsOMPackageWriter interface.</para>
|
||
/// <list type="table">
|
||
/// <listheader>
|
||
/// <term>Value</term>
|
||
/// <term>Meaning</term>
|
||
/// </listheader>
|
||
/// <item>
|
||
/// <term>TRUE</term>
|
||
/// <term>The package is closed and no more content can be added.</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>FALSE</term>
|
||
/// <term>The package is open and content can be added.</term>
|
||
/// </item>
|
||
/// </list>
|
||
/// </returns>
|
||
/// <remarks>If the IXpsOMPackageWriter interface is closed, operations on the package are not allowed.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompackagewriter-isclosed HRESULT
|
||
// IsClosed( BOOL *isClosed );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
[return: MarshalAs(UnmanagedType.Bool)]
|
||
bool IsClosed();
|
||
}
|
||
|
||
/// <summary>
|
||
/// <para>Provides the root node of a tree of objects that hold the contents of a single page.</para>
|
||
/// <para>The <c>IXpsOMPage</c> interface corresponds to the <c>FixedPage</c> element in XPS document markup.</para>
|
||
/// </summary>
|
||
/// <remarks>
|
||
/// <para>The code example that follows illustrates how to create an instance of this interface.</para>
|
||
/// <para>For information about using this interface in a program, see Create a Blank XPS OM and Navigate the XPS OM.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nn-xpsobjectmodel-ixpsompage
|
||
[PInvokeData("xpsobjectmodel.h", MSDNShortId = "741deebd-9dce-4cd9-883e-4586c10a4609")]
|
||
[ComImport, Guid("D3E18888-F120-4FEE-8C68-35296EAE91D4"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||
public interface IXpsOMPage : IXpsOMPart
|
||
{
|
||
/// <summary>Gets the name that will be used when the part is serialized.</summary>
|
||
/// <returns>
|
||
/// A pointer to the IOpcPartUri interface that contains the part name. If the part name has not been set (by the SetPartName
|
||
/// method), a <c>NULL</c> pointer is returned.
|
||
/// </returns>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompart-getpartname HRESULT
|
||
// GetPartName( IOpcPartUri **partUri );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
[return: MarshalAs(UnmanagedType.Interface)]
|
||
new IOpcPartUri GetPartName();
|
||
|
||
/// <summary>Sets the name that will be used when the part is serialized.</summary>
|
||
/// <param name="partUri">
|
||
/// A pointer to the IOpcPartUri interface that contains the name of this part. This parameter cannot be <c>NULL</c>.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// IXpsOMPackageWriter will generate an error if it encounters an XPS document part whose name is the same as that of a part it
|
||
/// has previously serialized.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompart-setpartname HRESULT
|
||
// SetPartName( IOpcPartUri *partUri );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
new void SetPartName([In] IOpcPartUri partUri);
|
||
|
||
/// <summary>Gets a pointer to the IXpsOMPageReference interface that contains the page.</summary>
|
||
/// <returns>A pointer to the IXpsOMPageReference interface that contains the page.</returns>
|
||
/// <remarks>When the page does not have an owner, a <c>NULL</c> pointer is returned in pageReference.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompage-getowner HRESULT GetOwner(
|
||
// IXpsOMPageReference **pageReference );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
IXpsOMPageReference GetOwner();
|
||
|
||
/// <summary>Gets a pointer to an IXpsOMVisualCollection interface that contains a collection of the page's visual objects.</summary>
|
||
/// <returns>A pointer to the IXpsOMVisualCollection interface that contains a collection of the page's visual objects.</returns>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompage-getvisuals HRESULT GetVisuals(
|
||
// IXpsOMVisualCollection **visuals );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
IXpsOMVisualCollection GetVisuals();
|
||
|
||
/// <summary>Gets the page dimensions.</summary>
|
||
/// <returns>
|
||
/// <para>The page dimensions.</para>
|
||
/// <para>
|
||
/// Size is described in XPS units. There are 96 XPS units per inch. For example, the dimensions of an 8.5" by 11.0" page are
|
||
/// 816 by 1,056 XPS units.
|
||
/// </para>
|
||
/// </returns>
|
||
/// <remarks>The default page size is passed to IXpsOMObjectFactory::CreatePage in the pageDimensions parameter.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompage-getpagedimensions HRESULT
|
||
// GetPageDimensions( XPS_SIZE *pageDimensions );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
XPS_SIZE GetPageDimensions();
|
||
|
||
/// <summary>Sets dimensions of the page.</summary>
|
||
/// <param name="pageDimensions">
|
||
/// <para>Dimensions of the page.</para>
|
||
/// <para>
|
||
/// Size is described in XPS units. There are 96 XPS units per inch. For example, the dimensions of an 8.5" by 11.0" page are
|
||
/// 816 by 1,056 XPS units.
|
||
/// </para>
|
||
/// <para>The XPS_SIZE structure has the following properties:</para>
|
||
/// <para>0 ≤ value )</para>
|
||
/// <para>0 ≤ value )</para>
|
||
/// </param>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompage-setpagedimensions HRESULT
|
||
// SetPageDimensions( const XPS_SIZE *pageDimensions );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
void SetPageDimensions(in XPS_SIZE pageDimensions);
|
||
|
||
/// <summary>Gets the dimensions of the page's content box.</summary>
|
||
/// <returns>The dimensions of the content box.</returns>
|
||
/// <remarks>
|
||
/// <para>The content box indicates where ink appears on the page.</para>
|
||
/// <para>The default content box of a page is</para>
|
||
/// <list type="table">
|
||
/// <listheader>
|
||
/// <term>XPS_RECT field</term>
|
||
/// <term>Default value</term>
|
||
/// </listheader>
|
||
/// <item>
|
||
/// <term>x</term>
|
||
/// <term>0</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>y</term>
|
||
/// <term>0</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>width</term>
|
||
/// <term>pageDimension.width</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>height</term>
|
||
/// <term>pageDimension.height</term>
|
||
/// </item>
|
||
/// </list>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompage-getcontentbox HRESULT
|
||
// GetContentBox( XPS_RECT *contentBox );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
XPS_RECT GetContentBox();
|
||
|
||
/// <summary>Sets the dimensions of the page's content box.</summary>
|
||
/// <param name="contentBox">
|
||
/// <para>The dimensions of the page's content box.</para>
|
||
/// <list type="table">
|
||
/// <listheader>
|
||
/// <term>contentBox field</term>
|
||
/// <term>Valid values</term>
|
||
/// </listheader>
|
||
/// <item>
|
||
/// <term>contentBox.width</term>
|
||
/// <term>Greater than or equal to 0.0 and less than or equal to (pageDimensions.width - contentBox.x).</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>contentBox.height</term>
|
||
/// <term>Greater than or equal to 0.0 and less than or equal to (pageDimensions.height - contentBox.y).</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>contentBox.x</term>
|
||
/// <term>Greater than or equal to 0.0 and less than pageDimensions.width.</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>contentBox.y</term>
|
||
/// <term>Greater than or equal to 0.0 and less than pageDimensions.height.</term>
|
||
/// </item>
|
||
/// </list>
|
||
/// </param>
|
||
/// <remarks>
|
||
/// <para>The content box specifies where ink appears on the page.</para>
|
||
/// <para>The content box dimensions are not checked against the page dimensions until the page is serialized.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompage-setcontentbox HRESULT
|
||
// SetContentBox( const XPS_RECT *contentBox );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
void SetContentBox(in XPS_RECT contentBox);
|
||
|
||
/// <summary>Gets the dimensions of the page's bleed box.</summary>
|
||
/// <returns>The dimensions of the bleed box.</returns>
|
||
/// <remarks>
|
||
/// <para>The default bleed box of a page is:</para>
|
||
/// <list type="table">
|
||
/// <listheader>
|
||
/// <term>XPS_RECT field</term>
|
||
/// <term>Default value</term>
|
||
/// </listheader>
|
||
/// <item>
|
||
/// <term>x</term>
|
||
/// <term>0</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>y</term>
|
||
/// <term>0</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>width</term>
|
||
/// <term>pageDimension.width</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>height</term>
|
||
/// <term>pageDimension.height</term>
|
||
/// </item>
|
||
/// </list>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompage-getbleedbox HRESULT
|
||
// GetBleedBox( XPS_RECT *bleedBox );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
XPS_RECT GetBleedBox();
|
||
|
||
/// <summary>Sets the dimensions of the page's bleed box.</summary>
|
||
/// <param name="bleedBox">
|
||
/// <para>The dimensions of the page's bleed box. This parameter must not be <c>NULL</c>.</para>
|
||
/// <para>A valid bleed box has the following properties:</para>
|
||
/// <para>####### x)) ≤ value )</para>
|
||
/// <para>####### y)) ≤ value )</para>
|
||
/// <para>0)</para>
|
||
/// <para>0)</para>
|
||
/// </param>
|
||
/// <remarks>The bleed box dimensions are not checked against the page dimensions until the page is serialized.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompage-setbleedbox HRESULT
|
||
// SetBleedBox( const XPS_RECT *bleedBox );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
void SetBleedBox(in XPS_RECT bleedBox);
|
||
|
||
/// <summary>Gets the <c>Language</c> property of the page.</summary>
|
||
/// <returns>
|
||
/// A language tag string that represents the language of the page contents. If the <c>Language</c> property has not been set, a
|
||
/// <c>NULL</c> pointer is returned.
|
||
/// </returns>
|
||
/// <remarks>
|
||
/// <para>The default value is the language tag string that is passed to IXpsOMObjectFactory::CreatePage in the language parameter.</para>
|
||
/// <para>
|
||
/// Internet Engineering Task Force (IETF) RFC 3066 describes the recommended encoding of the language tag string that is
|
||
/// returned in language.
|
||
/// </para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompage-getlanguage HRESULT
|
||
// GetLanguage( LPWSTR *language );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
SafeCoTaskMemString GetLanguage();
|
||
|
||
/// <summary>Sets the <c>Language</c> property of the page.</summary>
|
||
/// <param name="language">
|
||
/// A language tag string that represents the language of the page content. A <c>NULL</c> pointer clears the previously assigned language.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// The language tag string must conform to the language tag syntax that is described in the Internet Engineering Task Force
|
||
/// (IETF) RFC 3066. For more information, go to http://tools.ietf.org/html/rfc3066.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompage-setlanguage HRESULT
|
||
// SetLanguage( LPCWSTR language );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
void SetLanguage([In, MarshalAs(UnmanagedType.LPWStr)] string language);
|
||
|
||
/// <summary>Gets the <c>Name</c> property of the page.</summary>
|
||
/// <returns>
|
||
/// The <c>Name</c> property of the page. A <c>NULL</c> pointer is returned if the <c>Name</c> property has not been set.
|
||
/// </returns>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompage-getname HRESULT GetName(
|
||
// LPWSTR *name );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
SafeCoTaskMemString GetName();
|
||
|
||
/// <summary>Sets the <c>Name</c> property of this page.</summary>
|
||
/// <param name="name">
|
||
/// A pointer to the name string to be set as the page's <c>Name</c> property. A <c>NULL</c> pointer clears any previously
|
||
/// assigned name.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// The <c>Name</c> property identifies the current page as a named, addressable point in a document, allowing the page to be
|
||
/// referenced by a hyperlink.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompage-setname HRESULT SetName(
|
||
// LPCWSTR name );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
void SetName([In, MarshalAs(UnmanagedType.LPWStr)] string name);
|
||
|
||
/// <summary>Gets a Boolean value that indicates whether the page is the target of a hyperlink.</summary>
|
||
/// <returns>
|
||
/// <para>A Boolean value that indicates whether the page is the target of a hyperlink.</para>
|
||
/// <list type="table">
|
||
/// <listheader>
|
||
/// <term>Value</term>
|
||
/// <term>Meaning</term>
|
||
/// </listheader>
|
||
/// <item>
|
||
/// <term>TRUE</term>
|
||
/// <term>The page is the target of a hyperlink.</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>FALSE</term>
|
||
/// <term>The page is not the target of a hyperlink.</term>
|
||
/// </item>
|
||
/// </list>
|
||
/// </returns>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompage-getishyperlinktarget HRESULT
|
||
// GetIsHyperlinkTarget( BOOL *isHyperlinkTarget );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
[return: MarshalAs(UnmanagedType.Bool)]
|
||
bool GetIsHyperlinkTarget();
|
||
|
||
/// <summary>Specifies whether the page is the target of a hyperlink.</summary>
|
||
/// <param name="isHyperlinkTarget">
|
||
/// <para>The Boolean value that indicates whether the page is the target of a hyperlink.</para>
|
||
/// <list type="table">
|
||
/// <listheader>
|
||
/// <term>Value</term>
|
||
/// <term>Meaning</term>
|
||
/// </listheader>
|
||
/// <item>
|
||
/// <term>TRUE</term>
|
||
/// <term>The page is the target of a hyperlink.</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>FALSE</term>
|
||
/// <term>The page is not the target of a hyperlink.</term>
|
||
/// </item>
|
||
/// </list>
|
||
/// </param>
|
||
/// <remarks>
|
||
/// Only those pages that have this property set to <c>TRUE</c> will be included in the hyperlink targets that are collected by IXpsOMPageReference::CollectLinkTargets.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompage-setishyperlinktarget HRESULT
|
||
// SetIsHyperlinkTarget( BOOL isHyperlinkTarget );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
void SetIsHyperlinkTarget([In, MarshalAs(UnmanagedType.Bool)] bool isHyperlinkTarget);
|
||
|
||
/// <summary>Gets a pointer to the resolved IXpsOMDictionary interface that is associated with this page.</summary>
|
||
/// <returns>
|
||
/// <para>A pointer to the resolved IXpsOMDictionary interface that is associated with this page.</para>
|
||
/// <para>The value that is returned in this parameter depends on which method has most recently been called to set the dictionary.</para>
|
||
/// <list type="table">
|
||
/// <listheader>
|
||
/// <term>Most recent method called</term>
|
||
/// <term>Object that is returned in resourceDictionary</term>
|
||
/// </listheader>
|
||
/// <item>
|
||
/// <term>SetDictionaryLocal</term>
|
||
/// <term>The local dictionary resource that is set by SetDictionaryLocal.</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>SetDictionaryResource</term>
|
||
/// <term>The shared dictionary in the dictionary resource that is set by SetDictionaryResource.</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>Neither SetDictionaryLocal nor SetDictionaryResource has been called yet.</term>
|
||
/// <term>NULL pointer.</term>
|
||
/// </item>
|
||
/// </list>
|
||
/// </returns>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// Whether the dictionary is local or is contained within a remote dictionary resource, this method returns an IXpsOMDictionary
|
||
/// interface pointer. GetOwner determines whether the dictionary is remote.
|
||
/// </para>
|
||
/// <para>
|
||
/// If a page contains a remote dictionary, <c>GetDictionary</c> will deserialize the dictionary. If the page contains a remote
|
||
/// dictionary that is not valid, <c>GetDictionary</c> might return a deserialization error code.
|
||
/// </para>
|
||
/// <para>
|
||
/// After loading and parsing the resource into the XPS OM, this method might return an error that applies to another resource.
|
||
/// This occurs because all of the relationships are parsed when a resource is loaded.
|
||
/// </para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompage-getdictionary HRESULT
|
||
// GetDictionary( IXpsOMDictionary **resourceDictionary );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
IXpsOMDictionary GetDictionary();
|
||
|
||
/// <summary>
|
||
/// Gets a pointer to the IXpsOMDictionary interface of the local, unshared dictionary that is associated with this page.
|
||
/// </summary>
|
||
/// <returns>
|
||
/// <para>
|
||
/// A pointer to the IXpsOMDictionary interface of the local, unshared dictionary that is associated with this page. If no
|
||
/// <c>IXpsOMDictionary</c> interface pointer has been set or if a remote dictionary resource has been set, a <c>NULL</c>
|
||
/// pointer is returned.
|
||
/// </para>
|
||
/// <list type="table">
|
||
/// <listheader>
|
||
/// <term>Most recent method called</term>
|
||
/// <term>Object that is returned in resourceDictionary</term>
|
||
/// </listheader>
|
||
/// <item>
|
||
/// <term>SetDictionaryLocal</term>
|
||
/// <term>The local dictionary resource that is set by SetDictionaryLocal.</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>SetDictionaryResource</term>
|
||
/// <term>NULL pointer.</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>Neither SetDictionaryLocal nor SetDictionaryResource has been called yet.</term>
|
||
/// <term>NULL pointer.</term>
|
||
/// </item>
|
||
/// </list>
|
||
/// </returns>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompage-getdictionarylocal HRESULT
|
||
// GetDictionaryLocal( IXpsOMDictionary **resourceDictionary );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
IXpsOMDictionary GetDictionaryLocal();
|
||
|
||
/// <summary>Sets the IXpsOMDictionary interface pointer of the page's local dictionary resource.</summary>
|
||
/// <param name="resourceDictionary">
|
||
/// The IXpsOMDictionary interface pointer to be set for the page. A <c>NULL</c> pointer releases any previously assigned local dictionary.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// After you call <c>SetDictionaryLocal</c>, the remote dictionary resource is released and GetDictionaryResource returns a
|
||
/// <c>NULL</c> pointer in the remoteDictionaryResource parameter. The table that follows explains the relationship between the
|
||
/// local and remote values of this property.
|
||
/// </para>
|
||
/// <list type="table">
|
||
/// <listheader>
|
||
/// <term>Most recent method called</term>
|
||
/// <term>Object that is returned in resourceDictionary by GetDictionary</term>
|
||
/// <term>Object that is returned in resourceDictionary by GetDictionaryLocal</term>
|
||
/// <term>Object that is returned in remoteDictionaryResource by GetDictionaryResource</term>
|
||
/// </listheader>
|
||
/// <item>
|
||
/// <term>SetDictionaryLocal (this method)</term>
|
||
/// <term>The local dictionary resource that is set by SetDictionaryLocal.</term>
|
||
/// <term>The local dictionary resource that is set by SetDictionaryLocal.</term>
|
||
/// <term>NULL pointer.</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>SetDictionaryResource</term>
|
||
/// <term>The shared dictionary in the dictionary resource that is set by SetDictionaryResource.</term>
|
||
/// <term>NULL pointer.</term>
|
||
/// <term>The remote dictionary resource that is set by SetDictionaryResource.</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>Neither SetDictionaryLocal nor SetDictionaryResource has been called yet.</term>
|
||
/// <term>NULL pointer.</term>
|
||
/// <term>NULL pointer.</term>
|
||
/// <term>NULL pointer.</term>
|
||
/// </item>
|
||
/// </list>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompage-setdictionarylocal HRESULT
|
||
// SetDictionaryLocal( IXpsOMDictionary *resourceDictionary );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
void SetDictionaryLocal([In] IXpsOMDictionary resourceDictionary);
|
||
|
||
/// <summary>
|
||
/// Gets a pointer to the IXpsOMRemoteDictionaryResource interface of the shared dictionary resource that is used by this page.
|
||
/// </summary>
|
||
/// <returns>
|
||
/// <para>
|
||
/// A pointer to the IXpsOMRemoteDictionaryResource interface of the shared dictionary resource that is used by this page. If no
|
||
/// <c>IXpsOMRemoteDictionaryResource</c> interface has been set or if a local dictionary has been set, a <c>NULL</c> pointer is returned.
|
||
/// </para>
|
||
/// <list type="table">
|
||
/// <listheader>
|
||
/// <term>Most recent method called</term>
|
||
/// <term>Object that is returned in remoteDictionaryResource</term>
|
||
/// </listheader>
|
||
/// <item>
|
||
/// <term>SetDictionaryLocal</term>
|
||
/// <term>NULL pointer.</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>SetDictionaryResource</term>
|
||
/// <term>The remote dictionary resource that is set by SetDictionaryResource.</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>Neither SetDictionaryLocal nor SetDictionaryResource has been called yet.</term>
|
||
/// <term>NULL pointer.</term>
|
||
/// </item>
|
||
/// </list>
|
||
/// </returns>
|
||
/// <remarks>
|
||
/// After loading and parsing the resource into the XPS OM, this method might return an error that applies to another resource.
|
||
/// This occurs because all of the relationships are parsed when a resource is loaded.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompage-getdictionaryresource HRESULT
|
||
// GetDictionaryResource( IXpsOMRemoteDictionaryResource **remoteDictionaryResource );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
IXpsOMRemoteDictionaryResource GetDictionaryResource();
|
||
|
||
/// <summary>Sets the IXpsOMRemoteDictionaryResource interface pointer of the page's remote dictionary resource.</summary>
|
||
/// <param name="remoteDictionaryResource">
|
||
/// The IXpsOMRemoteDictionaryResource interface pointer to be set for the page. A <c>NULL</c> value releases the previously
|
||
/// assigned dictionary resource.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// <para>Setting this value will cause GetDictionaryLocal to return <c>NULL</c>.</para>
|
||
/// <list type="table">
|
||
/// <listheader>
|
||
/// <term>Most recent method called</term>
|
||
/// <term>Object that is returned in resourceDictionary by GetDictionary</term>
|
||
/// <term>Object that is returned in resourceDictionary by GetDictionaryLocal</term>
|
||
/// <term>Object that is returned in remoteDictionaryResource by GetDictionaryResource</term>
|
||
/// </listheader>
|
||
/// <item>
|
||
/// <term>SetDictionaryLocal</term>
|
||
/// <term>The local dictionary resource that is set by SetDictionaryLocal.</term>
|
||
/// <term>The local dictionary resource that is set by SetDictionaryLocal.</term>
|
||
/// <term>NULL pointer.</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>SetDictionaryResource (this method)</term>
|
||
/// <term>The shared dictionary in the dictionary resource that is set by SetDictionaryResource.</term>
|
||
/// <term>NULL pointer.</term>
|
||
/// <term>The remote dictionary resource that is set by SetDictionaryResource.</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>Neither SetDictionaryLocal nor SetDictionaryResource has been called yet.</term>
|
||
/// <term>NULL pointer.</term>
|
||
/// <term>NULL pointer.</term>
|
||
/// <term>NULL pointer.</term>
|
||
/// </item>
|
||
/// </list>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompage-setdictionaryresource HRESULT
|
||
// SetDictionaryResource( IXpsOMRemoteDictionaryResource *remoteDictionaryResource );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
void SetDictionaryResource([In] IXpsOMRemoteDictionaryResource remoteDictionaryResource);
|
||
|
||
/// <summary>Writes the page to the specified stream.</summary>
|
||
/// <param name="stream">The stream that receives the serialized contents of the page.</param>
|
||
/// <param name="optimizeMarkupSize">
|
||
/// <para>
|
||
/// A Boolean value that indicates whether the document markup of the page is to be optimized for size when the page is written
|
||
/// to the stream.
|
||
/// </para>
|
||
/// <list type="table">
|
||
/// <listheader>
|
||
/// <term>Value</term>
|
||
/// <term>Meaning</term>
|
||
/// </listheader>
|
||
/// <item>
|
||
/// <term>TRUE</term>
|
||
/// <term>The package writer will attempt to optimize the markup for minimum size when writing the page to the stream.</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>FALSE</term>
|
||
/// <term>The package writer will not attempt any optimization when writing the page to the stream.</term>
|
||
/// </item>
|
||
/// </list>
|
||
/// </param>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// To examine the XPS markup of a page before it is written to an XPS package, an application can call the <c>Write</c> method
|
||
/// to write the page's contents to a stream. The application can then read that stream to examine the XPS markup as it would be
|
||
/// serialized when it is written to the XPS package.
|
||
/// </para>
|
||
/// <para>The XPS markup that is written to the stream by this method contains the page markup but none of the page's resources.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompage-write HRESULT Write(
|
||
// ISequentialStream *stream, BOOL optimizeMarkupSize );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
void Write([In] ISequentialStream stream, [In, MarshalAs(UnmanagedType.Bool)] bool optimizeMarkupSize);
|
||
|
||
/// <summary>Generates a unique name that can be used as a lookup key by a resource in a resource dictionary.</summary>
|
||
/// <param name="type">The type of IXpsOMShareable object for which the lookup key is generated.</param>
|
||
/// <returns>The lookup key string that is generated by this method.</returns>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// To be unique in the dictionary, the string generated by <c>GenerateUnusedLookupKey</c> consists of a prefix string that is
|
||
/// based on the object type and is followed by four unique alphanumeric characters.
|
||
/// </para>
|
||
/// <para>The prefix string for each object type is shown in the following table.</para>
|
||
/// <list type="table">
|
||
/// <listheader>
|
||
/// <term>Object type</term>
|
||
/// <term>Prefix string for this object type</term>
|
||
/// </listheader>
|
||
/// <item>
|
||
/// <term>XPS_OBJECT_TYPE_CANVAS</term>
|
||
/// <term>Canvas_</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>XPS_OBJECT_TYPE_GEOMETRY</term>
|
||
/// <term>Geometry_</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>XPS_OBJECT_TYPE_GLYPHS</term>
|
||
/// <term>Glyphs_</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>XPS_OBJECT_TYPE_IMAGE_BRUSH</term>
|
||
/// <term>IBrush_</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>XPS_OBJECT_TYPE_LINEAR_GRADIENT_BRUSH</term>
|
||
/// <term>LGBrush_</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>XPS_OBJECT_TYPE_MATRIX_TRANSFORM</term>
|
||
/// <term>MTransform_</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>XPS_OBJECT_TYPE_PATH</term>
|
||
/// <term>Path_</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>XPS_OBJECT_TYPE_RADIAL_GRADIENT_BRUSH</term>
|
||
/// <term>RGBrush_</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>XPS_OBJECT_TYPE_SOLID_COLOR_BRUSH</term>
|
||
/// <term>SCBrush_</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>XPS_OBJECT_TYPE_VISUAL_BRUSH</term>
|
||
/// <term>VBrush_</term>
|
||
/// </item>
|
||
/// </list>
|
||
/// <para>
|
||
/// <c>Note</c> This method returns a key string that is unique within the context of this page. It is not guaranteed to return
|
||
/// a key that is unique in a remote dictionary resource that could be used by more than one page.
|
||
/// </para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompage-generateunusedlookupkey
|
||
// HRESULT GenerateUnusedLookupKey( XPS_OBJECT_TYPE type, LPWSTR *key );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
SafeCoTaskMemString GenerateUnusedLookupKey([In] XPS_OBJECT_TYPE type);
|
||
|
||
/// <summary>Makes a deep copy of the interface.</summary>
|
||
/// <returns>A pointer to the copy of the interface.</returns>
|
||
/// <remarks>
|
||
/// <para>This method does not update any of the resource pointers in the copy.</para>
|
||
/// <para>The owner of the new interface is <c>NULL</c>.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompage-clone HRESULT Clone(
|
||
// IXpsOMPage **page );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
IXpsOMPage Clone();
|
||
}
|
||
|
||
/// <summary>
|
||
/// <para>Enables virtualization of pages in an XPS document.</para>
|
||
/// <para>
|
||
/// A page reference defers loading of the full object model of a page until the page is requested. If the page has not been
|
||
/// altered, it can also be unloaded on request.
|
||
/// </para>
|
||
/// </summary>
|
||
/// <remarks>
|
||
/// <para>The code example that follows illustrates how to create an instance of this interface.</para>
|
||
/// <para>For information about using this interface in a program, see Create a Blank XPS OM and Navigate the XPS OM.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nn-xpsobjectmodel-ixpsompagereference
|
||
[PInvokeData("xpsobjectmodel.h", MSDNShortId = "cdebab24-f918-4235-b4d5-5ee1007ade87")]
|
||
[ComImport, Guid("ED360180-6F92-4998-890D-2F208531A0A0"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||
public interface IXpsOMPageReference
|
||
{
|
||
/// <summary>Gets a pointer to the IXpsOMDocument interface that contains the page reference.</summary>
|
||
/// <returns>
|
||
/// A pointer to the IXpsOMDocument interface that contains the page reference. If the page reference does not have an owner, a
|
||
/// <c>NULL</c> pointer is returned.
|
||
/// </returns>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereference-getowner HRESULT
|
||
// GetOwner( IXpsOMDocument **document );
|
||
IXpsOMDocument GetOwner();
|
||
|
||
/// <summary>Gets a pointer to the IXpsOMPage interface that contains the page.</summary>
|
||
/// <returns>A pointer to the IXpsOMPage interface of the page. If a page has not been set, a <c>NULL</c> pointer is returned.</returns>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// If a page has not been set but the IXpsOMPackage interface that contains the page's reference has loaded from an XPS
|
||
/// package, this method will load and return the page. If a page has not been set and the <c>IXpsOMPackage</c> interface that
|
||
/// contains this page reference has not loaded from an XPS package, a <c>NULL</c> pointer will be returned.
|
||
/// </para>
|
||
/// <para>
|
||
/// Depending on the page's contents, this call might take some time to return and it might also cause unexpected changes in
|
||
/// other objects in the document tree. For example, if the page has remote resource dictionary references, the remote resource
|
||
/// dictionary might get modified.
|
||
/// </para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereference-getpage HRESULT
|
||
// GetPage( IXpsOMPage **page );
|
||
IXpsOMPage GetPage();
|
||
|
||
/// <summary>Sets the IXpsOMPage interface of the page reference.</summary>
|
||
/// <param name="page">The IXpsOMPage interface pointer of the page.</param>
|
||
/// <remarks>
|
||
/// <para>The page added by this method can be empty or fully constructed.</para>
|
||
/// <para>
|
||
/// If the incoming page has references to remote dictionary objects, those objects will not be imported into the document
|
||
/// object by this call. They must be added in a separate call to the IXpsOMPage::SetDictionaryResource or
|
||
/// IXpsOMCanvas::SetDictionaryResource method.
|
||
/// </para>
|
||
/// <para>
|
||
/// If a page has been set, the calling method must first release that page before calling <c>SetPage</c> with a new page. To
|
||
/// explain, once <c>SetPage</c> has been called with a new page, the original page cannot be discarded even if it still exists
|
||
/// in the package.
|
||
/// </para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereference-setpage HRESULT
|
||
// SetPage( IXpsOMPage *page );
|
||
void SetPage([In] IXpsOMPage page);
|
||
|
||
/// <summary>Discards the page from memory.</summary>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// If SetPage has not been called, calling <c>DiscardPage</c> and then GetPage will return the virtualized page from the source
|
||
/// package. If <c>SetPage</c> has been called, calling <c>DiscardPage</c> and then <c>GetPage</c> will return <c>NULL</c>.
|
||
/// </para>
|
||
/// <para>
|
||
/// If the page referenced by this IXpsOMPageReference interface has been constructed entirely in memory and does not have a
|
||
/// corresponding file, <c>DiscardPage</c> will delete the page from memory and the page's content will be lost. If the page has
|
||
/// been constructed from a file, <c>DiscardPage</c> will delete the page from memory but will not alter the original file. The
|
||
/// page can be reconstructed and read back into memory by calling GetPage.
|
||
/// </para>
|
||
/// <para>
|
||
/// If the page has been constructed from a file and subsequently modified, <c>DiscardPage</c> will discard the page from
|
||
/// memory, and any changes made to the page will be lost. Calling GetPage after this will re-read the original content from the file.
|
||
/// </para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereference-discardpage HRESULT DiscardPage();
|
||
void DiscardPage();
|
||
|
||
/// <summary>Gets the referenced page status, which indicates whether the page is loaded.</summary>
|
||
/// <returns>
|
||
/// <para>A Boolean value that indicates the status of the page.</para>
|
||
/// <list type="table">
|
||
/// <listheader>
|
||
/// <term>Value</term>
|
||
/// <term>Meaning</term>
|
||
/// </listheader>
|
||
/// <item>
|
||
/// <term>TRUE</term>
|
||
/// <term>The page is loaded.</term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>FALSE</term>
|
||
/// <term>The page is not loaded.</term>
|
||
/// </item>
|
||
/// </list>
|
||
/// </returns>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereference-ispageloaded HRESULT
|
||
// IsPageLoaded( BOOL *isPageLoaded );
|
||
[return: MarshalAs(UnmanagedType.Bool)]
|
||
bool IsPageLoaded();
|
||
|
||
/// <summary>Gets the suggested dimensions of the page.</summary>
|
||
/// <returns>
|
||
/// <para>The suggested dimensions of the page.</para>
|
||
/// <para>
|
||
/// Size is described in XPS units. There are 96 XPS units per inch. For example, the dimensions of an 8.5" by 11.0" page are
|
||
/// 816 by 1,056 XPS units.
|
||
/// </para>
|
||
/// </returns>
|
||
/// <remarks><c>Note</c> If a dimension value has not been set, a value of –1.0 is returned for that dimension.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereference-getadvisorypagedimensions
|
||
// HRESULT GetAdvisoryPageDimensions( XPS_SIZE *pageDimensions );
|
||
XPS_SIZE GetAdvisoryPageDimensions();
|
||
|
||
/// <summary>Sets the suggested dimensions of the page.</summary>
|
||
/// <param name="pageDimensions">
|
||
/// <para>The suggested dimensions to be set for the page.</para>
|
||
/// <para>
|
||
/// The <c>height</c> and <c>width</c> members must have the value of –1.0 or a value that is greater than or equal to +1.0.
|
||
/// </para>
|
||
/// <para>
|
||
/// Size is described in XPS units. There are 96 XPS units per inch. For example, the dimensions of an 8.5" by 11.0" page are
|
||
/// 816 by 1,056 XPS units.
|
||
/// </para>
|
||
/// </param>
|
||
/// <remarks>
|
||
/// The <c>height</c> and <c>width</c> members of the XPS_SIZE structure that is referenced by pageDimensions must have values
|
||
/// that are greater than or equal to +1.0, if those fields' values are to be set, or –1.0 if not. For example, if an advisory
|
||
/// dimension were to be set just for the page width, pageDimensions.width would have the desired value and
|
||
/// pageDimensions.height would have the value of –1.0.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereference-setadvisorypagedimensions
|
||
// HRESULT SetAdvisoryPageDimensions( const XPS_SIZE *pageDimensions );
|
||
void SetAdvisoryPageDimensions(in XPS_SIZE pageDimensions);
|
||
|
||
/// <summary>
|
||
/// Gets a pointer to the IXpsOMStoryFragmentsResource interface of the StoryFragments part resource that is associated with the page.
|
||
/// </summary>
|
||
/// <returns>
|
||
/// A pointer to the IXpsOMStoryFragmentsResource interface of the StoryFragments part resource that is associated with the
|
||
/// page. If there is no StoryFragments part, a <c>NULL</c> pointer is returned.
|
||
/// </returns>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// After the resource is parsed and loaded into the XPS OM, this method might return an error that applies to another resource.
|
||
/// This occurs because when a resource is loaded, all of the relationships are parsed.
|
||
/// </para>
|
||
/// <para>
|
||
/// The StoryFragments part of a page contains the XML markup that describes the portions of one or more stories that are
|
||
/// associated with a single fixed page. Some of the document contents that might be described by the XML markup in a
|
||
/// StoryFragments part include the story's tables and paragraphs that are found on the page.
|
||
/// </para>
|
||
/// <para>The XML markup in the DocumentStructure and StoryFragments parts is described in the XML Paper Specification.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereference-getstoryfragmentsresource
|
||
// HRESULT GetStoryFragmentsResource( IXpsOMStoryFragmentsResource **storyFragmentsResource );
|
||
IXpsOMStoryFragmentsResource GetStoryFragmentsResource();
|
||
|
||
/// <summary>
|
||
/// Sets the IXpsOMStoryFragmentsResource interface pointer of the StoryFragments resource to be assigned to the page.
|
||
/// </summary>
|
||
/// <param name="storyFragmentsResource">
|
||
/// A pointer to the IXpsOMStoryFragmentsResource interface of the StoryFragments part resource to be assigned to the page. If
|
||
/// an <c>IXpsOMStoryFragmentsResource</c> interface has been set, a <c>NULL</c> pointer will release it.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// The StoryFragments part of a page contains the XML markup that describes the portions of one or more stories that are
|
||
/// associated with a single fixed page. Some of the document contents that might be described by the XML markup in a
|
||
/// StoryFragments part include the story's tables and paragraphs that are found on the page.
|
||
/// </para>
|
||
/// <para>The XML markup of the DocumentStructure and StoryFragments parts is described in the XML Paper Specification.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereference-setstoryfragmentsresource
|
||
// HRESULT SetStoryFragmentsResource( IXpsOMStoryFragmentsResource *storyFragmentsResource );
|
||
void SetStoryFragmentsResource([In] IXpsOMStoryFragmentsResource storyFragmentsResource);
|
||
|
||
/// <summary>
|
||
/// Gets a pointer to the IXpsOMPrintTicketResource interface of the page-level print ticket resource that is associated with
|
||
/// the page.
|
||
/// </summary>
|
||
/// <returns>
|
||
/// A pointer to the IXpsOMPrintTicketResource interface of the page-level print ticket resource that is associated with the
|
||
/// page. If no print ticket resource has been set, a <c>NULL</c> pointer is returned.
|
||
/// </returns>
|
||
/// <remarks>
|
||
/// After loading and parsing the resource into the XPS OM, this method might return an error that applies to another resource.
|
||
/// This occurs because all of the relationships are parsed when a resource is loaded.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereference-getprintticketresource
|
||
// HRESULT GetPrintTicketResource( IXpsOMPrintTicketResource **printTicketResource );
|
||
IXpsOMPrintTicketResource GetPrintTicketResource();
|
||
|
||
/// <summary>
|
||
/// Sets the IXpsOMPrintTicketResource interface pointer of the page-level print ticket resource that is to be assigned to the page.
|
||
/// </summary>
|
||
/// <param name="printTicketResource">
|
||
/// A pointer to the IXpsOMPrintTicketResource interface of the page-level print ticket resource that is to be assigned to the
|
||
/// page. If a print ticket has already been set, a <c>NULL</c> pointer releases it.
|
||
/// </param>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereference-setprintticketresource
|
||
// HRESULT SetPrintTicketResource( IXpsOMPrintTicketResource *printTicketResource );
|
||
void SetPrintTicketResource([In] IXpsOMPrintTicketResource printTicketResource);
|
||
|
||
/// <summary>
|
||
/// Gets a pointer to the IXpsOMImageResource interface of the thumbnail image resource that is associated with the page.
|
||
/// </summary>
|
||
/// <returns>
|
||
/// A pointer to the IXpsOMImageResource interface of the thumbnail image resource that is associated with the page. If no
|
||
/// thumbnail image resource has been assigned to the page, a <c>NULL</c> pointer is returned.
|
||
/// </returns>
|
||
/// <remarks>
|
||
/// <para>The thumbnail image is a small, visual representation of the page's contents.</para>
|
||
/// <para>
|
||
/// After loading and parsing the resource into the XPS OM, this method might return an error that applies to another resource.
|
||
/// This occurs because all of the relationships are parsed when a resource is loaded.
|
||
/// </para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereference-getthumbnailresource
|
||
// HRESULT GetThumbnailResource( IXpsOMImageResource **imageResource );
|
||
IXpsOMImageResource GetThumbnailResource();
|
||
|
||
/// <summary>
|
||
/// Sets the pointer to the IXpsOMImageResource interface of the thumbnail image resource to be assigned to the page.
|
||
/// </summary>
|
||
/// <param name="imageResource">
|
||
/// A pointer to the IXpsOMImageResource interface of the thumbnail image resource to be assigned to the page. If an
|
||
/// <c>IXpsOMImageResource</c> interface has been set, a <c>NULL</c> pointer will release it.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// <para>The thumbnail image is a small, visual representation of the document's contents.</para>
|
||
/// <para>The image type of the image resource must be either XPS_IMAGE_TYPE_JPEG or <c>XPS_IMAGE_TYPE_PNG</c>.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereference-setthumbnailresource
|
||
// HRESULT SetThumbnailResource( IXpsOMImageResource *imageResource );
|
||
void SetThumbnailResource([In] IXpsOMImageResource imageResource);
|
||
|
||
/// <summary>
|
||
/// Gets an IXpsOMNameCollection interface that contains the names of all the document subtree objects whose
|
||
/// <c>IsHyperlinkTarget</c> property is set to <c>TRUE</c>.
|
||
/// </summary>
|
||
/// <returns>
|
||
/// <para>
|
||
/// A pointer to an IXpsOMNameCollection interface that contains the names of all the document subtree objects whose
|
||
/// <c>IsHyperlinkTarget</c> property is set to <c>TRUE</c>. If no such objects exist in the document, the
|
||
/// <c>IXpsOMNameCollection</c> interface will be empty.
|
||
/// </para>
|
||
/// <para><c>Note</c> Every time this method is called, it returns a new collection.</para>
|
||
/// </returns>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// If the page is originally loaded from a package but is not currently loaded in the object model, this method returns the
|
||
/// values specified in the original <c>PageContent.LinkTargets</c> markup.
|
||
/// </para>
|
||
/// <para>If the document does not have any link targets, the name collection returned in linkTargets will be empty.</para>
|
||
/// <para>To get the number of elements in the collection that is returned in linkTargets, call the collection's GetCount method.</para>
|
||
/// <para>
|
||
/// This method returns the pointer to a new collection every time it is called. To prevent a memory leak, the pointer to a
|
||
/// previous collection should be released when it is no longer needed or before the pointer variable is reused for another call
|
||
/// to this method. The following code example shows how this can be done in a program.
|
||
/// </para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereference-collectlinktargets
|
||
// HRESULT CollectLinkTargets( IXpsOMNameCollection **linkTargets );
|
||
IXpsOMNameCollection CollectLinkTargets();
|
||
|
||
/// <summary>Creates a list of all part-based resources that are associated with the page.</summary>
|
||
/// <returns>
|
||
/// A pointer to the IXpsOMPartResources interface that contains the list of all part-based resources that are associated with
|
||
/// the page.
|
||
/// </returns>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// If the page is not loaded when this method is called, this method finds the part-based resources that are associated with
|
||
/// this page by parsing the relationships part of the page and returns them in the partResources parameter. If the page is
|
||
/// loaded, this method traverses the page's object model to find the part-based resources and returns them in partResources.
|
||
/// </para>
|
||
/// <para>
|
||
/// The list of resource parts that are returned in the IXpsOMPartResources interface is a snapshot of the document structure
|
||
/// that is taken when the method is called. Changes made to the document after this call are not reflected in the
|
||
/// <c>IXpsOMPartResources</c> interface after it is returned by this method. Likewise, changes made to the
|
||
/// <c>IXpsOMPartResources</c> interface that is returned by this method will not be reflected in the document contents.
|
||
/// </para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereference-collectpartresources
|
||
// HRESULT CollectPartResources( IXpsOMPartResources **partResources );
|
||
IXpsOMPartResources CollectPartResources();
|
||
|
||
/// <summary>
|
||
/// Gets a Boolean value that indicates whether the document sub-tree of the referenced page includes any Glyphs that have a
|
||
/// font resource whose <c>EmbeddingOption</c> property is set to XPS_FONT_EMBEDDING_RESTRICTED.
|
||
/// </summary>
|
||
/// <returns>
|
||
/// <para>
|
||
/// A Boolean value that indicates whether the document sub-tree of the referenced page includes any IXpsOMGlyphs interfaces
|
||
/// that have a font resource whose <c>EmbeddingOption</c> property is set to XPS_FONT_EMBEDDING_RESTRICTED.
|
||
/// </para>
|
||
/// <list type="table">
|
||
/// <listheader>
|
||
/// <term>Value</term>
|
||
/// <term>Meaning</term>
|
||
/// </listheader>
|
||
/// <item>
|
||
/// <term>TRUE</term>
|
||
/// <term>
|
||
/// If the referenced page is loaded, the page references at least one font resource whose EmbeddingOption property is set to
|
||
/// XPS_FONT_EMBEDDING_RESTRICTED. If the referenced page is not loaded, it has a relationship with at least one font resource
|
||
/// whose EmbeddingOption property is set to XPS_FONT_EMBEDDING_RESTRICTED.
|
||
/// </term>
|
||
/// </item>
|
||
/// <item>
|
||
/// <term>FALSE</term>
|
||
/// <term>
|
||
/// If the referenced page is loaded, the page does not reference any font resources whose EmbeddingOption property is set to
|
||
/// XPS_FONT_EMBEDDING_RESTRICTED. If the referenced page is not loaded, it does not have a relationship with a font resource
|
||
/// whose EmbeddingOption property is set to XPS_FONT_EMBEDDING_RESTRICTED.
|
||
/// </term>
|
||
/// </item>
|
||
/// </list>
|
||
/// </returns>
|
||
/// <remarks>
|
||
/// This value is not updated automatically. If fonts or glyphs are added or removed such that the value changes,
|
||
/// <c>HasRestrictedFonts</c> must be called again to get the current value.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereference-hasrestrictedfonts
|
||
// HRESULT HasRestrictedFonts( BOOL *restrictedFonts );
|
||
[return: MarshalAs(UnmanagedType.Bool)]
|
||
bool HasRestrictedFonts();
|
||
|
||
/// <summary>Makes a deep copy of the interface.</summary>
|
||
/// <returns>A pointer to the copy of the interface.</returns>
|
||
/// <remarks>This method does not update the resource pointers in the new IXpsOMPageReference interface.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereference-clone HRESULT Clone(
|
||
// IXpsOMPageReference **pageReference );
|
||
IXpsOMPageReference Clone();
|
||
}
|
||
|
||
/// <summary>A collection of IXpsOMPageReference interface pointers.</summary>
|
||
/// <remarks>For more information about the collection methods, see Working with XPS OM Collection Interfaces.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nn-xpsobjectmodel-ixpsompagereferencecollection
|
||
[PInvokeData("xpsobjectmodel.h", MSDNShortId = "4b51bc29-c653-41fa-bbd3-9ff529f84e4e")]
|
||
[ComImport, Guid("CA16BA4D-E7B9-45C5-958B-F98022473745"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||
public interface IXpsOMPageReferenceCollection
|
||
{
|
||
/// <summary>Gets the number of IXpsOMPageReference interface pointers in the collection.</summary>
|
||
/// <returns>The number of IXpsOMPageReference interface pointers in the collection.</returns>
|
||
/// <remarks>For more information about the collection methods, see Working with XPS OM Collection Interfaces.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereferencecollection-getcount
|
||
// HRESULT GetCount( UINT32 *count );
|
||
uint GetCount();
|
||
|
||
/// <summary>Gets an IXpsOMPageReference interface pointer from a specified location in the collection.</summary>
|
||
/// <param name="index">The zero-based index of the IXpsOMPageReference interface pointer to be obtained.</param>
|
||
/// <returns>The IXpsOMPageReference interface pointer at the location specified by index.</returns>
|
||
/// <remarks>For more information about the collection methods, see Working with XPS OM Collection Interfaces.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereferencecollection-getat
|
||
// HRESULT GetAt( UINT32 index, IXpsOMPageReference **pageReference );
|
||
IXpsOMPageReference GetAt([In] uint index);
|
||
|
||
/// <summary>Inserts an IXpsOMPageReference interface pointer at a specified location in the collection.</summary>
|
||
/// <param name="index">
|
||
/// The zero-based index in the collection where the interface pointer that is passed in pageReference is to be inserted.
|
||
/// </param>
|
||
/// <param name="pageReference">
|
||
/// The IXpsOMPageReference interface pointer that is to be inserted at the location specified by index.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// At the location specified by index, this method inserts the IXpsOMPageReference interface pointer that is passed in
|
||
/// pageReference. Prior to the insertion, the pointer in this and all subsequent locations is moved up by one index.
|
||
/// </para>
|
||
/// <para>For more information about the collection methods, see Working with XPS OM Collection Interfaces.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereferencecollection-insertat
|
||
// HRESULT InsertAt( UINT32 index, IXpsOMPageReference *pageReference );
|
||
void InsertAt([In] uint index, [In] IXpsOMPageReference pageReference);
|
||
|
||
/// <summary>Removes and releases an IXpsOMPageReference interface pointer from a specified location in the collection.</summary>
|
||
/// <param name="index">
|
||
/// The zero-based index in the collection from which an IXpsOMPageReference interface pointer is to be removed and released.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// This method releases the interface referenced by the pointer at the location specified by index. After releasing the
|
||
/// interface, this method compacts the collection by reducing by 1 the index of each pointer subsequent to index.
|
||
/// </para>
|
||
/// <para>For more information about the collection methods, see Working with XPS OM Collection Interfaces.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereferencecollection-removeat
|
||
// HRESULT RemoveAt( UINT32 index );
|
||
void RemoveAt([In] uint index);
|
||
|
||
/// <summary>Replaces an IXpsOMPageReference interface pointer at a specified location in the collection.</summary>
|
||
/// <param name="index">The zero-based index in the collection where an IXpsOMPageReference interface pointer is to be replaced.</param>
|
||
/// <param name="pageReference">
|
||
/// The IXpsOMPageReference interface pointer that will replace current contents at the location specified by index.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// At the location specified by index, this method releases the IXpsOMPageReference interface referenced by the existing
|
||
/// pointer, then writes the pointer that is passed in pageReference.
|
||
/// </para>
|
||
/// <para>For more information about the collection methods, see Working with XPS OM Collection Interfaces.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereferencecollection-setat
|
||
// HRESULT SetAt( UINT32 index, IXpsOMPageReference *pageReference );
|
||
void SetAt([In] uint index, [In] IXpsOMPageReference pageReference);
|
||
|
||
/// <summary>Appends an IXpsOMPageReference interface to the end of the collection.</summary>
|
||
/// <param name="pageReference">A pointer to the IXpsOMPageReference interface that is to be appended to the collection.</param>
|
||
/// <returns>If the method succeeds, it returns S_OK; otherwise, it returns an <c>HRESULT</c> error code.</returns>
|
||
/// <remarks>For more information about the collection methods, see Working with XPS OM Collection Interfaces.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompagereferencecollection-append
|
||
// HRESULT Append( IXpsOMPageReference *pageReference );
|
||
void Append([In] IXpsOMPageReference pageReference);
|
||
}
|
||
|
||
/// <summary>The base interface for all XPS document part interfaces.</summary>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nn-xpsobjectmodel-ixpsompart
|
||
[PInvokeData("xpsobjectmodel.h", MSDNShortId = "71cd0155-6c95-42ca-bfc3-dffd43d95dc9")]
|
||
[ComImport, Guid("74EB2F0B-A91E-4486-AFAC-0FABECA3DFC6"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||
public interface IXpsOMPart
|
||
{
|
||
/// <summary>Gets the name that will be used when the part is serialized.</summary>
|
||
/// <returns>
|
||
/// A pointer to the IOpcPartUri interface that contains the part name. If the part name has not been set (by the SetPartName
|
||
/// method), a <c>NULL</c> pointer is returned.
|
||
/// </returns>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompart-getpartname HRESULT
|
||
// GetPartName( IOpcPartUri **partUri );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
IOpcPartUri GetPartName();
|
||
|
||
/// <summary>Sets the name that will be used when the part is serialized.</summary>
|
||
/// <param name="partUri">
|
||
/// A pointer to the IOpcPartUri interface that contains the name of this part. This parameter cannot be <c>NULL</c>.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// IXpsOMPackageWriter will generate an error if it encounters an XPS document part whose name is the same as that of a part it
|
||
/// has previously serialized.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompart-setpartname HRESULT
|
||
// SetPartName( IOpcPartUri *partUri );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
void SetPartName([In] IOpcPartUri partUri);
|
||
}
|
||
|
||
/// <summary>Provides access to all shared, part-based resources of the XPS document.</summary>
|
||
/// <remarks>The code example that follows illustrates how to create an instance of this interface.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nn-xpsobjectmodel-ixpsompartresources
|
||
[PInvokeData("xpsobjectmodel.h", MSDNShortId = "9f706f23-25a0-40ee-93f4-3d7ac98ad6ed")]
|
||
[ComImport, Guid("F4CF7729-4864-4275-99B3-A8717163ECAF"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||
public interface IXpsOMPartResources
|
||
{
|
||
/// <summary>Gets the IXpsOMFontResourceCollection interface that contains the fonts that are used in the XPS document.</summary>
|
||
/// <returns>A pointer to the IXpsOMFontResourceCollection interface that contains the fonts that are used in the XPS document.</returns>
|
||
/// <remarks>
|
||
/// After loading and parsing the resource into the XPS OM, this method might return an error that applies to another resource.
|
||
/// This occurs because all of the relationships are parsed when a resource is loaded.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompartresources-getfontresources
|
||
// HRESULT GetFontResources( IXpsOMFontResourceCollection **fontResources );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
IXpsOMFontResourceCollection GetFontResources();
|
||
|
||
/// <summary>Gets the IXpsOMImageResourceCollection interface that contains the images that are used in the XPS document.</summary>
|
||
/// <returns>A pointer to the IXpsOMImageResourceCollection interface that contains the images that are used in the XPS document.</returns>
|
||
/// <remarks>
|
||
/// After loading and parsing the resource into the XPS OM, this method might return an error that applies to another resource.
|
||
/// This occurs because all of the relationships are parsed when a resource is loaded.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompartresources-getimageresources
|
||
// HRESULT GetImageResources( IXpsOMImageResourceCollection **imageResources );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
IXpsOMImageResourceCollection GetImageResources();
|
||
|
||
/// <summary>
|
||
/// Gets the IXpsOMColorProfileResourceCollection interface that contains the color profiles that are used in the XPS document.
|
||
/// </summary>
|
||
/// <returns>
|
||
/// A pointer to the IXpsOMColorProfileResourceCollection interface that contains the color profiles that are used in the XPS document.
|
||
/// </returns>
|
||
/// <remarks>
|
||
/// After loading and parsing the resource into the XPS OM, this method might return an error that applies to another resource.
|
||
/// This occurs because all of the relationships are parsed when a resource is loaded.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompartresources-getcolorprofileresources
|
||
// HRESULT GetColorProfileResources( IXpsOMColorProfileResourceCollection **colorProfileResources );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
IXpsOMColorProfileResourceCollection GetColorProfileResources();
|
||
|
||
/// <summary>
|
||
/// Gets the IXpsOMRemoteDictionaryResourceCollection interface that contains the remote resource dictionaries that are used in
|
||
/// the XPS document.
|
||
/// </summary>
|
||
/// <returns>
|
||
/// A pointer to the IXpsOMRemoteDictionaryResourceCollection interface that contains the remote resource dictionaries that are
|
||
/// used in the XPS document.
|
||
/// </returns>
|
||
/// <remarks>
|
||
/// After loading and parsing the resource into the XPS OM, this method might return an error that applies to another resource.
|
||
/// This occurs because all of the relationships are parsed when a resource is loaded.
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsompartresources-getremotedictionaryresources
|
||
// HRESULT GetRemoteDictionaryResources( IXpsOMRemoteDictionaryResourceCollection **dictionaryResources );
|
||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||
IXpsOMRemoteDictionaryResourceCollection GetRemoteDictionaryResources();
|
||
}
|
||
|
||
/// <summary>A collection of IOpcPartUri interface pointers.</summary>
|
||
/// <remarks>For more information about the collection methods, see Working with XPS OM Collection Interfaces.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nn-xpsobjectmodel-ixpsomparturicollection
|
||
[PInvokeData("xpsobjectmodel.h", MSDNShortId = "05fe9700-19e6-4e63-9693-cfa4b019f643")]
|
||
[ComImport, Guid("57C650D4-067C-4893-8C33-F62A0633730F"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
|
||
public interface IXpsOMPartUriCollection
|
||
{
|
||
/// <summary>Gets the number of IOpcPartUri interface pointers in the collection.</summary>
|
||
/// <returns>The number of IOpcPartUri interface pointers in the collection.</returns>
|
||
/// <remarks>For more information about the collection methods, see Working with XPS OM Collection Interfaces.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomparturicollection-getcount HRESULT
|
||
// GetCount( UINT32 *count );
|
||
uint GetCount();
|
||
|
||
/// <summary>Gets an IOpcPartUri interface pointer from a specified location in the collection.</summary>
|
||
/// <param name="index">The zero-based index of the IOpcPartUri interface pointer to be obtained.</param>
|
||
/// <returns>The IOpcPartUri interface pointer at the location specified by index.</returns>
|
||
/// <remarks>For more information about the collection methods, see Working with XPS OM Collection Interfaces.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomparturicollection-getat HRESULT
|
||
// GetAt( UINT32 index, IOpcPartUri **partUri );
|
||
IOpcPartUri GetAt([In] uint index);
|
||
|
||
/// <summary>Inserts an IOpcPartUri interface pointer at a specified location in the collection.</summary>
|
||
/// <param name="index">
|
||
/// The zero-based index of the collection where the interface pointer that is passed in partUri is to be inserted.
|
||
/// </param>
|
||
/// <param name="partUri">The IOpcPartUri interface pointer that is to be inserted at the location specified by index.</param>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// At the location specified by index, this method inserts the IOpcPartUri interface pointer that is passed in partUri. Prior
|
||
/// to the insertion, the pointer in this and all subsequent locations is moved up by one index.
|
||
/// </para>
|
||
/// <para>For more information about the collection methods, see Working with XPS OM Collection Interfaces.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomparturicollection-insertat HRESULT
|
||
// InsertAt( UINT32 index, IOpcPartUri *partUri );
|
||
void InsertAt([In] uint index, [In] IOpcPartUri partUri);
|
||
|
||
/// <summary>Removes and releases an IOpcPartUri interface pointer from a specified location in the collection.</summary>
|
||
/// <param name="index">
|
||
/// The zero-based index in the collection from which an IOpcPartUri interface pointer is to be removed and released.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// This method releases the interface referenced by the pointer at the location specified by index. After releasing the
|
||
/// interface, this method compacts the collection by reducing by 1 the index of each pointer subsequent to index.
|
||
/// </para>
|
||
/// <para>For more information about the collection methods, see Working with XPS OM Collection Interfaces.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomparturicollection-removeat HRESULT
|
||
// RemoveAt( UINT32 index );
|
||
void RemoveAt([In] uint index);
|
||
|
||
/// <summary>Replaces an IOpcPartUri interface pointer at a specified location in the collection.</summary>
|
||
/// <param name="index">The zero-based index of the collection where an IOpcPartUri interface pointer is to be replaced.</param>
|
||
/// <param name="partUri">
|
||
/// The IOpcPartUri interface pointer that will replace current contents at the location specified by index.
|
||
/// </param>
|
||
/// <remarks>
|
||
/// <para>
|
||
/// At the location specified by index, this method releases the IOpcPartUri interface referenced by the existing pointer, then
|
||
/// writes the pointer that is passed in partUri.
|
||
/// </para>
|
||
/// <para>For more information about the collection methods, see Working with XPS OM Collection Interfaces.</para>
|
||
/// </remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomparturicollection-setat HRESULT
|
||
// SetAt( UINT32 index, IOpcPartUri *partUri );
|
||
void SetAt([In] uint index, [In] IOpcPartUri partUri);
|
||
|
||
/// <summary>Appends an IOpcPartUri interface to the end of the collection.</summary>
|
||
/// <param name="partUri">A pointer to the IOpcPartUri interface that is to be appended to the collection.</param>
|
||
/// <returns>If the method succeeds, it returns S_OK; otherwise, it returns an <c>HRESULT</c> error code.</returns>
|
||
/// <remarks>For more information about the collection methods, see Working with XPS OM Collection Interfaces.</remarks>
|
||
// https://docs.microsoft.com/en-us/windows/win32/api/xpsobjectmodel/nf-xpsobjectmodel-ixpsomparturicollection-append HRESULT
|
||
// Append( IOpcPartUri *partUri );
|
||
void Append([In] IOpcPartUri partUri);
|
||
}
|
||
}
|
||
} |