|
|
|
Доступ к файлу. "Sharing violation"
|
|||
|---|---|---|---|
|
#18+
VC. Win2k Есть файл, лежит на сети. Путь, допустим, замаплен. Говорим "Отрыть файл". Получаем "Sharing violation". Вопрос, как определить юзера, который этот файл шарит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2004, 14:07 |
|
||
|
Доступ к файлу. "Sharing violation"
|
|||
|---|---|---|---|
|
#18+
Может быть нужно установить права на read, write, full access или поменять тип открываемого Hadle(stream)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 03:36 |
|
||
|
Доступ к файлу. "Sharing violation"
|
|||
|---|---|---|---|
|
#18+
Не, никаких прав нельзя устанавливать. Любой юзер сети должен мочь запустить программу. Но только нужно мочь узнать, кто в данных момент её держит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 07:39 |
|
||
|
Доступ к файлу. "Sharing violation"
|
|||
|---|---|---|---|
|
#18+
Говорят есть где-то в сети исходники filemon который отсюда: http://www.sysinternals.com/ntw2k/source/filemon.shtml Но я так в свое время их и не сумел найти.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 10:29 |
|
||
|
Доступ к файлу. "Sharing violation"
|
|||
|---|---|---|---|
|
#18+
В лоб эту задачу довольно сложно решить. Лучше попробуй сделать так : используя named pipes кидаешь запросец ( "какая сволочь держит этот файл" ), сам же их слушаешь, ну и сам же отвечаешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 10:58 |
|
||
|
Доступ к файлу. "Sharing violation"
|
|||
|---|---|---|---|
|
#18+
Tracer В лоб эту задачу довольно сложно решить. Лучше попробуй сделать так : используя named pipes кидаешь запросец ( "какая сволочь держит этот файл" ), сам же их слушаешь, ну и сам же отвечаешь. Это сомнительный способ. named pipes - они же для одной машины... или я чего-то не понимаю? Как вариант можно в самом файле (или в дополнительном рядом лежащем) отвести буфер, в который записывать имя завладевшего файлом пользователя. При этом, конечно, текущей владелец файла не должен закрывать к нему доступ на чтение. Во всяком случае есть подозрение, что например Excel делает именно так - всякий раз, когда открываешь файл, он его модифицирует - прописывает имя пользователя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 11:23 |
|
||
|
Доступ к файлу. "Sharing violation"
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 11:46 |
|
||
|
Доступ к файлу. "Sharing violation"
|
|||
|---|---|---|---|
|
#18+
авторЭто сомнительный способ. named pipes - они же для одной машины... или я чего-то не понимаю? Нет, не только для одной машины. Также и в сети ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 12:15 |
|
||
|
Доступ к файлу. "Sharing violation"
|
|||
|---|---|---|---|
|
#18+
TracerНет, не только для одной машины. Также и в сети А как тогда должно выглядеть имя \\.\pipe\pipename для CreateNamedPipe? У меня чего-то не получалось с другой машины послать запрос... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 12:19 |
|
||
|
Доступ к файлу. "Sharing violation"
|
|||
|---|---|---|---|
|
#18+
на сервере \\.\pipe\<unique name> на клиенте \\<servermachinename>\pipe\<unique name> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 14:24 |
|
||
|
Доступ к файлу. "Sharing violation"
|
|||
|---|---|---|---|
|
#18+
Tracerна сервере \\.\pipe\<unique name> на клиенте \\<servermachinename>\pipe\<unique name> Спасибо, действительно получилось. Я-то раньше пытался и на сервере и на клиенте одновременно задать имя сервера или точку... Но только все равно это работает лишь на NT/2000/Xp... чего-то с win98 клиент нифига не видит эту pipe ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 15:13 |
|
||
|
Доступ к файлу. "Sharing violation"
|
|||
|---|---|---|---|
|
#18+
авторчего-то с win98 клиент нифига не видит эту pipe Тут я пас, с Win98 давно не работал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 15:48 |
|
||
|
Доступ к файлу. "Sharing violation"
|
|||
|---|---|---|---|
|
#18+
Это делается через функцию NetFileEnum Причём даже в MSDN есть примерчик. Тока у него есть один минус, который я ешё не успел поправить (вот, кстати, не знаю что вперёд сделаю, этот поправлю или свой напишу, потому как уже начал делать свой, потом нашёл готовый). Минус - оно юзает некоторую недокументированную никак функцию(даже не нашёл ещё с какой длл-ки) которая получает список машин в сети Microsoft, а у меня почти все сетевые линки на NetWare. :) Так вот у меня две программы, одна умеет искать файлы в любой сети, вторая умеет находить юзеров, котоые в данный момент используют файлы. Осталось собрать их в кучу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2004, 08:35 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32463090&tid=2035194]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
72ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 427ms |

| 0 / 0 |
