Bagikan melalui


ILog::Metode AppendRecord (txlogpub.h)

Tulis rekaman baru di akhir log.

Sintaks

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

Parameter

[in] rgBlob

Penunjuk ke array BLOB data yang akan ditulis.

[in] cBlob

Ukuran array rgBlob , dalam elemen.

[in] fForceNow

Menunjukkan apakah akan memaksa data ke disk. Jika TRUE, konten log hingga rekaman ini harus dipaksa untuk disk sebelum panggilan kembali. Jika FALSE, rekaman ini dapat di-buffer dalam memori untuk ditulis setelah panggilan berhasil dikembalikan.

[in, out] plsn

Penunjuk ke LSN dari rekaman yang baru ditambahkan. Jika LSN dari rekaman yang baru ditambahkan tidak diperlukan, parameter ini bisa NULL.

Nilai kembali

Jika metode ini berhasil, metode akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.

Keterangan

Setiap catatan log yang ditulis atau dibaca oleh ILog adalah BLOB data buram. Sebagai kenyamanan bagi penelepon, AppendRecord memungkinkan beberapa BLOB digabungkan menjadi satu rekaman; karena banyak implementasi ILog akan menyalin rekaman ke buffer dalam memori, mungkin tidak efisien bagi penelepon untuk mengalokasikan memori untuk menggabungkan bagian-bagian rekaman. Namun, setelah rekaman ditambahkan ke log, ILog tidak menyediakan metode untuk mengekstrak BLOB individu dari catatan. Penelepon bertanggung jawab untuk mengurai data dalam rekaman yang dibaca dari log. Lihat ILog::ReadRecord.

Catatan untuk Penelepon

Nilai pengembalian kegagalan menunjukkan bahwa setiap rekaman yang ditambahkan ke log sejak terakhir kali berhasil dipaksa tidak dijamin berada di disk. Antarmuka ILog tidak menyediakan metode untuk menentukan rekaman mana yang berhasil ditulis ke disk. Jika Anda perlu mengetahui rekaman mana yang berhasil ditulis ke disk, Anda harus memaksa log untuk setiap rekaman.

Catatan untuk Pelaksana

Jika fForceNowTRUE, disarankan agar Anda membersihkan buffer file (misalnya, menggunakan fungsi FlushFileBuffers ) sebelum kembali dari metode ini.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header txlogpub.h

Lihat juga

FlushFileBuffers

ILog