код элемента управления 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_PARAMETERS для IRP_MJ_FILE_SYSTEM_CONTROL
FSCTL_OPBATCH_ACK_CLOSE_PENDING