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


Метод IXpsOMObjectFactory1::CreatePackageWriterOnFile1 (xpsobjectmodel_1.h)

Открывает файл для записи содержимого OM XPS в пакет XPS указанного типа. Этот метод создает модуль записи пакетов для документа MSXPS или документа OpenXPS.

Синтаксис

HRESULT CreatePackageWriterOnFile1(
  LPCWSTR                   fileName,
  LPSECURITY_ATTRIBUTES     securityAttributes,
  DWORD                     flagsAndAttributes,
  BOOL                      optimizeMarkupSize,
  XPS_INTERLEAVING          interleaving,
  IOpcPartUri               *documentSequencePartName,
  IXpsOMCoreProperties      *coreProperties,
  IXpsOMImageResource       *packageThumbnail,
  IXpsOMPrintTicketResource *documentSequencePrintTicket,
  IOpcPartUri               *discardControlPartName,
  XPS_DOCUMENT_TYPE         documentType,
  IXpsOMPackageWriter       **packageWriter
);

Параметры

fileName

[in] Имя создаваемого файла.

securityAttributes

[in, unique] Структура SECURITY_ATTRIBUTES, содержащая два отдельных, но связанных элемента:

  • lpSecurityDescriptor: необязательный дескриптор безопасности
  • bInheritHandle: логическое значение, определяющее, может ли возвращаемый дескриптор наследоваться дочерними процессами.
Если lpSecurityDescriptor null, то файл или устройство, связанное с возвращенным дескриптором безопасности, назначается дескриптор безопасности по умолчанию.

Дополнительные сведения о securityAttributesсм. в разделе CreateFile.

flagsAndAttributes

[in] Указывает параметры и атрибуты создаваемого файла. Для большинства файлов можно использовать значение FILE_ATTRIBUTE_NORMAL.

Дополнительные сведения об этом параметре см. в CreateFile.

optimizeMarkupSize

[in] Логическое значение, указывающее, будет ли разметка документа оптимизирована для размера при записи содержимого OM XPS в пакет XPS.

Ценность Значение
TRUE
Модуль записи пакетов попытается оптимизировать разметку для минимального размера.
FALSE
Модуль записи пакетов не будет пытаться выполнить любую оптимизацию.

interleaving

[in] Указывает, будет ли содержимое OM XPS чередоваться при записи в файл.

documentSequencePartName

[in] Интерфейс IOpcPartUri, содержащий имя части последовательности документов в новом файле.

coreProperties

[in] Интерфейс IXpsOMCoreProperties, содержащий основные свойства документа, которые будут предоставлены новому файлу. Этот параметр можно задать для null.

packageThumbnail

[in] Интерфейс IXpsOMImageResource, содержащий изображение эскиза, назначаемое новому файлу. Этот параметр можно задать для null.

documentSequencePrintTicket

[in] Интерфейс IXpsOMPrintTicketResource, содержащий билет на печать на уровне пакета, которому будет назначен новый файл. Этот параметр можно задать для null.

discardControlPartName

[in] Интерфейс IOpcPartUri, содержащий имя части элемента управления отмены. Этот параметр можно задать для null.

documentType

[in] Указывает тип документа записи пакетов. Значение этого параметра не может быть XPS_DOCUMENT_TYPE_UNSPECIFIED.

packageWriter

[out, retval] Указатель на новый интерфейс IXpsOMPackageWriter, созданный этим методом.

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

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

S_OK: метод успешно выполнен, а packageWriter был задан правильно.

E_INVALIDARG. Тип документа не был допустимым форматом документа XPS.

Замечания

Используйте этот метод для создания модуля записи пакетов для документа MSXPS или документа OpenXPS. CreatePackageWriterOnFile, выпущенной в Windows 7, создает только файлы документов XPS в формате MSXPS.

дополнительные ссылки

Дополнительные ссылки: описание устаревшего метода

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 8 [классические приложения | Приложения UWP]
минимальный поддерживаемый сервер Windows Server 2012 [классические приложения | Приложения UWP]
целевая платформа Виндоус
заголовка xpsobjectmodel_1.h
библиотеки Никакой

См. также

IXpsOMObjectFactory1