Макрос FsRtlFastLock (ntifs.h)
Макрос FsRtlFastLock используется файловыми системами и драйверами фильтров для запроса блокировки диапазона байтов для файлового потока.
Синтаксис
BOOLEAN
FsRtlFastLock( A1, /* FileLock */
A2, /* FileObject */
A3, /* FileOffset */
A4, /* Length */
A5, /* ProcessId */
A6, /* Key */
A7, /* FailImmediately */
A8, /* ExclusiveLock */
A9, /* Iosb */
A10, /* Context */
A11 /* AlreadySynchronized */ )
Параметры
A1
[in] FileLock: указатель на структуру FILE_LOCK для файла. Эта структура должна быть инициализирована предыдущим вызовом FsRtlAllocateFileLock или FsRtlInitializeFileLock.
A2
[in] FileObject: указатель на FILE_OBJECT открытого файла. Файловый объект должен быть создан с GENERIC_READ или GENERIC_WRITE доступа к файлу (или и то, и другое).
A3
[in] FileOffset: указатель на переменную, указывающую начальное смещение байтов в файле диапазона, который необходимо заблокировать.
A4
[in] Length: указатель на переменную, указывающую длину диапазона, который необходимо заблокировать, в байтах.
A5
[in] ProcessId: указатель на идентификатор процесса EPROCESS для процесса, запрашивающего блокировку диапазона байтов.
A6
[in] Ключ: ключ, назначаемый блокировке диапазона байтов.
A7
[in] FailImmediately: логическое значение, указывающее, должен ли запрос на блокировку завершать ошибку, если блокировка не может быть предоставлена немедленно. Если вызывающий объект можно поместить в состояние ожидания, пока запрос не будет предоставлен, задайте для failImmediately значение FALSE. Если это не удается, установите для failImmediately значение TRUE.
A8
[in] ExclusiveLock: установите значение TRUE, если запрашивается монопольная блокировка, и FALSE, если запрашивается общая блокировка.
A9
[out] Iosb: указатель на структуру IO_STATUS_BLOCK , выделенную вызывающим объектом, которая получает сведения о состоянии запроса на блокировку.
A10
[in] Контекст. Необязательный указатель на контекст, используемый при освобождении блокировки диапазона байтов.
A11
[in] AlreadySynchronized: этот параметр устарел, но сохраняется для обеспечения совместимости с устаревшими драйверами.
Возвращаемое значение
None
Remarks
Макрос FsRtlFastLock приводит к тому, что вызывающий объект получает блокировку диапазона байтов в области указанного файла.
FsRtlFastLock возвращает значение TRUE, чтобы указать, что структура IO_STATUS_BLOCK, на которую указывает Iosb , получила сведения о состоянии операции блокировки; В противном случае возвращается значение FALSE.
Чтобы изучить содержимое структуры, на которую указывает Iosb , используйте макрос NT_STATUS.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | ntifs.h (включая Ntifs.h) |
IRQL | <= APC_LEVEL |