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


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

Подпрограмма ZwUnlockFile разблокирует блокировку диапазона байтов в файле.

Синтаксис

NTSYSAPI NTSTATUS ZwUnlockFile(
  [in]  HANDLE           FileHandle,
  [out] PIO_STATUS_BLOCK IoStatusBlock,
  [in]  PLARGE_INTEGER   ByteOffset,
  [in]  PLARGE_INTEGER   Length,
  [in]  ULONG            Key
);

Параметры

[in] FileHandle

Дескриптор для объекта файла, представляющего файл, диапазон байтов которого должен быть разблокирован.

[out] IoStatusBlock

Указатель на структуру IO_STATUS_BLOCK, содержащую окончательное состояние.

[in] ByteOffset

Указатель на переменную, указывающую начальное смещение байтов для разблокировки диапазона байтов.

[in] Length

Указатель на переменную, указывающую длину в байтах диапазона байтов для разблокировки.

[in] Key

Значение, назначаемое вызывающим пользователем, используется для описания групп связанных блокировок. Это значение должно быть равно нулю.

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

Подпрограмма ZwUnlockFile возвращает STATUS_SUCCESS при успешном выполнении или соответствующем значении NTSTATUS. Возможные значения NTSTATUS:

Возвращаемый код Описание
STATUS_RANGE_NOT_LOCKED Указанный диапазон байтов не заблокирован.

Замечания

Подпрограмма ZwUnlockFile принимает диапазон байтов, указанных аргументами byteOffset и Length. Этот диапазон должен быть идентичен диапазону байтов в файле, который ранее был заблокирован одним вызовом подпрограммы ZwUnlockFile. Невозможно разблокировать два ранее заблокированных смежных диапазона с одним вызовом ZwUnlockFile. Кроме того, невозможно разблокировать часть диапазона, который ранее был заблокирован с одним вызовом процедуры ZwUnlockFile.

Вызывающие ZwUnlockFile должны выполняться в IRQL = PASSIVE_LEVEL и с поддержкой специальных API ядра**.

Заметка

Если вызов функции Z ZwUnlockFile происходит в пользовательском режиме, следует использовать имя "NtUnlockFile" вместо "ZwUnlockFile".

Для вызовов драйверов в режиме ядра NtXxx и ZwXxx версии подпрограммы Windows Native System Services могут вести себя по-разному в том, как они обрабатывают и интерпретируют входные параметры. Дополнительные сведения о связи между NtXxx и ZwXxx версиями подпрограммы см. в разделе Using Nt and Zw Versions of the Native System Services Routines.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 7
целевая платформа Всеобщий
заголовка ntifs.h (include Ntifs.h, FltKernel.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (см. раздел "Примечания")
правил соответствия DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

См. также

ZwLockFile