Здраствуйте, Как узнать из-под перехватчика ntQueryDirectoryFile, в каком каталоге проводился "поиск"? Мне нужно дополнить имена файлов, которые возвращает эта функция, полными путями к ним.
Ты имеешь ввиду вызвать оригинальную ф-цию с теми же параметрами что переданы в перехваченную, но с другим классом? Т.е. в конце концов оригинал будет дергаться дважды?
Что-то мне подсказывает что каталог можно получить если привести хендл файла (первый параметр ф-ции) к имени. Но как....
ObReferenceObjectByHandle(..., *IoFileObjectType, ...) Дальше ObQueryNameString, либо из полей структуры - вообще все что нужно
Ага, попробывал, работает. Но это не совсем то что нужно, т.к. возвращает путь в формате: Код (Text): МУСОР\Device\HarddiskVolume3\Drivers\MyDriver а мне нужно: c:\somedir1\somefile.ext Т.е. простой и всем понятный формат...
Возможно ли конвертировать путь к файлу/каталогу вида: \Device\HarddiskVolume3\Drivers\MyDriver к X:\Drivers\MyDriver ...или наоборот?
Попробуй RtlVolumeDeviceToDosName Такие темы уже были, может поможет: http://www.wasm.ru/forum/viewtopic.php?id=7004