Страница 1 из 1
Потоки NTFS
Добавлено: 20 июл 2005, 14:04
allo4la
Нужно получить список имен потоков в заданном файле.
К сожалению дальше
hFileInfo:=GetProcAddress(GetModuleHandle('ntdll.dll'),'NtQueryInformationFile');
ничего не могу придумать - там непонятные структуры и вобще никогда не приходилось работать с NativeAPI.
Помогите. Хотябы описанием структур.
Добавлено: 21 июл 2005, 10:13
Naeel Maqsudov
А что за "потоки NTFS"?
Как они в оригинале называются?
Какие конкретно структуры не понятны? Обычно windows.pas и messages.pas бывает достаточно для работы с WinAPI-шными структурами...
Добавлено: 21 июл 2005, 10:48
allo4la
Хм.. ну файловые потоки.
Если кто не в курсе - рассказываю:
Файловая система NTFS поддерживает файловые потоки, то есть есть файлы, и они могут содержать потоки. В потоках хранятся другие файлы. Обращаются к ним так: file.txt:file_in_stream. В потоках хрянится служебная информация, описания файлов, вирусы и прочие не очень полезные данные.
Создать поток можно с помощью обычного CreateFile('file.dat:stream'...); Также их можно легко править и читать. А вот для их перечисления стандартных API не существует. Поэтому приходится мучится с NtQueryInformationFile.
Добавлено: 21 июл 2005, 10:54
allo4la
Какие структуры не понятны?
Я не знаю, какие переметры передаются NtQueryInformationFile и что они значат.
Но я точно знаю, что эта функция возвращает полную информацию о файле, включая перечень потоков.