Главная страница
    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.46 MB
Время: 0.004 c
15-1263301147
tmtlib
2010-01-12 15:59
2010.04.04
Самодельный ассемблер 0.3beta


2-1265203057
@!!ex
2010-02-03 16:17
2010.04.04
Глючит TPageControl


15-1263472832
DeadMeat
2010-01-14 15:40
2010.04.04
Перехват информации


15-1262483235
Германн
2010-01-03 04:47
2010.04.04
OnTimer или где?


1-1248087362
Amid
2009-07-20 14:56
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский