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


Метод IAppxPackageWriter::AddPayloadFile (appxpackaging.h)

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

Синтаксис

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

Параметры

[in] fileName

Тип: LPCWSTR

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

[in] contentType

Тип: LPCWSTR

Строка, указывающая тип содержимогоfileName.

[in] compressionOption

Тип: APPX_COMPRESSION_OPTION

Тип сжатия, используемый для хранения fileName в пакете.

[in] inputStream

Тип: IStream*

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

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

Тип: HRESULT

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

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

Комментарии

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

Примечание Файлы со следующими зарезервированными именами файлов нельзя добавить в пакет с помощью метода AddPayloadFile :

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

Кроме того, файлы со следующими зарезервированными префиксами папки нельзя добавить в пакет с помощью метода AddPayloadFile : \AppxMetadata\ и \Microsoft.System.Package.Metadata\.

Примеры

Пример см. в статье Создание пакета приложения.

Требования

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

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

APPX_COMPRESSION_OPTION

IAppxPackageWriter