Bagikan melalui


Metode ICrmLogControl::WriteLogRecord (comsvcs.h)

CRM Worker dan CRM Compensator menggunakan metode ini untuk menulis catatan log yang tidak terstruktur ke log. Metode ini biasanya akan digunakan oleh komponen CRM yang ditulis dalam C++. Rekaman ditulis dengan malas ke log dan harus dipaksa sebelum menjadi tahan lama. (Lihat ICrmLogControl::ForceLog.)

Sintaks

HRESULT WriteLogRecord(
  [in] BLOB [] rgBlob,
  [in] ULONG   cBlob
);

Parameter

[in] rgBlob

Array BLOB yang membentuk rekaman log. BLOB adalah jenis data Windows yang digunakan untuk menyimpan data biner dalam jumlah arbitrer.

[in] cBlob

Jumlah BLOB dalam array.

Nilai kembali

Metode ini dapat mengembalikan nilai berikut.

Menampilkan kode Deskripsi
S_OK
Metode berhasil diselesaikan.
E_INVALIDARG
Jumlah BLOB adalah nol.
E_POINTER
Penunjuk NULL disediakan sebagai argumen.
XACT_E_WRONGSTATE
Metode ini dipanggil dalam keadaan yang salah; baik sebelum RegisterCompensator atau ketika transaksi selesai (Pekerja CRM).
XACT_E_ABORTED
Transaksi telah dibatalkan, kemungkinan besar karena waktu transaksi habis.

Keterangan

Rekaman yang tidak terstruktur hanyalah buffer byte. Metode ini mengimplementasikan kemampuan pengumpulan dengan memungkinkan bagian dari catatan log CRM tertentu dibangun dari array BLOB, yang merupakan struktur yang berisi penunjuk ke data ditambah hitungan jumlah byte. Ini mengurangi penyalinan data, yang hanya mengarah ke satu salinan langsung dari ruang memori CRM ke buffer manajer log.

Rekaman log yang tidak terstruktur dan terstruktur tidak dapat dicampur; Baik WriteLogRecord atau WriteLogRecordVariants dapat dipanggil, tetapi tidak keduanya oleh CRM Worker atau CRM Compensator yang sama.

Anda tidak boleh menyertakan jenis penunjuk dalam struktur data yang terkandung dalam BLOB dalam rekaman log. Referensi objek tidak lagi valid selama fase pemulihan karena CRM Compensator berjalan dalam proses yang berbeda dari CRM Worker yang menulis catatan log. Menyertakan jenis penunjuk dalam BLOB dalam catatan log dapat menyebabkan aplikasi crash atau merusak dirinya sendiri selama pemulihan.

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header comsvcs.h

Lihat juga

ICrmLogControl