Compartir a través de


Método ILog::AppendRecord (txlogpub.h)

Escriba un registro nuevo al final del registro.

Sintaxis

HRESULT AppendRecord(
  [in]      BLOB  *rgBlob,
  [in]      ULONG cBlob,
  [in]      BOOL  fForceNow,
  [in, out] LSN   *plsn
);

Parámetros

[in] rgBlob

Puntero a una matriz de blobs de datos que se van a escribir.

[in] cBlob

Tamaño de la matriz rgBlob , en elementos .

[in] fForceNow

Indica si se fuerzan los datos al disco. Si es TRUE, el contenido del registro en este registro se debe forzar al disco antes de que se devuelva la llamada. Si es FALSE, este registro se puede almacenar en búfer en la memoria que se va a escribir después de que la llamada se devuelva correctamente.

[in, out] plsn

Puntero al LSN del registro recién anexado. Si el LSN del registro recién anexado no es necesario, este parámetro puede ser NULL.

Valor devuelto

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Cada registro escrito o leído por ILog es un BLOB opaco de datos. Como comodidad para los autores de llamadas, AppendRecord permite que varios BLOB se concatenan en un único registro; dado que muchas implementaciones de ILog copiarán registros en un búfer en la memoria, puede ser ineficaz que el autor de la llamada asigne memoria para concatenar las partes de un registro. Sin embargo, una vez que se anexa un registro al registro, ILog no proporciona ningún método para extraer blobs individuales del registro. Es responsabilidad del autor de la llamada analizar los datos de los registros leídos del registro. Consulte ILog::ReadRecord.

Notas a los autores de llamadas

Un valor devuelto de error indica que no se garantiza que los registros anexados al registro desde la última vez que se ha forzado correctamente estén en el disco. La interfaz ILog no proporciona un método para determinar qué registros se han escrito correctamente en el disco. Si necesita saber qué registros se escribieron correctamente en el disco, debe forzar el registro para cada registro.

Notas para los implementadores

Si fForceNow es TRUE, se recomienda vaciar los búferes de archivos (por ejemplo, mediante la función FlushFileBuffers ) antes de volver de este método.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado txlogpub.h

Consulte también

FlushFileBuffers

Ilog