ReserveAndAppendLogAligned 函式 (clfsw32.h)
保留記錄緩衝區的空間,或將記錄檔記錄附加至記錄檔,或兩者。 此函式就像 ReserveAndAppendLog 函式,但 ReserveAndAppendLogAligned 會將記錄的寫入專案對齊指定的位元組對齊方式。
語法
CLFSUSER_API BOOL ReserveAndAppendLogAligned(
[in] PVOID pvMarshal,
[in, optional] PCLFS_WRITE_ENTRY rgWriteEntries,
[in] ULONG cWriteEntries,
[in] ULONG cbEntryAlignment,
[in, optional] PCLFS_LSN plsnUndoNext,
[in, optional] PCLFS_LSN plsnPrevious,
[in] ULONG cReserveRecords,
[in, out, optional] LONGLONG [] rgcbReservation,
[in] ULONG fFlags,
[out, optional] PCLFS_LSN plsn,
[in, out, optional] LPOVERLAPPED pOverlapped
);
參數
[in] pvMarshal
使用 CreateLogMarshallingArea 函式配置之封送處理內容的指標。
[in, optional] rgWriteEntries
要封送處理成一筆記錄之 CLFS_WRITE_ENTRY 緩衝區陣列的指標。
如果 cWriteEntries 參數為零,則會忽略此參數。
[in] cWriteEntries
rgWriteEntries陣列中的寫入專案數目。
如果此值為非零值,您必須在 rgWriteEntries 參數中指定緩衝區。
[in] cbEntryAlignment
rgWriteEntries參數中每個寫入專案的位元組對齊方式。
針對簡單的串連指定 1 (一個) 。 cbWriteEntryAlignment參數必須是非零。
[in, optional] plsnUndoNext
CLFS_LSN 結構的指標 ,指定復原鏈結中下一筆記錄的 LSN (LSN) 記錄序號。
[in, optional] plsnPrevious
CLFS_LSN結構的指標,指定上一筆記錄在上一個鏈結中的 LSN。
[in] cReserveRecords
rgcbReservation陣列中的記錄大小數目。
[in, out, optional] rgcbReservation
cReserveRecords參數指定之每個記錄的保留大小陣列指標。
如果 cReserveRecords 參數為零,則會忽略此參數。 如果保留大小為負數,則會釋放該大小的保留。
在成功完成時,會傳回個別陣列元素中保留給每個記錄的實際空間,包括必要的額外負荷。 這些值可以傳遞至 FreeReservedLog 函式,以調整封送處理區域中保留的空間。
[in] fFlags
指定此函式行為的旗標。
可以結合下列一或多個值。
[out, optional] plsn
接收附加記錄之 LSN 之CLFS_LSN 結構的指標。
[in, out, optional] pOverlapped
重迭結構的指標。
如果未使用非同步作業,此參數可以是 Null 。
傳回值
如果函式成功,則傳回非零的值。
如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError 函式。 下列清單會識別可能的錯誤碼:
備註
ReserveAndAppendLogAligned函式所傳回的 LSN 不一定是所使用的下一個 LSN。 傳回的 LSN 是下一個 LSN 的估計值,而且會根據 fFlags 參數所指定的旗標而有所不同。 移動基底尾時,可以使用傳回的 LSN。 下一次呼叫此函式時,此 LSN 會失效。
如果 ReserveAndAppendLogAligned 函式傳回 ERROR_LOG_FILE_FULL,則記錄檔中沒有更多空間。 這可以透過下列其中一種方式來解決:
- 釋放任何不必要的保留。
- 將基底 LSN 或記錄封存結尾或兩者前移,以回收容器。
- 將容器新增至記錄。
如果使用有效的重迭結構呼叫ReserveAndAppendLogAligned函式,並使用重迭選項建立記錄控制碼,則如果呼叫此函式失敗並出現錯誤碼ERROR_IO_PENDING,則有效的讀取內容的指標會放在ppvReadCoNtext參數所指向的變數中。
若要完成記錄檔記錄複製,用戶端應該先使用 GetOverlappedResult 函式或其中一個同步 處理等候函式,將其執行與重迭 I/O 作業延遲完成同步處理。 如需詳細資訊,請參閱 同步處理和重迭的輸入和輸出。
規格需求
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 R2 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | clfsw32.h |
程式庫 | Clfsw32.lib |
Dll | Clfsw32.dll |