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.
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 |