Compartir a través de


Método IAppxPackageWriter::AddPayloadFile (appxpackaging.h)

Agrega un nuevo archivo de carga al paquete de la aplicación.

Sintaxis

HRESULT AddPayloadFile(
  [in] LPCWSTR                 fileName,
  [in] LPCWSTR                 contentType,
  [in] APPX_COMPRESSION_OPTION compressionOption,
  [in] IStream                 *inputStream
);

Parámetros

[in] fileName

Tipo: LPCWSTR

Nombre del archivo de carga. La ruta de acceso del nombre de archivo debe ser relativa a la raíz del paquete.

[in] contentType

Tipo: LPCWSTR

Cadena que especifica el tipo de contenido de fileName.

[in] compressionOption

Tipo: APPX_COMPRESSION_OPTION

Tipo de compresión que se va a usar para almacenar fileName en el paquete.

[in] inputStream

Tipo: IStream*

IStream que proporciona el contenido de fileName. La secuencia debe admitir Read, Seek y Stat.

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. Se pueden producir códigos OPC de error, además de OPC_E_DUPLICATE_PART. Si se produce un error en el método, el escritor de paquetes se cerrará en un estado de error y no se podrá usar más.

Código devuelto Descripción
E_INVALIDARG
La opción de compresión especificada por compressionOption no es uno de los valores de la enumeración APPX_COMPRESSION_OPTION .
E_NOT_VALID_STATE
El sistema de escritura está cerrado.
HRESULT_FROM_WIN32(ERROR_INVALID_NAME)
El nombre de archivo especificado no es un nombre de archivo válido o es un nombre reservado para un archivo de superficie.
OPC_E_DUPLICATE_PART
El nombre de archivo especificado ya está en uso en el paquete.

Comentarios

Cuando el método AddPayloadFile se realiza correctamente, el contenido del fileName especificado se escribe en el paquete y se realiza una entrada correspondiente en el mapa de bloques del paquete.

Nota Los archivos con los siguientes nombres de archivo reservados no se pueden agregar al paquete mediante el método AddPayloadFile :

AppxManifest.xml, AppxBlockMap.xml, AppxStreamMap.xml y AppxSignature.p7x.

Además, los archivos con los siguientes prefijos de carpeta reservada no se pueden agregar al paquete mediante el método AddPayloadFile : \AppxMetadata\ y \Microsoft.System.Package.Metadata\.

Ejemplos

Para obtener un ejemplo, consulte Creación de un paquete de 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

APPX_COMPRESSION_OPTION

IAppxPackageWriter