Método ILog::AppendRecord (txlogpub.h)
Grave um novo registro no final do log.
Sintaxe
HRESULT AppendRecord(
[in] BLOB *rgBlob,
[in] ULONG cBlob,
[in] BOOL fForceNow,
[in, out] LSN *plsn
);
Parâmetros
[in] rgBlob
Um ponteiro para uma matriz de BLOBs de dados a serem gravados.
[in] cBlob
O tamanho da matriz rgBlob , em elementos.
[in] fForceNow
Indica se os dados devem ser forçados ao disco. Se TRUE, o conteúdo do log até esse registro deverá ser forçado ao disco antes que a chamada retorne. Se FALSE, esse registro poderá ser armazenado em buffer na memória a ser gravado depois que a chamada retornar com êxito.
[in, out] plsn
Um ponteiro para o LSN do registro recém-acrescentado. Se o LSN do registro recém-acrescentado não for necessário, esse parâmetro poderá ser NULL.
Retornar valor
Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Comentários
Cada registro de log gravado ou lido pelo ILog é um BLOB opaco de dados. Como uma conveniência para os chamadores, AppendRecord permite que vários BLOBs sejam concatenados em um único registro; como muitas implementações do ILog copiarão registros para um buffer na memória, pode ser ineficiente para o chamador alocar memória para concatenar as partes de um registro. No entanto, depois que um registro é acrescentado ao log, o ILog não fornece nenhum método para extrair BLOBs individuais do registro. É responsabilidade do chamador analisar os dados nos registros lidos do log. Consulte ILog::ReadRecord.
Anotações para chamadores
Um valor retornado de falha indica que todos os registros acrescentados ao log desde a última vez em que ele foi forçado com êxito não têm garantia de estar em disco. A interface ILog não fornece um método para determinar quais registros foram gravados com êxito no disco. Se você precisar saber quais registros foram gravados com êxito no disco, deverá forçar o log para cada registro.Anotações aos implementadores
Se fForceNow for TRUE, é recomendável liberar buffers de arquivo (por exemplo, usando a função FlushFileBuffers ) antes de retornar desse método.Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | txlogpub.h |