Freigeben über


IStream::SetSize-Methode (objidl.h)

Die SetSize-Methode ändert die Größe des Streamobjekts.

Syntax

HRESULT SetSize(
  [in] ULARGE_INTEGER libNewSize
);

Parameter

[in] libNewSize

Gibt die neue Größe des Streams in Bytes an.

Rückgabewert

Diese Methode kann einen dieser Werte zurückgeben.

Rückgabecode Beschreibung
S_OK Die Größe des Streamobjekts wurde erfolgreich geändert.
E_PENDING Nur asynchroner Speicher: Ein Teil oder alle Daten des Datenstroms sind derzeit nicht verfügbar.
STG_E_MEDIUMFULL Die Streamgröße wird nicht geändert, da auf dem Speichergerät kein Speicherplatz mehr vorhanden ist.
STG_E_INVALIDFUNCTION Der Wert des parameters libNewSize wird von der Implementierung nicht unterstützt. Nicht alle Streams unterstützen mehr als 232 Bytes. Wenn ein Stream nicht mehr als 232 Bytes unterstützt, muss der hohe DWORD-Datentyp von libNewSize 0 sein. Wenn sie nichtzero ist, gibt die Implementierung möglicherweise STG_E_INVALIDFUNCTION zurück. Im Allgemeinen unterstützen COM-basierte Implementierungen der IStream-Schnittstelle keine Streams, die größer als 232 Bytes sind.
STG_E_REVERTED Das Objekt wurde durch einen rückgängig machen Vorgang darüber in der Transaktionsstruktur ungültig gemacht.

Hinweise

IStream::SetSize ändert die Größe des Streamobjekts. Rufen Sie diese Methode auf, um den Speicherplatz für den Stream vorab zuzuspeichern. Wenn der libNewSize-Parameter größer als die aktuelle Streamgröße ist, wird der Stream auf die angegebene Größe erweitert, indem der dazwischenliegende Leerraum mit Bytes mit nicht definiertem Wert gefüllt wird. Dieser Vorgang ähnelt der ISequentialStream::Write-Methode , wenn sich der Suchzeiger am aktuellen Ende des Datenstroms befindet.

Wenn der libNewSize-Parameter kleiner als der aktuelle Stream ist, wird der Stream auf die angegebene Größe abgeschnitten.

Der Suchzeiger ist von der Änderung der Streamgröße nicht betroffen.

Das Aufrufen von IStream::SetSize kann eine effektive Möglichkeit sein, einen großen Teil des zusammenhängenden Raums zu erhalten.

Anforderungen

   
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

IStream

IStream – Implementierung zusammengesetzter Dateien