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

Драйвер минифильтра может зарегистрировать подпрограмму типа PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE в качестве процедуры обратного вызова CompleteLockCallbackDataRoutine драйвера минифильтра для структуры FILE_LOCK .

Синтаксис

PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE PfltCompleteLockCallbackDataRoutine;

NTSTATUS PfltCompleteLockCallbackDataRoutine(
  [in, optional] PVOID Context,
  [in]           PFLT_CALLBACK_DATA CallbackData
)
{...}

Параметры

[in, optional] Context

Указатель контекста, переданный в FltProcessFileLock.

[in] CallbackData

Указатель на структуру данных обратного вызова (FLT_CALLBACK_DATA) для завершаемой операции IRP_MJ_LOCK_CONTROL . Тип запроса на блокировку будет одним из следующих:

  • IRP_MN_LOCK
  • IRP_MN_UNLOCK_ALL
  • IRP_MN_UNLOCK_ALL_BY_KEY
  • IRP_MN_UNLOCK_SINGLE

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

Эта подпрограмма возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS. Если возвращается значение NTSTATUS, которое не является кодом успешного выполнения, блокировка файла удаляется из файла.

Комментарии

Драйвер минифильтра может при необходимости указать подпрограмму типа PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE в качестве подпрограммы CompleteLockCallbackDataRoutine драйвера минифильтра для блокировки файла в диапазоне байтов. Чтобы указать эту подпрограмму, драйвер минифильтра передает указатель на подпрограмму в качестве параметра CompleteLockCallbackDataRoutine для FltAllocateFileLock.

При завершении операции IRP_MJ_LOCK_CONTROL блокировки файла диспетчер фильтров вызывает эту подпрограмму, если она указана, в качестве уведомления для минифильтра.

Требования

Требование Значение
Минимальная версия клиента Windows XP с пакетом обновления 2 (SP2)
Минимальная версия сервера Windows Server 2003 с пакетом обновления 1 (SP1)
Целевая платформа Персональный компьютер
Верхняя часть fltkernel.h (включая Fltkernel.h)
IRQL <=APC_LEVEL

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

FILE_LOCK

FltAllocateFileLock

FltCheckLockForReadAccess

FltCheckLockForWriteAccess

FltFreeFileLock

FltInitializeFileLock

FltProcessFileLock

FltUninitializeFileLock

IRP_MJ_LOCK_CONTROL

PUNLOCK_ROUTINE