Compartilhar via


Método IAppxBundleWriter::AddPayloadPackage (appxpackaging.h)

Adiciona um novo pacote de aplicativos ao pacote.

Sintaxe

HRESULT AddPayloadPackage(
  [in] LPCWSTR fileName,
  [in] IStream *packageStream
);

Parâmetros

[in] fileName

Tipo: LPCWSTR

O nome do arquivo de conteúdo. O caminho do nome do arquivo deve ser relativo à raiz do pacote.

[in] packageStream

Tipo: IStream*

Um IStream que fornece o conteúdo de fileName. O fluxo deve dar suporte a Leitura, Busca e Estatística.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retorna um código de erro que inclui, mas não se limita a, aqueles na tabela a seguir. Códigos OPC de erro, além de OPC_E_DUPLICATE_PART podem resultar. Se o método falhar, o gravador de pacote será fechado em um estado com falha e não poderá mais ser usado.

Código de retorno Descrição
E_NOT_VALID_STATE
O gravador está fechado.
HRESULT_FROM_WIN32(ERROR_INVALID_NAME)
O nome do arquivo especificado não é um nome de arquivo válido ou é um nome reservado para um arquivo de volume.
OPC_E_DUPLICATE_PART
O nome do arquivo especificado já está em uso no pacote.

Comentários

Quando o método AddPayloadFile é bem-sucedido, o conteúdo do fileName especificado é gravado no pacote e uma entrada correspondente é feita no mapa do bloco de pacotes.

AddPayloadPackage lê o conteúdo do pacote do aplicativo do packageStream e armazena o conteúdo no pacote com o fileName fornecido.

AddPayloadPackage poderá falhar se:

  • packageStream não fornece um pacote de aplicativo válido
  • O pacote de aplicativos entregue pelo packageStream está em uma família de pacotes diferente de um pacote de aplicativo já adicionado ao pacote
  • O pacote de aplicativos entregue pelo packageStream é direcionado para uma arquitetura que não pode residir no mesmo pacote que outro pacote de aplicativo já adicionado ao pacote
  • O pacote de aplicativos entregue pelo packageStream tem um mapa de blocos que usa um método de hash diferente de um pacote de aplicativo já adicionado ao pacote
  • fileName não é um nome de arquivo válido, é um nome reservado ou já é usado por outro pacote de aplicativos adicionado ao pacote

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8.1 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2012 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho appxpackaging.h

Confira também

IAppxBundleWriter