структура FILE_INTERNAL_INFORMATION (ntifs.h)
Структура FILE_INTERNAL_INFORMATION используется для запроса 8-байтового номера файла файловой системы для файла.
Синтаксис
typedef struct _FILE_INTERNAL_INFORMATION {
LARGE_INTEGER IndexNumber;
} FILE_INTERNAL_INFORMATION, *PFILE_INTERNAL_INFORMATION;
Члены
IndexNumber
Номер ссылки на 8-байтовый файл для файла. Это число назначается файловой системой и зависит от файловой системы. (Обратите внимание, что это не совпадает с идентификатором 16-байтового объекта, добавленного в NTFS для Microsoft Windows 2000.)
Замечания
Эти сведения можно запрашивать в любом из следующих способов:
Вызовите FltQueryInformationFile или ZwQueryInformationFile, передав FileInternalInformation в качестве значения FileInformationClass и передавая выделенный вызывающим FILE_INTERNAL_INFORMATION структурированный буфер в качестве значения FileInformation.
Создайте IRP с основным кодом функции IRP_MJ_QUERY_INFORMATION.
Для запроса этих сведений не требуются определенные права доступа.
Элемент indexNumber структуры FILE_INTERNAL_INFORMATION совпадает с элементом FileId структуры FILE_ID_BOTH_DIR_INFORMATION и FILE_ID_FULL_DIR_INFORMATION.
Номера ссылок на файл, также называемые идентификаторами файлов, гарантированно будут уникальными только в статической файловой системе. Они не гарантируются уникальными с течением времени, так как файловые системы могут повторно использовать их. Они не гарантированы оставаться постоянными. Например, файловая система FAT создает номер ссылки на файл из смещения байтов записи записи каталога файла (DIRENT) на диске. Дефрагментация может изменить это смещение байтов. Таким образом, ссылочный номер файла FAT может меняться с течением времени.
Размер буфера, передаваемого в параметре FileInformation, в FltQueryInformationFile или ZwQueryInformationFile должен быть по крайней мере sizeof(FILE_INTERNAL_INFORMATION)
.
Эта структура должна быть выровнена по границе LONGLONG (8-байтов).
Требования
Требование | Ценность |
---|---|
заголовка | ntifs.h (include Ntifs.h, Fltkernel.h) |