The ClfsAdvanceTailCallback function advances the base log sequence number (LSN) of the client's log.
NTSTATUS (*PCLFS_CLIENT_ADVANCE_TAIL_CALLBACK)( _In_ PLOG_FILE_OBJECT LogFile, _In_ PCLFS_LSN TargetLsn, _In_ PVOID ClientData );
- LogFile [in]
A pointer to a LOG_FILE_OBJECT structure that represents the CLFS log stream whose tail should be advanced.
- TargetLsn [in]
A pointer to a CLFS_LSN structure that contains the LSN that the client should advance its tail to or beyond.
- ClientData [in]
A pointer to client-supplied information. You specify this data in the AdvanceTailCallbackData member of the CLFS_MGMT_CLIENT_REGISTRATION structure.
The ClfsAdvanceTailCallback function should return either STATUS_PENDING or an error status. A return value of STATUS_PENDING indicates that the request to move the client's log tail will be completed asynchronously. The ClfsMgmtAdvanceTailCallback function must not return STATUS_SUCCESS, even if it completes synchronously.
The ClfsAdvanceTailCallback function is called when CLFS management requests that the client advance its log tail.
The ClfsAdvanceTailCallback function must only perform a minimal amount of processing before returning. For example, the ClfsAdvanceTailCallback function might follow this procedure:
If the request cannot be processed, return an error status.
If the request can be processed, create and queue a work item to perform the actions that are required to move the client's tail, and then return STATUS_PENDING. For more information on queuing a worker thread, see System Worker Threads.
When a client calls the ClfsMgmtRegisterManagedClient routine to register with CLFS management, the client provides both a pointer to the ClfsAdvanceTailCallback function and the custom data that will be passed as a parameter to the ClfsAdvanceTailCallback function when this function is called.
|Supported in Windows Server 2003 R2, Windows Vista, and later versions of Windows.|
|Called at IRQL <= APC_LEVEL|
Build date: 11/16/2013