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