Método IAppxFactory::CreatePackageReader (appxpackaging.h)

Cria um leitor de pacote somente leitura com base no conteúdo fornecido por um IStream. Esse método não valida a assinatura digital.

Sintaxe

HRESULT CreatePackageReader(
  [in]          IStream            *inputStream,
  [out, retval] IAppxPackageReader **packageReader
);

Parâmetros

[in] inputStream

Tipo: IStream*

O fluxo de entrada que fornece o conteúdo do pacote para leitura. O fluxo deve dar suporte a Leitura, Busca e Estatística. Se esses métodos falharem, seus códigos de erro poderão ser passados e retornados por esse método.

[out, retval] packageReader

Tipo: IAppxPackageReader**

Um leitor de pacote.

Valor retornado

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro que inclui, mas não se limita, aqueles na tabela a seguir.

Código de retorno Descrição
APPX_E_INTERLEAVING_NOT_ALLOWED
O arquivo ZIP entregue por inputStream é um pacote OPC intercalado.
APPX_E_RELATIONSHIPS_NOT_ALLOWED
O pacote OPC entregue por inputStream contém relações de pacote/parte OPC.
APPX_E_MISSING_REQUIRED_FILE
O pacote OPC entregue por inputStream não tem um manifesto, um mapa de blocos ou um arquivo de assinatura quando um catálogo de CI está presente.
APPX_E_INVALID_MANIFEST
O manifesto do pacote não é válido.
APPX_E_INVALID_BLOCKMAP
O mapa de blocos do pacote não é válido, a lista de arquivos no diretório central zip não corresponde à lista de arquivos no mapa de blocos ou o tamanho dos arquivos listados no diretório central zip não corresponde aos tamanhos de arquivo e bloco listados no mapa de blocos.

Comentários

O método CreatePackageReader recupera imediatamente os elementos de volume do pacote do aplicativo por meio do fluxo e valida seu conteúdo. Esse método só terá êxito se o pacote OPC e todos os elementos de volume (incluindo diretório central ZIP, manifesto, [Content_Types].xml e mapa de blocos) forem válidos.

Exemplos

Para obter um exemplo, consulte Início Rápido: Extrair conteúdo do pacote do aplicativo e Início Rápido: Ler informações de manifesto do pacote do aplicativo.

Requisitos

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

Confira também

IAppxFactory