Re[2]: получение FileMode в WinAPI
От: KolyanV  
Дата: 07.03.05 09:35
Оценка:
Здравствуйте, Alter_, Вы писали:

A_>Честно говоря думал, что нет в природе такого способа. Ан нет Попробуй покопать вот в такую сторону:

A_>Експортируется из ntdll.dll и как следствие, работать будет только в семействе NT (NT4/2000/XP/etc.)
A_>По крайней мере OBJECT_BASIC_INFORMATION похоже на то, что нужно.

Спасибо за помощь! Интересная идея. Хотя, в принципе, вопрос отпал, так как я уже решил как обойтись без получения информации об аттрибуте открытия файла.

А суть вообще в следующем: написал приложение, которое работает с некой базой данных. БД имеет свой формат и является набором файлов. К базе данных делаются запросы. Количество запросов — очень большое, размер — маленький (десятки байт). При сетевой работе с БД, доступ осуществляется ОЧЕНЬ медленно. В результате, было решено создать модуль для кеширования сетевых файлов. Модуль перехватывает все обращения к CreateFile, CloseHandle, ReadFile, и кеширует файлы. Кеширование необходимо было сделать только для файлов c аттрибутом GENERIC_READ. При этом, определять аттрибут надо было как в перехваченой CreateFile, так и в ReadFile. Ситуация осложняется тем, что модуль кеширования должен работать корректно, даже при присоединении к процессу инородных модулей. (Мне, например, нужно использовать VTune, для оптимизации кеширования).
В принципе, на текущий момент вопрос о получении аттрибутов файла уже не столь актуален, так как я отказался от нахождения аттрибутов открытия при перехвате ReadFile.

Благодарю за помощь!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.