Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.44 MB
Время: 0.04 c
14-1082312672
Феликс
2004-04-18 22:24
2004.04.11
Черты характера


1-1079699562
sherminator
2004-03-19 15:32
2004.04.11
окна винды


7-1080123240
Петро
2004-03-24 13:14
2004.04.11
Проверка подлинности пароля.


3-1081851763
Belkova
2004-04-13 14:22
2004.04.11
Роли и права доступа


3-1079104653
ZSergey
2004-03-12 18:17
2004.04.11
Поддерживает ли ADO в запросах соединение (||) ?





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