Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2010.04.04;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.004 c
15-1263463308
Tornado
2010-01-14 13:01
2010.04.04
Запуск программы с сервера


15-1263587729
itsme
2010-01-15 23:35
2010.04.04
Получение данных из Poker-клиента


2-1265174868
Ulugbek
2010-02-03 08:27
2010.04.04
Как изменять программно Caption MainMenuItems внутри Toolbar


6-1215631058
Квэнди
2008-07-09 23:17
2010.04.04
Версия удаленного файла


15-1263276336
Kolan
2010-01-12 09:05
2010.04.04
Как управлять версиями веб-проектов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский