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


Функция FsRtlOplockIsFastIoPossible (ntifs.h)

FsRtlOplockIsFastIoPossible проверяет состояние оппортунистической блокировки файла (oplock), чтобы определить, можно ли выполнять быстрый ввод-вывод в файле.

Синтаксис

BOOLEAN FsRtlOplockIsFastIoPossible(
  [in] POPLOCK Oplock
);

Параметры

[in] Oplock

Непрозрачный оппортунистический указатель блокировки для файла. Этот указатель должен быть инициализирован предыдущим вызовом FsRtlInitializeOplock.

Возвращаемое значение

FsRtlOplockIsFastIoPossible возвращает значение FALSE, если в файле имеются неоплачиваемые блокировки оппортунистических операций ввода-вывода, которые препятствуют быстрому выполнению операций ввода-вывода; Значение TRUE в противном случае.

Замечания

FsRtlOplockIsFastIoPossible определяет, можно ли выполнять быстрый ввод-вывод в файле в соответствии со следующими условиями:

  • Если параметр Oplock имеет значение NULL или значение *Oplock имеет значение NULL, в файле отсутствуют необработанные оппортунистические блокировки, а быстрый ввод-вывод можно выполнить в файле.

  • Если для файла была предоставлена монопольная оппортунистическая блокировка, но в файле не выполняется разрыв оплока, можно выполнить быстрый ввод-вывод в файле.

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

Минифильтры должны вызывать FltOplockIsFastIoPossible вместо FsRtlOplockIsFastIoPossible.

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка ntifs.h (include Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

См. также

FSCTL_OPBATCH_ACK_CLOSE_PENDING

FSCTL_OPLOCK_BREAK_ACKNOWLEDGE

FSCTL_OPLOCK_BREAK_ACK_NO_2

FSCTL_OPLOCK_BREAK_NOTIFY

FSCTL_REQUEST_BATCH_OPLOCK

FSCTL_REQUEST_FILTER_OPLOCK

FSCTL_REQUEST_OPLOCK_LEVEL_1

FSCTL_REQUEST_OPLOCK_LEVEL_2

FltOplockIsFastIoPossible

FsRtlCheckOplock

FsRtlCurrentBatchOplock

FsRtlInitializeOplock

FsRtlOplockFsctrl

FsRtlUninitializeOplock