ISequentialStream::Read-Methode (objidl.h)

Die Read-Methode liest eine angegebene Anzahl von Bytes aus dem Streamobjekt ab dem aktuellen Suchzeiger in den Arbeitsspeicher.

Syntax

HRESULT Read(
  [out] void  *pv,
  [in]  ULONG cb,
  [out] ULONG *pcbRead
);

Parameter

[out] pv

Ein Zeiger auf den Puffer, in den die Streamdaten eingelesen werden.

[in] cb

Die Anzahl der Bytes an Daten, die aus dem Streamobjekt gelesen werden sollen.

[out] pcbRead

Ein Zeiger auf eine ULONG-Variable , die die tatsächliche Anzahl von Bytes empfängt, die aus dem Streamobjekt gelesen werden.

Hinweis Die Anzahl der gelesenen Bytes kann 0 sein.
 

Rückgabewert

Diese Methode kann einen dieser Werte zurückgeben.

Rückgabecode Beschreibung
S_OK Alle angeforderten Daten wurden erfolgreich aus dem Streamobjekt gelesen. die Anzahl der in cb angeforderten Bytes entspricht der Anzahl der in pcbRead zurückgegebenen Bytes.
S_FALSE Der in pcbRead zurückgegebene Wert ist kleiner als die Anzahl der in cb angeforderten Bytes. Dies gibt an, dass das Ende des Datenstroms erreicht wurde. Die Anzahl der gelesenen Bytes gibt an, wie viel des pv-Puffers gefüllt wurde.
E_PENDING Nur asynchroner Speicher: Ein Teil oder alle zu lesenden Daten sind derzeit nicht verfügbar.
STG_E_ACCESSDENIED Der Aufrufer verfügt nicht über Berechtigungen, die zum Lesen dieses Streamobjekts erforderlich sind.
STG_E_INVALIDPOINTER Einer der Zeigerwerte ist ungültig.
STG_E_REVERTED Das Objekt wurde durch einen rückgängig machen Vorgang darüber in der Transaktionsstruktur ungültig gemacht.

Hinweise

Diese Methode liest Bytes aus diesem Streamobjekt in den Arbeitsspeicher. Das Streamobjekt muss im STGM_READ Modus geöffnet werden. Diese Methode passt den Suchzeiger um die tatsächliche Anzahl gelesener Bytes an.

Die Anzahl der tatsächlich gelesenen Bytes wird auch im pcbRead-Parameter zurückgegeben.

Hinweise für Anrufer

Die tatsächliche Anzahl der gelesenen Bytes kann kleiner als die Anzahl der angeforderten Bytes sein, wenn ein Fehler auftritt oder wenn das Ende des Datenstroms während des Lesevorgangs erreicht wird. Die Anzahl der zurückgegebenen Bytes sollte immer mit der Anzahl der angeforderten Bytes verglichen werden. Wenn die Anzahl der zurückgegebenen Bytes kleiner als die Anzahl der angeforderten Bytes ist, bedeutet dies in der Regel, dass die Read-Methode versucht hat, über das Ende des Datenstroms hinaus zu lesen.

Die Anwendung sollte sowohl einen zurückgegebenen Fehler als auch S_OK Rückgabewerte bei Lesevorgängen am Ende des Datenstroms behandeln.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile objidl.h
Bibliothek Uuid.lib
DLL Ole32.dll

Weitere Informationen

ISequentialStream::Write

IStorage::OpenStream

IStream

IStream – Implementierung zusammengesetzter Dateien

STGMOVE