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

Crée un lecteur de package en lecture seule à partir du contenu fourni par un IStream. Cette méthode ne valide pas la signature numérique.

Syntaxe

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

Paramètres

[in] inputStream

Type : IStream*

Flux d’entrée qui fournit le contenu du package à lire. Le flux doit prendre en charge Read, Seek et Stat. Si ces méthodes échouent, leurs codes d’erreur peuvent être passés à et retournés par cette méthode.

[out, retval] packageReader

Type : IAppxPackageReader**

Lecteur de package.

Valeur retournée

Type : HRESULT

Si la méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur qui inclut, sans s’y limiter, ceux du tableau suivant.

Code de retour Description
APPX_E_INTERLEAVING_NOT_ALLOWED
Le fichier ZIP fourni par inputStream est un package OPC entrelacé.
APPX_E_RELATIONSHIPS_NOT_ALLOWED
Le package OPC fourni par inputStream contient des relations de composant/package OPC.
APPX_E_MISSING_REQUIRED_FILE
Le package OPC fourni par inputStream n’a pas de manifeste, de mappage de blocs ou de fichier de signature lorsqu’un catalogue CI est présent.
APPX_E_INVALID_MANIFEST
Le manifeste du package n’est pas valide.
APPX_E_INVALID_BLOCKMAP
Le mappage de blocs de package n’est pas valide, la liste des fichiers dans le répertoire central ZIP ne correspond pas à la liste des fichiers dans le mappage de blocs, ou la taille des fichiers répertoriés dans le répertoire central ZIP ne correspond pas aux tailles de fichiers et de blocs répertoriées dans le mappage de blocs.

Remarques

La méthode CreatePackageReader récupère immédiatement les éléments d’empreinte du package d’application via le flux et valide leur contenu. Cette méthode réussit uniquement si le package OPC et tous les éléments d’empreinte (y compris le répertoire central ZIP, le manifeste, [Content_Types].xml et le mappage de blocs) sont valides.

Exemples

Pour obtenir un exemple, consultez Démarrage rapide : Extraire le contenu du package d’application et Démarrage rapide : Lire les informations du manifeste du package d’application.

Configuration requise

   
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
Plateforme cible Windows
En-tête appxpackaging.h

Voir aussi

IAppxFactory