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


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

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

Синтаксис

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

Параметры

[in] stream

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

[in] reuseObjects

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

Значение Значение
ИСТИННЫЙ
Программное обеспечение попытается оптимизировать дерево объектов.
ЛОЖНЫХ
Программное обеспечение не будет пытаться оптимизировать дерево объектов.

[out, retval] package

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

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

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

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

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

Комментарии

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

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

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

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

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

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

Требования

Требование Значение
Минимальная версия клиента 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

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

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

IXpsOMObjectFactory

IXpsOMPackage

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

XPS

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