Я пытаюсь исправить утечку памяти в Pyglet.Это происходит только на win32, поскольку включает объект IStream, выделенный ole32.CreateStreamOnHGlobal, который не освобождается.
Вы можете найти проблему # 552 на трегере Pyglet , нажав здесь.
Как вы можете видеть в исходном коде, освобождение потока было опущено как элемент TODO:
Комментарий в строке 204 даже включает мой вопрос: Как вызвать IUnknown :: Release on stream?
Поток выделенв строке 142 .Поскольку pyglet не зависит от внешних зависимостей, я не думаю, что смогу использовать pywin32.Все, что мы знаем на стороне Python об объекте потока, это gdiplus.py строка 53
LPSTREAM = c_void_p
Итак, это мой фон - ситуация и ограничения.Теперь мой вопрос - снова.Как я могу вызвать IStream :: Release, если у меня есть только указатель?У меня длительный процесс, который загружает разные изображения каждые 5 секунд или около того, и похоже, что это проблема для меня.Я понимаю C / C ++ и время от времени даже занимаюсь программированием, но я не эксперт по win32 api по любым средствам.Помогите!