Compartir a través de


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

Crea un lector de paquetes de solo lectura a partir del contenido proporcionado por un IStream. Este método no valida la firma digital.

Sintaxis

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

Parámetros

[in] inputStream

Tipo: IStream*

Flujo de entrada que entrega el contenido del paquete para su lectura. La secuencia debe admitir Read, Seek y Stat. Si se produce un error en estos métodos, estos códigos de error podrían pasarse a este método y devolverlos.

[out, retval] packageReader

Tipo: IAppxPackageReader**

Lector de paquetes.

Valor devuelto

Tipo: HRESULT

Si el método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error que incluye, pero no está limitado a, los de la tabla siguiente.

Código devuelto Descripción
APPX_E_INTERLEAVING_NOT_ALLOWED
El archivo ZIP entregado por inputStream es un paquete OPC intercalado.
APPX_E_RELATIONSHIPS_NOT_ALLOWED
El paquete OPC entregado por inputStream contiene relaciones de paquetes o partes de OPC.
APPX_E_MISSING_REQUIRED_FILE
El paquete OPC entregado por inputStream no tiene un manifiesto, ni un mapa de bloques, o un archivo de firma cuando hay un catálogo de CI presente.
APPX_E_INVALID_MANIFEST
El manifiesto del paquete no es válido.
APPX_E_INVALID_BLOCKMAP
El mapa de bloques del paquete no es válido, la lista de archivos del directorio central ZIP no coincide con la lista de archivos del mapa de bloques o el tamaño de los archivos enumerados en el directorio central ZIP no coincide con los tamaños de archivo y bloque enumerados en el mapa de bloques.

Comentarios

El método CreatePackageReader recupera inmediatamente los elementos de superficie del paquete de la aplicación a través de la secuencia y valida su contenido. Este método solo se realiza correctamente si el paquete OPC y todos los elementos de superficie (incluido el directorio central ZIP, el manifiesto, [Content_Types].xml y el mapa de bloques) son válidos.

Ejemplos

Para obtener un ejemplo, consulta Inicio rápido: Extracción del contenido del paquete de la aplicación e Inicio rápido: Leer la información del manifiesto del paquete de la aplicación.

Requisitos

   
Cliente mínimo compatible Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado appxpackaging.h

Consulte también

IAppxFactory