Compartilhar via


Método IXpsOMObjectFactory::CreatePackageWriterOnFile (xpsobjectmodel.h)

Abre um arquivo para gravar o conteúdo de um OM XPS em um pacote XPS.

Sintaxe

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
);

Parâmetros

[in] fileName

O nome do arquivo a ser criado.

[in] securityAttributes

A estrutura SECURITY_ATTRIBUTES , que contém dois membros separados, mas relacionados:

  • lpSecurityDescriptor: um descritor de segurança opcional
  • bInheritHandle: um valor booliano que determina se o identificador retornado pode ser herdado por processos filho
Se lpSecurityDescriptor for NULL, o arquivo ou dispositivo associado ao identificador retornado será atribuído a um descritor de segurança padrão.

Para obter mais informações sobre securityAttributes, consulte CreateFile.

[in] flagsAndAttributes

Especifica as configurações e os atributos do arquivo a ser criado. Para a maioria dos arquivos, o valor de FILE_ATTRIBUTE_NORMAL pode ser usado.

Consulte CreateFile para obter mais informações sobre esse parâmetro.

[in] optimizeMarkupSize

Um valor booliano que indica se a marcação do documento será otimizada para tamanho quando o conteúdo do OM XPS for gravado no pacote XPS.

Valor Significado
VERDADE
O gravador de pacote tentará otimizar a marcação para o tamanho mínimo.
FALSE
O gravador de pacotes não tentará executar nenhuma otimização.

[in] interleaving

Especifica se o conteúdo do OM XPS será intercalado quando ele for gravado no arquivo.

[in] documentSequencePartName

A interface IOpcPartUri que contém o nome da parte da sequência de documentos no novo arquivo.

[in] coreProperties

A interface IXpsOMCoreProperties que contém as propriedades principais do documento a serem fornecidas ao novo arquivo. Esse parâmetro pode ser definido como NULL.

[in] packageThumbnail

A interface IXpsOMImageResource que contém a imagem em miniatura a ser atribuída ao novo arquivo. Esse parâmetro pode ser definido como NULL.

[in] documentSequencePrintTicket

A interface IXpsOMPrintTicketResource que contém o tíquete de impressão no nível do pacote a ser atribuído ao novo arquivo. Esse parâmetro pode ser definido como NULL.

[in] discardControlPartName

A interface IOpcPartUri que contém o nome da parte de controle de descarte. Esse parâmetro pode ser definido como NULL.

[out, retval] packageWriter

Um ponteiro para a nova interface IXpsOMPackageWriter criada por esse método.

Retornar valor

O método retorna um HRESULT. Os valores possíveis incluem, mas não se limitam, aqueles na tabela a seguir. Para obter informações sobre valores retornados da API de documento XPS que não estão listados nesta tabela, consulte Erros de documento XPS.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.
E_POINTER
filename, documentSequencePartName ou packageWriter é NULL.
XPS_E_NO_CUSTOM_OBJECTS
coreProperties, documentSequencePrintTicket ou packageThumbnail não aponta para uma implementação de interface reconhecida. Não há suporte para a implementação personalizada de interfaces da API de Documento XPS.
 

Esse método chama a API de Empacotamento . Para obter informações sobre os valores retornados da API de Empacotamento, consulte Erros de empacotamento.

Comentários

O arquivo é aberto e inicializado e a interface IXpsOMPackageWriter retornada é usada para gravar tipos de conteúdo, relações de pacote, propriedades principais, recursos de sequência de documentos e relações de sequência de documentos.

Se documentSequencePrintTicket estiver definido como NULL e o valor da intercalação for XPS_INTERLEAVING_ON, esse método criará um tíquete de impressão em branco no nível do trabalho e adicionará uma relação ao tíquete de impressão em branco. Isso é feito para fornecer um consumo de streaming mais eficiente do pacote.

Se documentSequencePrintTicket estiver definido como NULL e o valor de intercalação for XPS_INTERLEAVING_OFF, nenhum tíquete de impressão em branco será criado.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2, Windows Server 2008 com SP2 e Platform Update para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho xpsobjectmodel.h

Confira também

CreateFile

IXpsOMCoreProperties

IXpsOMImageResource

IXpsOMObjectFactory

IXpsOMPackageWriter

IXpsOMPrintTicketResource

Erros de empacotamento

SECURITY_ATTRIBUTES

Especificação de Papel XML

Erros de documento XPS