// wdm.h
PCLFS_CLIENT_LOG_UNPINNED_CALLBACK PclfsClientLogUnpinnedCallback;
VOID PclfsClientLogUnpinnedCallback(
[in] PLOG_FILE_OBJECT LogFile,
[in] PVOID ClientData
)
{...}
View the official Windows Driver Kit DDI referenceNo description available.
The ClfsLogUnpinnedCallback function implements any actions that the client will take when a log that had previously been pinned becomes unpinned.
LogFile [in]A pointer to a LOG_FILE_OBJECT structure that represents the CLFS log stream whose tail has become unpinned.
ClientData [in]A pointer to client-supplied information. You specify this data in the LogUnpinnedCallbackData member of the CLFS_MGMT_CLIENT_REGISTRATION structure.
If a client called the ClfsMgmtHandleLogFileFull routine and CLFS management subsequently called the client's ClfsLogGrowthCompleteCallback function with a value of TRUE for the LogIsPinned parameter, then the ClfsLogUnpinnedCallback function will be invoked when the log becomes unpinned.
When a client uses the ClfsMgmtRegisterManagedClient routine to register with CLFS management, the client provides both a pointer to the ClfsLogUnpinnedCallback function and the custom data that will be passed as a parameter to the ClfsLogUnpinnedCallback function when this function is called.
The ClfsLogUnpinnedCallback function should only perform a minimal amount of processing before returning. For example, it might create and queue a work item to inform the client that it can resume processing.
The ClfsLogGrowthCompleteCallback function is called before the ClfsLogUnpinnedCallback function.