Функция 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
Дескриптор для объекта file, представляющего файл, диапазон байтов которого необходимо разблокировать.
[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 могут вести себя по-разному, так как они обрабатывают и интерпретируют входные параметры. Дополнительные сведения о связи между версиями подпрограмм NtXxx и ZwXxx см. в разделе Использование версий NT и Zw подпрограмм собственных системных служб.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 |
Целевая платформа | Универсальное |
Верхняя часть | ntifs.h (включая Ntifs.h, FltKernel.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (см. раздел "Примечания") |
Правила соответствия DDI | HwStorPortProhibitedDIs, PowerIrpDDis |