PCLFS_CLIENT_ADVANCE_TAIL_CALLBACK - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// wdm.h

PCLFS_CLIENT_ADVANCE_TAIL_CALLBACK PclfsClientAdvanceTailCallback;

NTSTATUS PclfsClientAdvanceTailCallback(
  [in] PLOG_FILE_OBJECT LogFile,
  [in] PCLFS_LSN TargetLsn,
  [in] PVOID ClientData
)
{...}
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nc-wdm-pclfs_client_advance_tail_callback)

PCLFS_CLIENT_ADVANCE_TAIL_CALLBACK callback function

Description

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

Parameters

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.

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.

See also

CLFS_MGMT_CLIENT_REGISTRATION

ClfsAdvanceLogBase

ClfsMgmtRegisterManagedClient

ClfsMgmtTailAdvanceFailure