|
|
|
Закрыть отрытые подключения к фыйлу.
|
|||
|---|---|---|---|
|
#18+
Собственно существует некий процесс, это процесс я могу через код найти и закрыть. Но нужно проследить какие файлы этот процесс открывает и по возможности обрубать эти подключения... аналог есть в утелите procxp. Или в оснастке диспетчер общих ресурсов. Хотяб ы подскажите в какую сторону рыть.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.02.2008, 12:14 |
|
||
|
Закрыть отрытые подключения к фыйлу.
|
|||
|---|---|---|---|
|
#18+
VwСобственно существует некий процесс, это процесс я могу через код найти и закрыть. Но нужно проследить какие файлы этот процесс открывает и по возможности обрубать эти подключения... аналог есть в утелите procxp. Или в оснастке диспетчер общих ресурсов. Хотяб ы подскажите в какую сторону рыть..Получить все описатели в системе (Handles) можно двумя способами: > Из KernelMode(Надо драйвер писать). > Из UserMod: Беглое описание: 1) Необходимо найти размер структурв SystemHandleInformation (размер зависит от количества открытых описателей) 2) Выделить память для mPtr = VirtualAlloc(0, найденый размер, MEM_COMMIT, PAGE_READWRITE) 3) Путем вызова ZwQuerySystemInformation(16,ByVal VarPtr(mPtr),найденый размер структуры,dwReturn) 4) Отфильтровать описатели по типу "Файл" (равен 28 в XP), ну и по ProcessId например. 5) Найдя нужный описатель, скопируй его в свою (Локальную) таблицу описателей, используя DuplicateHandle, с флагом DUPLICATE_CLOSE_SOURCE. 6) Закрой описатель с помощью CloseHandle. Для более полной иформации, смотри: http://]www.vbstreets.ru/VB/Articles/66404.aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2008, 04:59 |
|
||
|
|

start [/forum/topic.php?fid=60&fpage=198&tid=2162595]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
25ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
20ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 273ms |

| 0 / 0 |
