код элемента управления FSCTL_REQUEST_FILTER_OPLOCK

Код элемента управления FSCTL_REQUEST_FILTER_OPLOCK запрашивает оппортунистическую блокировку фильтра (oplock) для файла.

Для обработки этого кода элемента управления минифильтр вызывает FltOplockFsctrl со следующими параметрами. Файловая система или устаревший драйвер фильтра вызывает FsRtlOplockFsctrl.

Дополнительные сведения о оппортунистических блокировках и коде элемента управления FSCTL_REQUEST_FILTER_OPLOCK см. в документации по Microsoft Windows SDK.

Параметры

  • Oplock: указатель непрозрачного объекта oplock для файла.

  • CallbackData: только FltOplockFsctrl . Структура данных обратного вызова (FLT_CALLBACK_DATA) для запроса FSCTL IRP_MJ_FILE_SYSTEM_CONTROL. Параметр FsControlCode для операции должен быть FSCTL_REQUEST_FILTER_OPLOCK.

  • Irp: только FsRtlOplockFsctrl . IRP для запроса FSCTL IRP_MJ_FILE_SYSTEM_CONTROL. Параметр FsControlCode для операции должен быть FSCTL_REQUEST_FILTER_OPLOCK.

  • OpenCount: количество пользовательских дескрипторов для файла.

Блок состояния

FltOplockFsctrl возвращает FLT_PREOP_PENDING для этой операции, если операция была предоставлена. В противном случае он возвращает FLT_PREOP_COMPLETE.

FsRtlOplockFsctrl возвращает одно из следующих значений NTSTATUS для этой операции:

Код Значение
STATUS_PENDING Облокировка была предоставлена. Это код успешного выполнения.
STATUS_CANCELLED IRP был отменен до завершения операции FSCTL_REQUEST_BATCH_OPLOCK. Это код ошибки.
STATUS_OPLOCK_NOT_GRANTED Не удалось предоставить блокировку. Это код ошибки.

Требования

Тип требования Требование
Заголовок Ntifs.h (включая Ntifs.h или Fltkernel.h)

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

FLT_CALLBACK_DATA

FLT_PARAMETERS

FLT_PARAMETERS для IRP_MJ_FILE_SYSTEM_CONTROL

FltOplockFsctrl

FSCTL_OPBATCH_ACK_CLOSE_PENDING

FSCTL_OPLOCK_BREAK_ACK_NO_2

FSCTL_OPLOCK_BREAK_ACKNOWLEDGE

FSCTL_OPLOCK_BREAK_NOTIFY

FSCTL_REQUEST_BATCH_OPLOCK

FSCTL_REQUEST_OPLOCK_LEVEL_1

FSCTL_REQUEST_OPLOCK_LEVEL_2

FsRtlOplockFsctrl

IRP_MJ_FILE_SYSTEM_CONTROL