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 |