Share via


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

Agrega un nuevo paquete de aplicación al paquete.

Sintaxis

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

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] packageStream

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 agrupación se cerrará en un estado de error y no se podrá usar más.

Código devuelto Descripción
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 la agrupación.

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.

AddPayloadPackage lee el contenido del paquete de la aplicación de packageStream y almacena el contenido en la agrupación con el fileName especificado.

AddPayloadPackage puede producir un error si:

  • packageStream no entrega un paquete de aplicación válido
  • El paquete de la aplicación entregado por packageStream está en una familia de paquetes diferente de la que ya se ha agregado a la agrupación.
  • El paquete de aplicación entregado por packageStream está destinado a una arquitectura que no puede residir en la misma agrupación que otro paquete de aplicación que ya se ha agregado a la agrupación.
  • El paquete de aplicación entregado por packageStream tiene un mapa de bloques que usa un método hash diferente al de un paquete de aplicación que ya se ha agregado a la agrupación.
  • fileName no es un nombre de archivo válido, es un nombre reservado o ya lo usa otro paquete de aplicación agregado a la agrupación.

Requisitos

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

Consulte también

IAppxBundleWriter