Недокументированные функции NTDLL

6 января 2001



NtLockFile (ZwLockFile)

NTSYSAPI 
NTSTATUS
NTAPI

NtLockFile(

IN HANDLE FileHandle, IN HANDLE LockGrantedEvent OPTIONAL, IN PIO_APC_ROUTINE ApcRoutine OPTIONAL, IN PVOID ApcContext OPTIONAL, OUT PIO_STATUS_BLOCK IoStatusBlock, IN PLARGE_INTEGER ByteOffset, IN PLARGE_INTEGER Length, IN PULONG Key, IN BOOLEAN ReturnImmediately, IN BOOLEAN ExclusiveLock );




  • FileHandle
  •     HANDLE файла, открытого с доступом FILE_READ_DATA.
  • LockGrantedEvent
  •     Дополнительный HANDLE на объект события, который переходит в сигнальное состояние после залочивания (обычно используется с параметром ReturnImmediately, установленным в значение TRUE).
  • ApcRoutine
  •     APC-функция, запускаемая после залочивания.
  • ApcContext
  •     Параметр для ApcRoutine.
  • IoStatusBlock
  •     Результат ввода-вывода.
  • ByteOffset
  •     Смещение (в байтах) региона файла для залочивания.
  • Length
  •     Длина региона для залочивания, в байтах.
  • Key
  •     Указатель на 4-байтный ключ, ассоциированный с данным локом. Может быть использован в многопоточном процессе для того, чтобы можно было писать данные только в одном выбранном потоке, который знает значение Key .
  • ReturnImmediately
  •     Если TRUE, функция возвращает значение сразу. Вызывающий оповещается о создании лока через LockGrantedEvent или через вызов ApcRoutine.
  • ExclusiveLock
  •     Если установлено, все операции чтения и записи запрещаются для других процессов. Если нет, то запрещается только операция чтения.


    Документировал:
    Reactos
    Томаш Новак



    Зависимости:
    Библиотека: ntdll.lib


    См. также:
    NtCreateFile
    NtOpenFile
    NtReadFile
    NtReadFileScatter
    NtUnlockFile
    NtWriteFile
    NtWriteFileGather