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 |