WriteLogRestartArea 関数 (clfsw32.h)
新しいクライアント再起動領域をログに追加し、必要に応じてログの基本ログ シーケンス番号 (LSN) を進めます。
ディスクに正常に書き込まれた後、ログの最後の LSN が追加された再起動レコードの LSN に変更されます。 通常、 WriteLogRestartArea は既知の良好な状態を定期的に保存するアプリケーションで使用され、再起動領域には既存のログ レコード チェーンの LSN が含まれています。
構文
CLFSUSER_API BOOL WriteLogRestartArea(
[in, out] PVOID pvMarshal,
[in] PVOID pvRestartBuffer,
[in] ULONG cbRestartBuffer,
[in, optional] PCLFS_LSN plsnBase,
[in] ULONG fFlags,
[out, optional] PULONG pcbWritten,
[out, optional] PCLFS_LSN plsnNext,
[in, out, optional] LPOVERLAPPED pOverlapped
);
パラメーター
[in, out] pvMarshal
CreateLogMarshallingArea 関数を使用して割り当てられるマーシャリング コンテキストへのポインター。
[in] pvRestartBuffer
再起動データを含むバッファーへのポインター。
[in] cbRestartBuffer
pvRestartBuffer のサイズ (バイト単位)。
[in, optional] plsnBase
再起動領域を正常に書き込んだ後のログの新しい基本 LSN を指定する、 CLFS_LSN 構造体へのポインター。
この値は、アクティブ なログの範囲外にすることはできません。 ReserveAndAppendLog の最新の呼び出しから lastLSN パラメーターで返された LSN より大きくなく、少なくとも現在のベース LSN の値である必要があります。 この省略可能なパラメーターを省略した場合、基本 LSN は変更されません。
[in] fFlags
この関数の動作を指定するフラグ。
次の値のうち 1 つ以上を組み合わせることができます。
値 | 意味 |
---|---|
|
フラグを割り当てない。 |
|
マーシャリング領域に予約されている領域を使用して、現在のレコードを追加します。 |
[out, optional] pcbWritten
操作の完了時に書き込まれるバイト数を受け取る変数へのポインター。
[out, optional] plsnNext
書き込まれる再起動 領域の LSN を指定するCLFS_LSN構造体へのポインター。
[in, out, optional] pOverlapped
OVERLAPPED 構造体へのポインター。
非同期操作を使用しない場合、このパラメーターは NULL にすることができます 。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
次の一覧は、考えられるエラー コードを示しています。
注釈
WriteLogRestartArea は、現在バッファーに格納されているすべてのログ レコードのフラッシュとログ メタデータのフラッシュの両方を実行します。
非同期操作をサポートするために作成されたログでクライアントが WriteLogRestartArea を呼び出す場合 (たとえば、CreateLogFile の fFlagsAndAttributes パラメーターがログの作成時にFILE_FLAG_OVERLAPPEDに設定されている場合)、クライアントは WriteLogRestartArea の pOverlapped パラメーターで有効な OVERLAPPED 構造体へのポインターを指定する必要があります。
次に、 writeLogRestartArea が ERROR_IO_PENDING のエラーで失敗した場合、有効な読み取りコンテキストへのポインターが ppvReadContext パラメーターによって指される変数に配置されます。
呼び出しを完了するには、クライアントは 、GetOverlappedResult またはいずれかの同期 待機関数を使用して、重複した I/O 操作の遅延完了と実行を同期する必要があります。 詳細については、「 同期」と「入力と出力の重複」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | clfsw32.h |
Library | Clfsw32.lib |
[DLL] | Clfsw32.dll |