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 |