Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.04.04;
Скачать: CL | DM;

Вниз

NetFileEnum   Найти похожие ветки 

 
multiflex   (2008-07-13 14:32) [0]

Всем приятного времени. Сабж дает мне инфу о имени пользователя (fi3_username, получившего доступ к файлу в структуре _FILE_INFO_3, а также уникальный идентификатор открытого ресурса (fi3_id), а необходимо узнать, какому компьютеру принадлежит этот пользователь. Я конечно могу перечислить сессии через NetSessionEnum, но фактически имя пользователя не всегда однозначно совпадает с именем компьютера и может быть одинаковым. Подскажите пожалуйста как определить соответствие, либо возможно есть какие либо другие апи?? Спасибо.

ЗЫ. В догонку: на открытие файла из шары можно чтонибудь вроде хука поставить, или события подождать, или придется постоянный опрос производить???


 
multiflex   (2008-07-14 06:13) [1]

Жаль что никто так и не смог помочь, спасибо, буду искать помощи в другом месте, может и найду.


 
alexm_hs_   (2008-07-14 20:52) [2]

1. Что-то не совсем понятно, почему вас не устраивает предложенный же вами способ. Вообще-то так и надо делать. Получаете список через NetSessionEnum. Там есть имя пользователя и имя компьютера. Потом получаете список через NetFileEnum. Там есть имя пользователя. Вот по нему и осуществляете связку двух списков. Один нюанс непростой. Иногда бывает что два юзера с одним именем с разных компьютеров начинают открывать файл. Вот тут, что бы не приписать юзерам "лишних" доступов, необходимо использовать информацию из первого списка о времени бездействия и кол-ве открытых ресурсов. В части случаев удавалось разделить "зерна от плевел". Но в части все ж одному из юзеров приписывались лишние открытые файлы. Пробуйте.

2. Хук не получится. Придется в таймере делать вызов. Советую только до таймера инициализировать эти апишные функции и потом с ними работать. Что б загрузку модуля netapi32.dll часто не производить.


 
multiflex   (2008-07-15 11:09) [3]

Все верно, реализовано именно так, но просто хотелось улучшить все это дело просто, вариант то хороший, но когда подключается 3 компа с "администраторами" то обнаружить открытие какого либо файла конкретно тем или иным пользователем нереально. Не сподобились мелкомягкие нормальную библиотеку сделать =( Либо всетаки гдето чтото есть но сие тайна велика.


 
alexm_hs_   (2008-07-15 19:54) [4]

Посмотрите на пару-тройку программ в сети, отслеживающих подключения. У всех одна и та же "болезнь" с подключениями с одного пользователя. Других средств у МС видно нет. Иначе увидели бы реализацию в составе ОС. В МСДН тоже только этот способ описан. Думаю, если был бы другой - его бы описали. Вещь не такая уж и незначительная, что б ее можно было не задокументировать.


 
multiflex   (2008-07-16 13:19) [5]

Ага, волен согласиться, везде такая вот чушь =( Ну хорошо, что есть - то есть, куда деваться. Будем эвристикой заниматься - кто когда где и во сколько, тот наверно и тот а не этот...



Страницы: 1 вся ветка

Текущий архив: 2010.04.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
15-1263549968
TMan
2010-01-15 13:06
2010.04.04
Пароли под звездочками


1-1246608128
smirnoff
2009-07-03 12:02
2010.04.04
Обращение из Delphi к DLL написанной на C++


2-1265023414
И. Павел
2010-02-01 14:23
2010.04.04
Как поменять столбцы местами?


15-1262053212
brother
2009-12-29 05:20
2010.04.04
Отчет в FastMM


2-1265095670
Дмитрий С
2010-02-02 10:27
2010.04.04
Как скопировать форму?