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

Открывает поток, содержащий пакет XPS, и возвращает дерево объектов документа XPS.

Синтаксис

HRESULT CreatePackageFromStream(
  [in]          IStream       *stream,
  [in]          BOOL          reuseObjects,
  [out, retval] IXpsOMPackage **package
);

Параметры

[in] stream

Поток, содержащий пакет XPS.

[in] reuseObjects

Логическое значение, указывающее, что программное обеспечение пытается оптимизировать дерево объектов документа путем совместного использования объектов, идентичных всем свойствам и дочерним объектам.

Ценность Meaning
TRUE
Программное обеспечение попытается оптимизировать дерево объектов.
FALSE
Программное обеспечение не попытается оптимизировать дерево объектов.

[out, retval] package

Указатель на новый интерфейс IXpsOMPackage , содержащий результирующее дерево объектов документов XPS.

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

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

Код возврата Description
S_OK
Метод выполнен успешно.
E_POINTER
поток или пакет имеет значение NULL.
 

Этот метод вызывает API упаковки . Сведения о возвращаемых значениях API упаковки см. в разделе "Ошибки упаковки".

Замечания

Этот метод не проверяет содержимое ресурсов на основе потока, которые она загружает из потока в объекты OM XPS. Вместо этого приложение должно проверить эти ресурсы перед их использованием.

Этот метод не десериализирует страницы документов; он выполняет десериализацию пакета XPS до страницы ссылочных частей. Фактические страницы можно десериализировать по мере их необходимости, вызвав метод IXpsOMPageReference::GetPage . Так как страницы не десериализируются при вызове GetPage , этот метод может возвращать S_OK или, если попытка загрузить проблемную страницу в пакете XPS, чтобы вернуть ошибку.

Если вы напишете OM XPS сразу после чтения пакета XPS в него, некоторые исходные содержимое могут быть потеряны или изменены.

Некоторые изменения, которые могут произойти в таком случае, перечислены в следующей таблице:

Функция документа Действие
Цифровые подписи Удалено из документа
Часть "ОтменитьControl" Удалено из документа
Части внешнего документа Удалено из документа
Разметка FixedPage Изменено из исходного
Разметка словаря ресурсов Изменено из исходного значения, если установлен флаг оптимизации
 

Сведения об использовании интерфейса IXpsOMPackage в программе см. в разделе "Создание пустой OM XPS".

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows 7, Windows Vista с пакетом обновления 2 (SP2) и обновление платформы для Windows Vista [классические приложения | Приложения UWP]
минимальный поддерживаемый сервер Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2) и обновлением платформы для Windows Server 2008 [классические приложения | Приложения UWP]
целевая платформа Виндоус
Header xpsobjectmodel.h

См. также

Создание пустой OM XPS

IXpsOMObjectFactory

IXpsOMPackage

Ошибки упаковки

Спецификация XML-бумаги

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