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

Вниз

Какой ресурс в NT жестко ассоциирован с хэндлом со значением 4 ?   Найти похожие ветки 

 
paul_shmakov   (2001-11-08 16:26) [20]

Что делает эпилог (для тех, кому лениво посмотреть в окне CPU :) :
1) вызывает зарегистрированные процедурой AddExitProc
функции-обработчики завершения приложения
2) вызывает Finalization у всех unit-ов
3) выгружает продгруженные package-ы
4) убирает обработчик исключений
5) вызывает ExitProcess, на чем все и заканчивается

Если мы используем код для удаления процессом своего файла (см.выше),
то пункты с 1 по 4 не будут вызваны. В некоторых ситуациях это может
быть опасным. Например, какой-нить объект ядра, семафор к примеру, не
будет корректно освобожден, что может отразиться на других
работающих процессах, если они совместно используют эти объекты.

А что касается mmf, то все будет нормально. Если конечно один из юнитов
или package не вызвал во время своей инициализации или работы
MapViewOfFile(4,....) или DuplicateHandle(GetCurrentProcess(), 4, ....),
что увеличивает reference count объекта. Но если он это вызвал, значит
он тоже как-то пытается использовать наш недокументированный трюк,
который мы тут обсуждаем. Это крайне маловероятно!

А насчет того, что "Packages ведь грузятся в то же адр.пр-во", то и здесь
все нормально, т.к. загрузка package, как и обычной dll, счетчик mmf
exe-шника не трогает.



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

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

Наверх





Память: 0.45 MB
Время: 0.004 c
3-56988
xmapa
2002-01-23 16:20
2002.02.18
Можно ли в QuickReport выводить текст вертикально?


1-57042
kronprince
2002-02-04 11:25
2002.02.18
Затенение окна как при Start > Shut Down


4-57268
Serguar
2001-12-18 09:54
2002.02.18
список функций из DLL


1-57100
@andrew
2002-02-01 14:45
2002.02.18
ПРИВЕТ ВСЕМ!!! Делаю смену курсора на событие....


3-57032
kserg@ukr.net
2002-01-24 17:16
2002.02.18
DBGrid - как запретить





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