IStream::Commit-Methode (objidl.h)

Die Commit-Methode stellt sicher, dass alle Änderungen, die an einem im Transaktionsmodus geöffneten Streamobjekt vorgenommen werden, im übergeordneten Speicher widergespiegelt werden. Wenn das Streamobjekt im direkten Modus geöffnet ist, hat IStream::Commit keine andere Auswirkung als das Leeren aller Speicherpuffer in das Speicherobjekt der nächsten Ebene. Die COM-Verbunddateiimplementierung von Streams unterstützt das Öffnen von Streams im Transaktionsmodus nicht.

Syntax

HRESULT Commit(
  [in] DWORD grfCommitFlags
);

Parameter

[in] grfCommitFlags

Steuert, auf welche Weise ein Commit für die Änderungen am Streamobjekt ausgeführt wird. Eine Definition dieser Werte finden Sie in der STGC-Enumeration .

Rückgabewert

Diese Methode kann einen dieser Werte zurückgeben.

Rückgabecode Beschreibung
S_OK Änderungen am Streamobjekt wurden erfolgreich auf die übergeordnete Ebene committet.
E_PENDING Nur asynchroner Speicher: Ein Teil oder alle Daten des Datenstroms sind derzeit nicht verfügbar.
STG_E_MEDIUMFULL Fehler beim Commitvorgang aufgrund des fehlenden Speicherplatzes auf dem Speichergerät.
STG_E_REVERTED Das Objekt wurde durch einen rückgängig machen Vorgang darüber in der Transaktionsstruktur ungültig gemacht.

Hinweise

Die Commit-Methode stellt sicher, dass Änderungen an einem im Transaktionsmodus geöffneten Streamobjekt im übergeordneten Speicher widergespiegelt werden. Änderungen, die seit dem Öffnen oder letzten Commit am Datenstrom vorgenommen wurden, werden an das übergeordnete Speicherobjekt übernommen. Wenn das übergeordnete Element im transaktionsfähigen Modus geöffnet wird, kann das übergeordnete Element zu einem späteren Zeitpunkt rückgängig machen, wodurch die Änderungen an diesem Streamobjekt zurückgerollt werden. Die Verbunddateiimplementierung unterstützt das Öffnen von Datenströmen im transaktionsfähigen Modus nicht, sodass diese Methode nur sehr wenig Auswirkungen hat, als speicherpuffer zu leeren. Weitere Informationen finden Sie unter IStream – Verbunddateiimplementierung.

Wenn der Stream im direkten Modus geöffnet ist, stellt diese Methode sicher, dass alle Speicherpuffer auf das zugrunde liegende Speicherobjekt geleert wurden. Dies ähnelt einer Leerung in herkömmlichen Dateisystemen.

Die IStream::Commit-Methode ist für einen Stream im direkten Modus nützlich, wenn die Implementierung der IStream-Schnittstelle ein Wrapper für zugrunde liegende Dateisystem-APIs ist. In diesem Fall wäre IStream::Commit mit dem Leerungsaufruf des Dateisystems verbunden.

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

IStorage::Commit

IStream – Implementierung von Zusammengesetzten Dateien