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

Драйвер фильтра файловой системы (устаревший фильтр) может зарегистрировать PCOMPLETE_LOCK_IRP_ROUTINE типизированной подпрограммы в качестве обратного вызова CompleteLockIrpRoutine фильтра.

Синтаксис

PCOMPLETE_LOCK_IRP_ROUTINE PcompleteLockIrpRoutine;

NTSTATUS PcompleteLockIrpRoutine(
  PVOID Context,
  PIRP Irp
)
{...}

Параметры

Context

[in] Указатель контекста, переданный в FsRtlProcessFileLock.

Irp

[in] IRP для блокировки файла 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, которое не является кодом успешного выполнения, блокировка файла удаляется из файла.

Комментарии

Драйвер фильтра файловой системы (устаревший фильтр) может при необходимости указать PCOMPLETE_LOCK_IRP_ROUTINE типизированной подпрограммы в качестве подпрограммы CompleteLockIrpRoutine устаревшего фильтра для блокировки файла в диапазоне байтов.

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

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

Требования

Требование Значение
Заголовок ntifs.h
IRQL APC_LEVEL

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

FsRtlAllocateFileLock

FsRtlCheckLockForReadAccess

FsRtlCheckLockForWriteAccess

FsRtlFreeFileLock

FsRtlInitializeFileLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock

IRP_MJ_LOCK_CONTROL

PUNLOCK_ROUTINE