Share via


IAppxFile::GetStream-Methode (appxpackaging.h)

Ruft einen schreibgeschützten Stream ab, der den unkomprimierten Inhalt der Datei enthält.

Syntax

HRESULT GetStream(
  [out, retval] IStream **stream
);

Parameter

[out, retval] stream

Typ: IStream**

Ein schreibgeschützter Stream, der den unkomprimierten Inhalt der Datei enthält.

Rückgabewert

Typ: HRESULT

Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben.

[Fatal] OPC-Fehlercodes (0x8051xxxx), wenn der lokale Dateiheader oder Datendeskriptor der Datei im ZIP-Archiv ungültig ist. Dieser Fehler führt dazu, dass der gesamte OPC ZIP-Consumer in einen ungültigen Zustand wechselt. Nach dem Auftreten dieses Fehlers kann über das IAppxPackageReader-Objekt auf keine andere Datei zugegriffen werden.

HRESULT_FROM_WIN32(ERROR_CRC) (0x80070017), wenn der Stream zuvor gelesen wurde und sein CRC ungültig war.

Rückgabewert aus den zurückgegebenen IStream-Methoden Read und CopyTo

[Fatal] HRESULT_FROM_WIN32(ERROR_CRC) (0x80070017), wenn der gesamte Stream gelesen wurde und dessen CRC ungültig ist

APPX_E_CORRUPT_CONTENT (0x80080206), wenn der Dateiinhalt nicht dekomprimiert werden kann (aufgrund einer Beschädigung der ZIP-Datei).

HRESULT_FROM_WIN32(ERROR_INVALID_DATA) (0x8007000d), wenn ein Block in der Datei nicht vollständig gelesen werden kann oder die Größe des Blocks unerwartet ist

APPX_E_BLOCK_HASH_INVALID (0x80080207), wenn der Inhalt der Blöcke dieser Datei inkonsistent mit dem Hash in der Blockzuordnung ist

Hinweise

Der zurückgegebene Stream ist schreibgeschützt und klonbar.

Die Überprüfung der Nutzlastdateien ist "faul". Beim ersten Aufruf der GetStream-Methode der Datei wird der lokale Dateiheader und datendeskriptor des entsprechenden ZIP-Dateielements überprüft und kann zu einem Fehler bei GetStream führen. Nachfolgende Aufrufe von GetStream für dieselbe Datei wiederholen diese Überprüfungen nicht. Die CRC-Prüfsumme des ZIP-Dateielements wird nur überprüft, wenn der Stream vollständig in sequenzieller Reihenfolge gelesen wird.

Instanzen von IStream , die für Nutzlastdateien zurückgegeben werden, sind für den sequenziellen Zugriff optimiert. Obwohl der zufällige Zugriff auf den Stream unterstützt wird, kann dieser zufällige Zugriff langsamer und CPU-intensiver sein. Es wird empfohlen, diese Datenströme nach Möglichkeit in sequenzieller Reihenfolge zu lesen. Das mehrfache Lesen desselben Bereichs wird unterstützt, aber nicht für die Leistung empfohlen. Erwägen Sie das Zwischenspeichern solcher Bereiche, wenn ihr Nutzungsszenario dies erfordert.

Anforderungen

Anforderung Wert
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

IAppxFile

IAppxPackageReader