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


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

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

Синтаксис

__kernel_entry NTSYSCALLAPI NTSTATUS NtUnlockFile(
  [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

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

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

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

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

Замечания

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

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

Заметка

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

Для вызовов драйверов в режиме ядра 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 HwStorPortProhibitedDDIs, PowerIrpDDis

См. также

использование версий собственных системных служб и Zw

NtLockFile