Freigeben über


IAppxPackageWriter::AddPayloadFile-Methode (appxpackaging.h)

Fügt dem App-Paket eine neue Nutzlastdatei hinzu.

Syntax

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

Parameter

[in] fileName

Typ: LPCWSTR

Der Name der Nutzlastdatei. Der Dateinamepfad muss relativ zum Stammverzeichnis des Pakets sein.

[in] contentType

Typ: LPCWSTR

Die Zeichenfolge, die den Inhaltstyp von fileName angibt.

[in] compressionOption

Typ: APPX_COMPRESSION_OPTION

Der Komprimierungstyp, der zum Speichern von fileName im Paket verwendet werden soll.

[in] inputStream

Typ: IStream*

Ein IStream , der den Inhalt von fileName bereitstellt. Der Stream muss Read, Seek und Stat unterstützen.

Rückgabewert

Typ: HRESULT

Wenn die Methode erfolgreich ist, gibt sie S_OK zurück. Andernfalls wird ein Fehlercode zurückgegeben, der die Fehler in der folgenden Tabelle enthält, aber nicht beschränkt ist. Fehler bei OPC-Codes können zusätzlich zu OPC_E_DUPLICATE_PART auftreten. Wenn die Methode fehlschlägt, wird der Paketschreiber in einem fehlerhaften Zustand geschlossen und kann nicht mehr verwendet werden.

Rückgabecode Beschreibung
E_INVALIDARG
Die von compressionOption angegebene Komprimierungsoption gehört nicht zu den Werten der APPX_COMPRESSION_OPTION-Enumeration .
E_NOT_VALID_STATE
Der Writer ist geschlossen.
HRESULT_FROM_WIN32(ERROR_INVALID_NAME)
Der angegebene Dateiname ist kein gültiger Dateiname oder ein reservierter Name für eine Footprintdatei.
OPC_E_DUPLICATE_PART
Der angegebene Dateiname wird bereits im Paket verwendet.

Hinweise

Wenn die AddPayloadFile-Methode erfolgreich ist, wird der Inhalt der angegebenen dateiName in das Paket geschrieben, und ein entsprechender Eintrag wird in der Paketblockzuordnung vorgenommen.

Hinweis Dateien mit den folgenden reservierten Dateinamen können dem Paket nicht mithilfe der AddPayloadFile-Methode hinzugefügt werden:

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

Außerdem können Dateien mit den folgenden reservierten Ordnerpräfixen dem Paket nicht mithilfe der AddPayloadFile-Methode hinzugefügt werden: \AppxMetadata\ und \Microsoft.System.Package.Metadata\.

Beispiele

Ein Beispiel finden Sie unter Erstellen eines App-Pakets.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile appxpackaging.h

Weitere Informationen

APPX_COMPRESSION_OPTION

IAppxPackageWriter