IOpcFactory::ReadPackageFromStream-Methode (msopc.h)

Deserialisiert Paketdaten aus einem Datenstrom und erstellt ein Paketobjekt, das das zu lesende Paket darstellt. Während ein Packaging-API-Objekt, das aus dem Paketobjekt oder dem Paketobjekt selbst abgerufen wird, weiterhin verwendet wird, kann der Datenstrom für den Zugriff auf Paketdaten verwendet werden.

Syntax

HRESULT ReadPackageFromStream(
  [in]          IStream        *stream,
  [in]          OPC_READ_FLAGS flags,
  [out, retval] IOpcPackage    **package
);

Die Parameter

[in] stream

Ein Zeiger auf die IStream-Schnittstelle des Datenstroms.

Der Datenstrom muss lesbar, suchbar, größe aufweisen und Paketdaten enthalten. Wenn der Datenstrom nicht geklont werden kann, wird er zusätzlich gepuffert und sequenziell gelesen, was zu Mehraufwand führt.

[in] flags

Der Wert, der die Leseeinstellungen für die Zwischenspeicherung von Paketkomponenten angibt und sie anhand der OPC-Konformitätsanforderungen überprüft.

[out, retval] package

Ein Zeiger auf die IOpcPackage-Schnittstelle des Paketobjekts, das das Paket darstellt, das durch den Datenstrom gelesen wird.

Rückgabewert

Die Methode gibt ein HRESULT zurück. Mögliche Werte sind die Werte in der folgenden Tabelle, sind jedoch nicht beschränkt.

Rückgabecode Description
S_OK
Die Methode wurde erfolgreich ausgeführt.
E_INVALIDARG
Der im Flags-Parameter übergebene Wert ist kein gültiger OPC_READ_FLAGS Enumerationswert.
E_NOTIMPL
Diese Methode ist für diese Version von Windows nicht implementiert.
E_POINTER
Mindestens einer der Datenstrom - und Paketparameter ist NULL.
IStream-Schnittstellenfehler
Ein HRESULT-Fehlercode aus der IStream-Schnittstelle .
Fehler beim Paketverbrauch
Ein HRESULT-Fehlercode aus der Fehlergruppe "Paketverbrauch".
Teil-URI-Fehler
Ein HRESULT-Fehlercode aus der Teil-URI-Fehlergruppe.

Bemerkungen

Verwenden Sie keinen Datenstrom, um Paketdaten zu serialisieren, wenn derselbe Datenstrom zum Deserialisieren eines Pakets verwendet wird, da der Versuch zu einem nicht definierten Verhalten führen kann.

Die Verpackungs-APIs können mit Paketen interagieren, die ein ZIP-Archiv wie im OPC angegeben zuordnen und auf zip32 (ZIP 2.0) oder Zip64 (ZIP 4.5)-Codierung basieren.

Informationen zur Verwendung dieser Methode zum Laden eines Pakets finden Sie unter " Laden einer Paketprogrammierungsaufgabe" .

Unterstützung für frühere Versionen von Windows

Diese Methode wird in Windows-Versionen vor Windows 7 nicht unterstützt. Weitere Informationen finden Sie unter "Erste Schritte mit der Verpackungs-API" und " Plattformupdate für Windows Vista".

Threadsicherheit

Das Verpacken von Objekten ist nicht threadsicher.

Weitere Informationen finden Sie unter " Erste Schritte mit der Verpackungs-API".

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows 7 [nur Desktop-Apps]
Mindestanforderungen für unterstützte Server Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Fenster
Header msopc.h

Siehe auch

Erste Schritte mit der Verpackungs-API

IOpcFactory

Laden eines Pakets

OPC_READ_FLAGS

Übersichten

Programmierhandbuch für das Packen von API

Api-Referenz zum Packen

Packen von API-Beispielen

Verpackungsfehler

Plattformupdate für Windows Vista

Referenz