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


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

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

Синтаксис

HRESULT CreatePackageWriterOnFile(
  [in]          LPCWSTR                   fileName,
  [in]          LPSECURITY_ATTRIBUTES     securityAttributes,
  [in]          DWORD                     flagsAndAttributes,
  [in]          BOOL                      optimizeMarkupSize,
  [in]          XPS_INTERLEAVING          interleaving,
  [in]          IOpcPartUri               *documentSequencePartName,
  [in]          IXpsOMCoreProperties      *coreProperties,
  [in]          IXpsOMImageResource       *packageThumbnail,
  [in]          IXpsOMPrintTicketResource *documentSequencePrintTicket,
  [in]          IOpcPartUri               *discardControlPartName,
  [out, retval] IXpsOMPackageWriter       **packageWriter
);

Параметры

[in] fileName

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

[in] securityAttributes

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

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

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

[in] flagsAndAttributes

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

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

[in] optimizeMarkupSize

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

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

[in] interleaving

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

[in] documentSequencePartName

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

[in] coreProperties

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

[in] packageThumbnail

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

[in] documentSequencePrintTicket

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

[in] discardControlPartName

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

[out, retval] packageWriter

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

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

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

Возвращаемый код Описание
S_OK
Метод выполнен успешно.
E_POINTER
имени файла, documentSequencePartNameили packageWriterNULL.
XPS_E_NO_CUSTOM_OBJECTS
coreProperties, documentSequencePrintTicketили packageThumbnail не указывает на распознаваемую реализацию интерфейса. Настраиваемая реализация интерфейсов API документов XPS не поддерживается.
 

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

Замечания

Файл открывается и инициализируется и интерфейс IXpsOMPackageWriter, который возвращается, затем используется для записи типов контента, связей пакетов, основных свойств, ресурсов последовательности документов и связей последовательности документов.

Если documentSequencePrintTicket имеет значение NULL, а значение переключения равно XPS_INTERLEAVING_ON, этот метод создает пустой билет на печать уровня задания и добавляет связь с пустым билетом печати. Это делается для обеспечения более эффективного использования потоковой передачи пакета.

Если documentSequencePrintTicket задано значение NULL, а значение чередованияXPS_INTERLEAVING_OFF, пустой билет печати не создается.

Требования

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

См. также

CreateFile

IXpsOMCoreProperties

IXpsOMImageResource

IXpsOMObjectFactory

IXpsOMPackageWriter

IXpsOMPrintTicketResource

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

SECURITY_ATTRIBUTES

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

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