Поделиться через


Метод 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 на 11,0 дюйма составляет 816 на 1056 единиц XPS.

[out, retval] pageReference

Указатель на новый интерфейс IXpsOMPageReference .

Возвращаемое значение

Метод возвращает HRESULT. Возможные значения включают, помимо прочего, значения в следующей таблице. Сведения о возвращаемых значениях API документов XPS, не перечисленных в этой таблице, см. в статье Ошибки документа XPS.

Код возврата Описание
S_OK
Метод выполнен успешно.
E_POINTER
advisoryPageDimensions или pageReference имеет значение NULL.
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, Windows Vista с пакетом обновления 2 (SP2) и обновлением платформы для Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2) и Обновление платформы для Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header xpsobjectmodel.h

См. также раздел

IXpsOMObjectFactory

IXpsOMPageReference

XPS

Ошибки документа XPS

XPS_SIZE