共用方式為


(comsvcs.h) ICrmLogControl::WriteLogRecord 方法

CRM 背景工作角色和 CRM 補償器會使用此方法,將非結構化記錄檔記錄寫入記錄檔。 這個方法通常是由以 C++ 撰寫的 CRM 元件使用。 記錄會延遲寫入記錄檔,而且必須在記錄變成持久之前強制。 (請參閱 ICrmLogControl::ForceLog.)

語法

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

參數

[in] rgBlob

形成記錄之 BLOB 的陣列。 BLOB 是一種 Windows 資料類型,可用來儲存任意數量的二進位資料。

[in] cBlob

陣列中的 BLOB 數目。

傳回值

這個方法可以傳回下列值。

傳回碼 描述
S_OK
已成功完成命令。
E_INVALIDARG
BLOB 數目的計數為零。
E_POINTER
Null指標是以引數的形式提供。
XACT_E_WRONGSTATE
這個方法在錯誤狀態中呼叫;在 RegisterCompensator 之前,或在交易完成 (CRM 背景工作角色) 時。
XACT_E_ABORTED
交易已中止,很可能是因為交易逾時。

備註

非結構化記錄只是位元組的緩衝區。 方法會實作收集功能,方法是允許從 BLOB 陣列建置特定 CRM 記錄記錄的區段,這是包含資料指標的結構加上位元組數目的計數。 這可減少資料的複製,導致只有一個直接從 CRM 記憶體空間複製到記錄管理員緩衝區的複本。

非結構化和結構化記錄檔記錄無法混合;您可以呼叫 WriteLogRecordWriteLogRecordVariants ,但不能由相同的 CRM 背景工作或 CRM 補償器呼叫。

您不應該在記錄記錄中 BLOB 所包含的資料結構中包含指標類型。 物件參考在復原階段不再有效,因為 CRM 補償器會在與寫入記錄記錄之 CRM 背景工作角色不同的進程中執行。 在記錄檔記錄中包含 BLOB 內的指標類型,可能會導致應用程式在復原期間損毀或損毀本身。

規格需求

   
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 comsvcs.h

另請參閱

ICrmLogControl