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


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

Код элемента управления FSCTL_OPLOCK_BREAK_ACK_NO_2 реагирует на уведомление о том, что монопольная (уровень 1, пакет или фильтр) оппортунистическая блокировка (блокировка) для файла была нарушена.

Клиентское приложение отправляет этот код элемента управления, чтобы указать, что оно подтверждает разрыв блокировки и что, если блокировка является блокировкой уровня 1, которая была нарушена до уровня 2, ему не нужен режим блокировки уровня 2.

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

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

Параметры

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

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

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

  • OpenCount: не используется с этой операцией; Значение равно нулю.

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

FltOplockFsctrl всегда возвращает FLT_PREOP_COMPLETE для этой операции.

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

Код Значение
STATUS_SUCCESS Разрыв блокировки подтвержден. Никаких оставшихся операций не проводится.
STATUS_INVALID_OPLOCK_PROTOCOL Этот дескриптор не удерживал ни разблокировки, либо разрыв блокировки в настоящее время не выполняется. Это код ошибки.

Требования

Тип требования Требование
Заголовок 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_ACKNOWLEDGE

FSCTL_OPLOCK_BREAK_NOTIFY

FSCTL_REQUEST_BATCH_OPLOCK

FSCTL_REQUEST_FILTER_OPLOCK

FSCTL_REQUEST_OPLOCK_LEVEL_1

FSCTL_REQUEST_OPLOCK_LEVEL_2

FsRtlOplockFsctrl

IRP_MJ_FILE_SYSTEM_CONTROL