Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
FILE_NOTIFY_INFORMATION описывает изменения в каталоге. Он возвращается в ответ на запрос IRP_MJ_DIRECTORY_CONTROL с дополнительным кодом функции IRP_MN_NOTIFY_CHANGE_DIRECTORY, если DIRECTORY_NOTIFY_INFORMATION_CLASS — DirectoryNotifyInformation.
Синтаксис
typedef struct _FILE_NOTIFY_INFORMATION {
ULONG NextEntryOffset;
ULONG Action;
ULONG FileNameLength;
WCHAR FileName[1];
} FILE_NOTIFY_INFORMATION, *PFILE_NOTIFY_INFORMATION;
Члены
NextEntryOffset
Количество байтов, которые необходимо пропустить, чтобы перейти к следующей записи. Значение нуля указывает, что это последняя запись.
Action
Тип изменения, которое произошло. Этот элемент может быть одним из следующих значений.
| Ценность | Значение |
|---|---|
| FILE_ACTION_ADDED (0x00000001) | Файл был добавлен в каталог. |
| FILE_ACTION_REMOVED (0x00000002) | Файл был удален из каталога. |
| FILE_ACTION_MODIFIED (0x00000003) | Файл был изменен. Это может быть изменение метки времени или атрибутов. |
| FILE_ACTION_RENAMED_OLD_NAME (0x00000004) | Файл был переименован, и это старое имя. |
| FILE_ACTION_RENAMED_NEW_NAME (0x00000005) | Файл был переименован, и это новое имя. |
| FILE_ACTION_ADDED_STREAM (0x00000006) | Именованный поток был добавлен в файл. |
| FILE_ACTION_REMOVED_STREAM (0x00000007) | Именованный поток был удален из файла. |
| FILE_ACTION_MODIFIED_STREAM (0x00000008) | Именованный поток был изменен. Изменение может быть изменением данных или атрибутов именованного потока. |
| FILE_ACTION_REMOVED_BY_DELETE (0x00000009) | Идентификатор объекта был удален, так как файл, на который ссылается идентификатор объекта, был удален. Это уведомление отправляется только в том случае, если отслеживаемый каталог является специальным каталогом "$Extend$ObjId:$O:$INDEX_ALLOCATION". |
| FILE_ACTION_ID_NOT_TUNNELLED (0x0000000A) | Попытка туннелировать сведения об идентификаторе объекта в созданный или переименованный файл не удалось, так как идентификатор объекта используется другим файлом в томе. Это уведомление отправляется только в том случае, если отслеживаемый каталог является специальным каталогом "$Extend$ObjId:$O:$INDEX_ALLOCATION". |
| FILE_ACTION_TUNNELLED_ID_COLLISION (0x0000000B) | Попытка туннелировать сведения об идентификаторе объекта в файл, переименованный не удалось, так как файл уже имеет идентификатор объекта. Это уведомление отправляется только в том случае, если отслеживаемый каталог является специальным каталогом "$Extend$ObjId:$O:$INDEX_ALLOCATION". |
FileNameLength
Размер части имени файла записи в байтах. Это значение не включает завершающий символ NULL.
FileName[1]
Поле переменной длины, содержащее имя файла относительно дескриптора каталога. Имя файла находится в формате символов Юникода и не завершается значением NULL.
Если для файла имеется короткое и длинное имя, будет возвращено только одно из этих имен, но оно не указано.
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Windows 10 |
| заголовка | ntifs.h |