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

Вниз

Как закрыть файл отображенный в память после зависания?   Найти похожие ветки 

 
DVM   (2003-09-10 17:24) [0]

Вопрос вот в чем. Есть программа, есть хук в длл. Программа и длл общаются посредством Memory Mapped File. Проблема в том, что после зависания или насильственного убиения программы общаться с dll через файл она не может, т.к. не может его создать/открыть, потому что старый уже существует (мое предположение). Вобщем не работает.
Нет ли способа закрыть такой файл, если известно только его имя?


 
Игорь Шевченко   (2003-09-10 17:33) [1]


> Проблема в том, что после зависания или насильственного
> убиения программы общаться с dll через файл она не может,
> т.к. не может его создать/открыть


Подробнее на эту тему ? DLL в чужом процессе открывает файл ?


 
Morfein   (2003-09-10 17:49) [2]

Этот файл перестаёт существовать после закрытия родительского процесса.


 
DVM   (2003-09-10 18:19) [3]


> Подробнее на эту тему ? DLL в чужом процессе открывает файл
> ?

Да. Открывает или создает. Зависит от его текущего состояния.

> Morfein © (10.09.03 17:49) [2]
> Этот файл перестаёт существовать после закрытия родительского
> процесса.

Это я знаю. Но при "вылете" процесса файл тоже закрывается? А тот файл с которым работает длл как закрыть?


 
Игорь Шевченко   (2003-09-10 18:25) [4]

Никак. Он же во владении чужого процесса. При выгрузке DLL, если она скажет CloseHandle, он и закроется. Ты можешь запустить свою программу заново, и создать этот файл (разумеется, с именем). Если вернет ошибку ERROR_ALREADY_EXISTS, то продолжай с ним работать



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

Форум: "WinAPI";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.035 c
7-42198
Programmers88
2003-08-18 15:37
2003.11.13
POWER и RESET


3-40954
inkotex
2003-10-17 11:44
2003.11.13
Помогите с примером!


3-40863
ZoKr
2003-10-21 12:21
2003.11.13
Read-Only Dataset


3-40936
User_OKA
2003-10-17 15:33
2003.11.13
Запрос


7-42208
Карелин Артем
2003-08-26 14:36
2003.11.13
Момент создания панели задач.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский