Поделиться через


функция обратного вызова PCLFS_CLIENT_ADVANCE_TAIL_CALLBACK (wdm.h)

Функция ClfsAdvanceTailCallback перемещает базовый номер журнала (LSN) журнала клиента.

Синтаксис

PCLFS_CLIENT_ADVANCE_TAIL_CALLBACK PclfsClientAdvanceTailCallback;

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

Параметры

[in] LogFile

Указатель на структуру LOG_FILE_OBJECT , представляющую поток журнала CLFS, хвост которого должен быть расширен.

[in] TargetLsn

Указатель на структуру CLFS_LSN , содержащую номер LSN, к которому клиент должен перейти к хвосту или за его пределами.

[in] ClientData

Указатель на предоставленные клиентом сведения. Эти данные указываются в элементе AdvanceTailCallbackData структуры CLFS_MGMT_CLIENT_REGISTRATION .

Возвращаемое значение

Функция ClfsAdvanceTailCallback должна возвращать STATUS_PENDING или состояние ошибки. Возвращаемое значение STATUS_PENDING указывает, что запрос на перемещение заключительного фрагмента журнала клиента будет выполнен асинхронно. Функция ClfsMgmtAdvanceTailCallback не должна возвращать STATUS_SUCCESS, даже если она выполняется синхронно.

Комментарии

Функция ClfsAdvanceTailCallback вызывается, когда управление CLFS запрашивает, чтобы клиент продвинул свой хвост журнала.

Функция ClfsAdvanceTailCallback должна выполнять только минимальный объем обработки перед возвратом. Например, функция ClfsAdvanceTailCallback может выполнять следующую процедуру:

  1. Если запрос не может быть обработан, верните состояние ошибки.
  2. Если запрос можно обработать, создайте рабочий элемент и поставьте его в очередь, чтобы выполнить действия, необходимые для перемещения хвоста клиента, а затем вернуть STATUS_PENDING. Дополнительные сведения о постановке в очередь рабочего потока см. в разделе Системные рабочие потоки.
Когда клиент вызывает подпрограмму ClfsMgmtRegisterManagedClient для регистрации с помощью управления CLFS, клиент предоставляет указатель на функцию ClfsAdvanceTailCallback и пользовательские данные, которые будут передаваться в качестве параметра функции ClfsAdvanceTailCallback при вызове этой функции.

Требования

Требование Значение
Минимальная версия клиента Поддерживается в Windows Server 2003 R2, Windows Vista и более поздних версиях Windows.
Целевая платформа Персональный компьютер
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
IRQL Вызывается в IRQL <= APC_LEVEL

См. также раздел

CLFS_MGMT_CLIENT_REGISTRATION

ClfsAdvanceLogBase

ClfsMgmtRegisterManagedClient

ClfsMgmtTailAdvanceFailure