Утечка памяти winverifytrust

У меня возник вопрос по подписи каталога winverifytrust. Мы используем winverifytrust и не вызываем WTD_ACTION_STATE_CLOSE после вызова, мы вызываем его, только если hWVTStateData не равен NULL. Мы видим, что потребление системной памяти продолжает расти

Потребление возрастает, затем уходит в устойчивое состояние, а затем снова увеличивается через некоторое время, а затем снова увеличивается после более длительного периода с большим количеством. Мы считаем, что это может быть побочным эффектом внутреннего кэширования, выполняемого API доверия подписи каталога. Может ли кто-нибудь помочь подтвердить поведение

  1. Это ожидаемое поведение?

  2. Является ли наше использование API (не вызывая STATE_ACTION_CLOSE безусловно правильным?)

  3. Ведет ли внутреннее кэширование такое поведение, и если да, то достигает ли оно устойчивого состояния, при котором размер кэша не будет превышать определенного предела, можно ли предсказать этот предел?

К вашему сведению: я посмотрел тему утечки памяти при проверке подписи Authenticode исполняемых файлов? кроме того, дискуссия не была окончательной и не имела отношения к подписанию каталога, отсюда и новый вопрос

1 ответ

Решение

http://msdn.microsoft.com/en-us/library/windows/desktop/aa388205%28v=vs.85%29.aspx

Освободите члена hWVTStateData, ранее выделенного с помощью действия WTD_STATEACTION_VERIFY. Это действие должно быть указано для каждого использования действия WTD_STATEACTION_VERIFY.

Другие вопросы по тегам