функция обратного вызова 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 |