Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
FILE_NOTIFY_EXTENDED_INFORMATION предоставляет сведения об изменении каталога в ответ на запрос IRP_MJ_DIRECTORY_CONTROL с дополнительным кодом функции IRP_MN_NOTIFY_CHANGE_DIRECTORY, если DIRECTORY_NOTIFY_INFORMATION_CLASS — DirectoryNotifyExtendedInformation.
Синтаксис
typedef struct _FILE_NOTIFY_EXTENDED_INFORMATION {
ULONG NextEntryOffset;
ULONG Action;
LARGE_INTEGER CreationTime;
LARGE_INTEGER LastModificationTime;
LARGE_INTEGER LastChangeTime;
LARGE_INTEGER LastAccessTime;
LARGE_INTEGER AllocatedLength;
LARGE_INTEGER FileSize;
ULONG FileAttributes;
union {
ULONG ReparsePointTag;
ULONG EaSize;
} DUMMYUNIONNAME;
LARGE_INTEGER FileId;
LARGE_INTEGER ParentFileId;
ULONG FileNameLength;
WCHAR FileName[1];
} FILE_NOTIFY_EXTENDED_INFORMATION, *PFILE_NOTIFY_EXTENDED_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) | Каталог был переименован, и это новое имя. |
CreationTime
Дата и время создания каталога или файла и добавления в файловую систему.
LastModificationTime
Дата и время последнего изменения содержимого каталога или файла в файловой системе.
LastChangeTime
Дата и время последнего изменения метаданных или содержимого каталога или файла в файловой системе.
LastAccessTime
Дата и время последнего доступа к каталогу или файлу в файловой системе.
AllocatedLength
Выделенный размер файла в байтах.
FileSize
Новый размер каталога или файла в байтах или старый размер, если размер не изменяется.
FileAttributes
Атрибуты файла, которые могут быть любым допустимым сочетанием следующих значений:
- FILE_ATTRIBUTE_READONLY
- FILE_ATTRIBUTE_HIDDEN
- FILE_ATTRIBUTE_SYSTEM
- FILE_ATTRIBUTE_DIRECTORY
- FILE_ATTRIBUTE_ARCHIVE
- FILE_ATTRIBUTE_NORMAL
- FILE_ATTRIBUTE_TEMPORARY
- FILE_ATTRIBUTE_COMPRESSED
DUMMYUNIONNAME
DUMMYUNIONNAME.ReparsePointTag
Тег идентификатора точки повторного разбиения для каталога или файла.
DUMMYUNIONNAME.EaSize
Объединенная длина расширенных атрибутов (EA) для файла в байтах.
FileId
Идентификатор каталога или файла. Это число создается и назначается файлу файловой системой.
ParentFileId
Идентификатор родительского каталога файла.
FileNameLength
Размер части имени файла записи в байтах. Это значение не включает завершающий символ NULL.
FileName[1]
Поле переменной длины, содержащее имя файла относительно дескриптора каталога. Имя файла находится в формате символов Юникода и не завершается значением NULL.
Требования
| Требование | Ценность |
|---|---|
| заголовка | ntifs.h |