IXpsOMObjectFactory::CreatePageReference 方法 (xpsobjectmodel.h)

创建启用页面虚拟化的 IXpsOMPageReference 接口。

语法

HRESULT CreatePageReference(
  [in]          const XPS_SIZE      *advisoryPageDimensions,
  [out, retval] IXpsOMPageReference **pageReference
);

参数

[in] advisoryPageDimensions

设置) (页面宽度和页面高度的XPS_SIZE结构。

大小以 XPS 单位描述。 每英寸有 96 个 XPS 单位。 例如,8.5“ x 11.0” 页的尺寸为 816 x 1,056 XPS 单位。

[out, retval] pageReference

指向新 IXpsOMPageReference 接口的 指针。

返回值

该方法返回 HRESULT。 可能的值包括但不限于下表中的值。 有关此表中未列出的 XPS 文档 API 返回值的信息,请参阅 XPS 文档错误

返回代码 说明
S_OK
方法成功。
E_POINTER
advisoryPageDimensionspageReferenceNULL
XPS_E_INVALID_PAGE_SIZE
advisoryPageDimensions 包含无效的页面大小或无效的页面大小值。

注解

使用页面引用可以延迟页面的完整对象模型的加载,直到显式请求加载。 如果页面尚未更改,则可以在请求时卸载它。

下面的代码示例演示了如何使用此方法创建新接口。


IXpsOMPageReference    *newInterface;
// The following value is defined outside of 
// this example.
XPS_SIZE        advisoryPageDimensions;

// Note the implicit requirement that CoInitializeEx 
//  has previously been called from this thread.

hr = CoCreateInstance(
    __uuidof(XpsOMObjectFactory),
    NULL,
    CLSCTX_INPROC_SERVER,
    _uuidof(IXpsOMObjectFactory),
    reinterpret_cast<LPVOID*>(&xpsFactory)
    );

if (SUCCEEDED(hr))
{
    hr = xpsFactory->CreatePageReference (
        &advisoryPageDimensions,
        &newInterface);

    if (SUCCEEDED(hr))
    {
        // use newInterface

        newInterface->Release();
    }
    xpsFactory->Release();
}
else
{
    // evaluate HRESULT error returned in hr
}

要求

要求
最低受支持的客户端 Windows 7、带 SP2 的 Windows Vista 和适用于 Windows Vista 的平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2、Windows Server 2008 SP2 和适用于 Windows Server 2008 的平台更新 [桌面应用 |UWP 应用]
目标平台 Windows
标头 xpsobjectmodel.h

另请参阅

IXpsOMObjectFactory

IXpsOMPageReference

XML 纸张规范

XPS 文档错误

XPS_SIZE