Поделиться через


Метод IAppxBundleWriter::AddPayloadPackage (appxpackaging.h)

Добавляет в пакет новый пакет приложения.

Синтаксис

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

Параметры

[in] fileName

Тип: LPCWSTR

Имя файла полезных данных. Путь к имени файла должен быть относительно корневого каталога пакета.

[in] packageStream

Тип: IStream*

IStream, предоставляющий содержимое fileName. Поток должен поддерживать чтение, поиск и статистику.

Возвращаемое значение

Тип: HRESULT

Если метод завершается успешно, он возвращает S_OK. В противном случае он возвращает код ошибки, который включает в себя , помимо прочего, те, которые приведены в следующей таблице. В дополнение к OPC_E_DUPLICATE_PART могут возникнуть ошибки кодов OPC. Если метод завершается ошибкой, модуль записи пакета закроется в состоянии сбоя и больше не сможет использоваться.

Код возврата Описание
E_NOT_VALID_STATE
Модуль записи закрыт.
HRESULT_FROM_WIN32(ERROR_INVALID_NAME)
Указанное имя файла не является допустимым или зарезервированным именем для файла занимаемой памяти.
OPC_E_DUPLICATE_PART
Указанное имя файла уже используется в пакете.

Комментарии

При успешном выполнении метода AddPayloadFile содержимое указанного fileName записывается в пакет и в сопоставлении блоков пакетов создается соответствующая запись.

AddPayloadPackage считывает содержимое пакета приложения из packageStream и сохраняет содержимое в пакете с заданным fileName.

AddPayloadPackage может завершиться ошибкой, если:

  • PackageStream не доставляет допустимый пакет приложения
  • Пакет приложения, доставляемый packageStream , находится в семействе пакетов, отличном от уже добавленного в пакет пакета.
  • Пакет приложения, доставляемый packageStream , предназначен для архитектуры, которая не может находиться в том же пакете, что и другой пакет приложения, уже добавленный в пакет.
  • Пакет приложения, доставляемый packageStream , имеет схему блоков, которая использует метод хэширования, отличный от того, который уже добавлен в пакет приложения.
  • fileName не является допустимым именем файла, является зарезервированным или уже используется другим пакетом приложения, добавленным в пакет.

Требования

Требование Значение
Минимальная версия клиента Windows 8.1 [только классические приложения]
Минимальная версия сервера Windows Server 2012 R2 [только классические приложения]
Целевая платформа Windows
Header appxpackaging.h

См. также раздел

IAppxBundleWriter