(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 數目。
傳回值
這個方法可以傳回下列值。
傳回碼 | 描述 |
---|---|
|
已成功完成命令。 |
|
BLOB 數目的計數為零。 |
|
Null指標是以引數的形式提供。 |
|
這個方法在錯誤狀態中呼叫;在 RegisterCompensator 之前,或在交易完成 (CRM 背景工作角色) 時。 |
|
交易已中止,很可能是因為交易逾時。 |
備註
非結構化記錄只是位元組的緩衝區。 方法會實作收集功能,方法是允許從 BLOB 陣列建置特定 CRM 記錄記錄的區段,這是包含資料指標的結構加上位元組數目的計數。 這可減少資料的複製,導致只有一個直接從 CRM 記憶體空間複製到記錄管理員緩衝區的複本。
非結構化和結構化記錄檔記錄無法混合;您可以呼叫 WriteLogRecord 或 WriteLogRecordVariants ,但不能由相同的 CRM 背景工作或 CRM 補償器呼叫。
您不應該在記錄記錄中 BLOB 所包含的資料結構中包含指標類型。 物件參考在復原階段不再有效,因為 CRM 補償器會在與寫入記錄記錄之 CRM 背景工作角色不同的進程中執行。 在記錄檔記錄中包含 BLOB 內的指標類型,可能會導致應用程式在復原期間損毀或損毀本身。
規格需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | comsvcs.h |