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

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

Синтаксис

BOOLEAN FsRtlOplockIsFastIoPossible(
  [in] POPLOCK Oplock
);

Параметры

[in] Oplock

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

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

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

Комментарии

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

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

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

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

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

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая 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