Код элемента управления FSCTL_REQUEST_BATCH_OPLOCK
Код элемента управления FSCTL_REQUEST_BATCH_OPLOCK запрашивает пакетную оппортунистическую блокировку (oplock) для файла.
Для обработки этого кода элемента управления мини-фильтр вызывает FltOplockFsctrl со следующими параметрами. Драйвер файловой системы или устаревшего фильтра вызывает FsRtlOplockFsctrl.
Дополнительные сведения о оппортунистических блокировках и коде элемента управления FSCTL_REQUEST_BATCH_OPLOCK см. в документации по Microsoft Windows SDK.
Параметры
Oplock: указатель непрозрачного объекта oplock для файла.
CallbackData: только FltOplockFsctrl . Структура данных обратного вызова (FLT_CALLBACK_DATA) для запроса FSCTL IRP_MJ_FILE_SYSTEM_CONTROL. Параметр FsControlCode для операции должен быть FSCTL_REQUEST_BATCH_OPLOCK.
Irp: только FsRtlOplockFsctrl . IRP для IRP_MJ_FILE_SYSTEM_CONTROL запроса FSCTL. Параметр FsControlCode для операции должен быть FSCTL_REQUEST_BATCH_OPLOCK.
OpenCount: количество пользовательских дескрипторов для файла.
Блок состояния
FltOplockFsctrl возвращает FLT_PREOP_PENDING для этой операции, если была предоставлена операция oplock. В противном случае возвращается 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