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

10 февраля 2001



NtNotifyChangeDirectoryFile (ZwNotifyChangeDirectoryFile)

NTSYSAPI 
NTSTATUS
NTAPI

NtNotifyChangeDirectoryFile(

IN HANDLE FileHandle, IN HANDLE Event OPTIONAL, IN PIO_APC_ROUTINE ApcRoutine OPTIONAL, IN PVOID ApcContext OPTIONAL, OUT PIO_STATUS_BLOCK IoStatusBlock, OUT PVOID Buffer, IN ULONG BufferSize, IN ULONG CompletionFilter, IN BOOLEAN WatchTree );




NtNotifyChangeDirectoryFile используется для обработки изменений в каталоге. Следует выбрать что использовать - объект события или функцию APC в качестве оповещения. Функция возвращает сразу же значение STATUS_PENDING.


  • FileHandle
  •     HANDLE файла, открытого с доступом SYNCHRONIZE и установленной опцией FILE_DIRECTORY_FILE.
  • Event
  •     HANDLE события. Событие может быть создано как NotificationEvent или SynchronizationEvent, второй вариант предпочтительнее.
  • ApcRoutine
  •     Адрес APC-функции, вызываемой после того, как состоялось изменение.
  • ApcContext
  •     Параметр для ApcRoutine.
  • IoStatusBlock
  •     Результат ввода-вывода. Поле Status в IoStatusBlock может содержать STATUS_NOTIFY_ENUM_DIR если Buffer слишком мал.
  • Buffer
  •     Буфер (память выделяется пользователем) для информации об изменениях. Содержит одну или несколько структур FILE_NOTIFY_INFORMATION.
  • BufferSize
  •     Размер Buffer, в байтах.
  • CompletionFilter
  •     Маска, определяющая, какой тип изменений отслеживается. Может быть комбинацией следующих значений:
  • WatchTree
  •     Если установлено, все подкаталоги также отслеживаются.


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



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


    См. также:
    EVENT_TYPE
    FILE_NOTIFY_INFORMATION