Méthode IStream ::Commit (objidl.h)

La méthode Commit garantit que toutes les modifications apportées à un objet de flux ouvert en mode transactionné sont reflétées dans le stockage parent. Si l’objet stream est ouvert en mode direct, IStream ::Commit n’a pas d’autre effet que de vider toutes les mémoires tampons vers l’objet de stockage de niveau suivant. L’implémentation de fichiers composés COM des flux ne prend pas en charge l’ouverture des flux en mode transactionné.

Syntaxe

HRESULT Commit(
  [in] DWORD grfCommitFlags
);

Paramètres

[in] grfCommitFlags

Contrôle comment les modifications apportées à un objet de flux sont validées. Pour obtenir une définition de ces valeurs, consultez l’énumération STGC .

Valeur retournée

Cette méthode peut retourner l’une de ces valeurs.

Code de retour Description
S_OK Les modifications apportées à l’objet stream ont été validées avec succès au niveau parent.
E_PENDING Stockage asynchrone uniquement : une partie ou la totalité des données du flux n’est actuellement pas disponible.
STG_E_MEDIUMFULL L’opération de validation a échoué en raison d’un manque d’espace sur le périphérique de stockage.
STG_E_REVERTED L’objet a été invalidé par une opération de restauration au-dessus de lui dans l’arborescence des transactions.

Remarques

La méthode Commit garantit que les modifications apportées à un objet de flux ouvert en mode transactionné sont reflétées dans le stockage parent. Les modifications apportées au flux depuis son ouverture ou sa dernière validation sont reflétées dans l’objet de stockage parent. Si le parent est ouvert en mode transactionné, le parent peut revenir ultérieurement, en annulant les modifications apportées à cet objet de flux. L’implémentation de fichiers composés ne prend pas en charge l’ouverture des flux en mode transactionné, donc cette méthode a très peu d’effet autre que de vider les mémoires tampons. Pour plus d’informations, consultez IStream - Implémentation de fichiers composés.

Si le flux est ouvert en mode direct, cette méthode garantit que toutes les mémoires tampons ont été vidées dans l’objet de stockage sous-jacent. Cela ressemble beaucoup à un vidage dans les systèmes de fichiers traditionnels.

La méthode IStream ::Commit est utile sur un flux en mode direct lorsque l’implémentation de l’interface IStream est un wrapper pour les API de système de fichiers sous-jacentes. Dans ce cas, IStream ::Commit est connecté à l’appel de vidage du système de fichiers.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête objidl.h
Bibliothèque Uuid.lib
DLL Ole32.dll

Voir aussi

IStorage ::Commit

IStream - Implémentation de fichiers composés