| ||||
| ||||
Есть простейшая программа: #include "stdafx.h" int main(int argc, char* argv[]) { HCRYPTPROV HProvider; BOOL Res = CryptAcquireContext(&HProvider, NULL, MS_DEF_PROV_A, PROV_RSA_FULL, 0); if(!Res) { MessageBox(0, "CryptAcquireContext", "Отказ", MB_OK); return -1; } CryptReleaseContext(HProvider, 0); return 0; } Смотрю под Bounds Checker’ом - получается большая утечка памяти (~200k) в модуле cpcspi.dll. Что бы это могло значить? И причем тут Крипто-Про? | ||||
Ответы: | ||||
| ||||
Тут нет утечки памяти. Просто при первом вызове CryptAcquireContext инициализируются начальные данные нашего криптопровайдера. При последующих вызовах этого не будет. Другой вопрос, что этого не нужно бы делать при использовании не нашего CSP. Сообщите билд нашего CSP и версию ОС, возможно, в какой-то ветке ПО (они разные для разных ОС) есть ненужный вызов нашего провайдера. | ||||