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