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

El método Commit garantiza que los cambios realizados en un objeto de secuencia abierto en modo de transacción se reflejen en el almacenamiento primario. Si el objeto de secuencia está abierto en modo directo, IStream::Commit no tiene ningún efecto que vaciar todos los búferes de memoria en el objeto de almacenamiento de siguiente nivel. La implementación de archivos compuestos COM de secuencias no admite la apertura de secuencias en modo de transacción.

Sintaxis

HRESULT Commit(
  [in] DWORD grfCommitFlags
);

Parámetros

[in] grfCommitFlags

Controla la forma en que se confirman los cambios realizados en un objeto de secuencia. Consulte la enumeración STGC para obtener una definición de estos valores.

Valor devuelto

Este método puede devolver uno de estos valores.

Código devuelto Descripción
S_OK Los cambios realizados en el objeto de secuencia se confirmaron correctamente en el nivel primario.
E_PENDING Solo almacenamiento asincrónico: la parte o todos los datos de la secuencia no están disponibles actualmente.
STG_E_MEDIUMFULL Error en la operación de confirmación debido a la falta de espacio en el dispositivo de almacenamiento.
STG_E_REVERTED El objeto se ha invalidado por una operación de reversión por encima de él en el árbol de transacciones.

Comentarios

El método Commit garantiza que los cambios en un objeto de secuencia abierto en modo de transacción se reflejen en el almacenamiento primario. Los cambios realizados en la secuencia desde que se abrió o se confirmó por última vez se reflejan en el objeto de almacenamiento primario. Si el elemento primario se abre en modo de transacción, el elemento primario puede revertirse más adelante, revirtiendo los cambios en este objeto de secuencia. La implementación del archivo compuesto no admite la apertura de secuencias en modo de transacción, por lo que este método tiene un efecto muy poco distinto de vaciar los búferes de memoria. Para obtener más información, vea IStream : implementación de archivos compuestos.

Si la secuencia está abierta en modo directo, este método garantiza que los búferes de memoria se hayan vaciado en el objeto de almacenamiento subyacente. Esto es muy parecido a un vaciado en sistemas de archivos tradicionales.

El método IStream::Commit es útil en una secuencia de modo directo cuando la implementación de la interfaz IStream es un contenedor para las API del sistema de archivos subyacentes. En este caso, IStream::Commit se conectaría a la llamada de vaciado del sistema de archivos.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado objidl.h
Library Uuid.lib
Archivo DLL Ole32.dll

Consulte también

IStorage::Commit

IStream: implementación de archivos compuestos