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


Метод IXpsOMObjectFactory::CreatePage (xpsobjectmodel.h)

Создает интерфейс IXpsOMPage , который предоставляет корневой узел дерева объектов, представляющих содержимое одной страницы.

Синтаксис

HRESULT CreatePage(
  [in]          const XPS_SIZE *pageDimensions,
  [in]          LPCWSTR        language,
  [in]          IOpcPartUri    *partUri,
  [out, retval] IXpsOMPage     **page
);

Параметры

[in] pageDimensions

Структура XPS_SIZE , указывающая размер создаваемой страницы.

Размер описывается в разделе Единицы XPS. На дюйм приходится 96 единиц XPS. Например, размер страницы размером 8,5 на 11,0 дюйма составляет 816 на 1056 единиц XPS.

[in] language

Строка, указывающая язык по умолчанию для созданной страницы.

Важно Строка языка должна соответствовать синтаксису RFC 3066.
 

[in] partUri

Интерфейс IOpcPartUri , содержащий имя части, назначаемой этому ресурсу.

[out, retval] page

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

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

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

Код возврата Описание
S_OK
Метод выполнен успешно.
E_POINTER
pageDimensions, partUri или page имеет значение NULL.
XPS_E_INVALID_LANGUAGE
language не содержит допустимую языковую строку.
XPS_E_INVALID_PAGE_SIZE
pageDimensions содержит недопустимый размер страницы или недопустимые значения размера страницы.

Комментарии

В следующем примере кода показано, как этот метод используется для создания нового интерфейса.


IXpsOMPage        *newInterface;
// The following values are defined outside of 
// this example.
//  LPWSTR        language;
//  XPS_SIZE      pageDimensions;

// 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->CreatePartUri(partUriString, &partUri);
    if (SUCCEEDED(hr))
    {
        hr = xpsFactory->CreatePage (
            &pageDimensions,
            language,
            partUri,
            &newInterface);

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

            newInterface->Release();
        }
        partUri->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

Целевая группа интернет-инженерии (IETF) RFC 3066

XPS

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