ILog::Metode ReadRecord (txlogpub.h)
Membaca rekaman dari log.
Sintaks
HRESULT ReadRecord(
[in] LSN lsnToRead,
[in, out] LSN *plsnPrev,
[in, out] LSN *plsnNext,
[out] BYTE **ppbData,
[out] ULONG *pcbData
);
Parameter
[in] lsnToRead
LSN catatan yang akan dibaca.
[in, out] plsnPrev
Penunjuk ke LSN rekaman sebelumnya (rekaman segera mendahului rekaman yang akan dibaca). Parameter ini bisa NULL jika LSN dari rekaman sebelumnya tidak diperlukan. Parameter ini adalah 0 jika tidak ada rekaman sebelumnya dalam log, atau jika terjadi kesalahan.
[in, out] plsnNext
Penunjuk ke LSN rekaman berikutnya (rekaman segera mengikuti rekaman untuk dibaca). Parameter ini bisa NULL jika LSN rekaman berikutnya tidak diperlukan. Parameter ini adalah MAXLSN (0x7FFFFFFFFFFFFFFF) jika tidak ada rekaman berikutnya dalam log. Parameter ini adalah 0 jika terjadi kesalahan.
[out] ppbData
Penunjuk ke variabel yang akan berisi penunjuk ke data rekaman saat dikembalikan. Memori untuk data ini dialokasikan oleh ReadRecord dan dibebaskan oleh pemanggil (lihat CoTaskMemFree). Parameter ini adalah NULL jika terjadi kesalahan.
[out] pcbData
Penunjuk ke variabel yang menerima ukuran data rekaman, dalam byte, saat dikembalikan.
Nilai kembali
Metode ini dapat mengembalikan nilai berikut, serta nilai HRESULT lainnya.
Menampilkan kode | Deskripsi |
---|---|
|
Rekaman berhasil dibaca dari log. |
|
lsnToRead berada di luar batas log saat ini. Lihat ILog::GetLogLimits. |
|
lsnToRead berada dalam batas log saat ini, tetapi bukan LSN rekaman dalam log. |
|
Rekaman tidak dikembalikan karena kurangnya memori. |
Keterangan
Meskipun rekaman ditambahkan ke log menggunakan ILog::AppendRecord dapat digabungkan dari beberapa BLOB, ReadRecord mengembalikan rekaman sebagai blob data buram tunggal. ILog tidak menyediakan metode untuk mengekstrak blob individual dari catatan. Pemanggil bertanggung jawab untuk mengurai data dalam rekaman yang dikembalikan oleh ReadRecord.
Catatan untuk Penelepon
Jika log berisi rekaman yang sangat besar, metode ini mungkin gagal karena ReadRecord tidak dapat mengalokasikan memori yang cukup untuk data rekaman. Jika ukuran rekaman dibatasi atau jika Anda hanya memerlukan bagian awal rekaman, mungkin lebih efisien untuk memanggil ILog::ReadRecordPrefix.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 |