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

Вниз

CryptAcquireContext - съедает память   Найти похожие ветки 

 
pargo   (2004-03-22 08:48) [0]

Неужели так и должно быть ?
var
pName:PAnsiChar;
//.............................................................................
if CryptAcquireContext(@hProv,nil,pName,dwType,CRYPT_VERIFYCONTEXT) then
 begin
  if not CryptReleaseContext(hProv,0) then ShowMessage("CryptReleaseContext");
 end
else  ShowMessage("CryptReleaseContext");

Если pName - имя провайдера, а не nil, то
после выполнения этого куска кода, приложение занимает памяти, примерно, на 2 Mb больше.
( повторно добавляет примерно по 100 Kb)
Причем CryptReleaseContext не ругается.
Для эксперемента убирал CryptReleaseContext - с ним и без него пропадает примерно
одно и то же количество памяти.
Такое впечатление, что CryptReleaseContext никак не влияет.
В чем может быть дело ?


 
Reindeer Moss Eater ©   (2004-03-22 09:04) [1]

Для паники нет причин. Функция не только возвращает новый контекст, но еще и инициирует криптопровайдер, если он еще не инициализирован. И нет никаких причин (у авторов криптопровайдера) сразу же деинициализировать провайдера если этот контекст освобождается. Кэширование одним словом + особенности диспетчера задач (ты же по его показаниям определяешь выделение памяти)

Кроме того, Если pName - имя провайдера, а не nil, - значит запрашивается конкретный провайдер, который может быть написан с ошибками и иметь утечки памяти.



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

Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.041 c
4-1079638059
MyNick
2004-03-18 22:27
2004.04.11
Запрет ALT-CTRL_DEL


11-1068010080
Gandalf
2003-11-05 08:28
2004.04.11
KOLovrat - как оно?


9-1065350516
IP
2003-10-05 14:41
2004.04.11
Как задать цветовой ключ?


4-1076003841
sergey1
2004-02-05 20:57
2004.04.11
Чужой процесс...


1-1082632603
КомофОнСамый
2004-04-22 15:16
2004.04.11
Печать через QuickReport текствого файла с предв. просмотром





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