PCLFS_CLIENT_ADVANCE_TAIL_CALLBACK callback function (wdm.h)

The ClfsAdvanceTailCallback function advances the base log sequence number (LSN) of the client's log.

Syntax

PCLFS_CLIENT_ADVANCE_TAIL_CALLBACK PclfsClientAdvanceTailCallback;

NTSTATUS PclfsClientAdvanceTailCallback(
  [in] PLOG_FILE_OBJECT LogFile,
  [in] PCLFS_LSN TargetLsn,
  [in] PVOID ClientData
)
{...}

Parameters

[in] LogFile

A pointer to a LOG_FILE_OBJECT structure that represents the CLFS log stream whose tail should be advanced.

[in] TargetLsn

A pointer to a CLFS_LSN structure that contains the LSN that the client should advance its tail to or beyond.

[in] ClientData

A pointer to client-supplied information. You specify this data in the AdvanceTailCallbackData member of the CLFS_MGMT_CLIENT_REGISTRATION structure.

Return value

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.

Remarks

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:

  1. If the request cannot be processed, return an error status.
  2. 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.

Requirements

Requirement Value
Minimum supported client Supported in Windows Server 2003 R2, Windows Vista, and later versions of Windows.
Target Platform Desktop
Header wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
IRQL Called at IRQL <= APC_LEVEL

See also

CLFS_MGMT_CLIENT_REGISTRATION

ClfsAdvanceLogBase

ClfsMgmtRegisterManagedClient

ClfsMgmtTailAdvanceFailure