Pygletのメモリリークを修正しようとしています。ole32.CreateStreamOnHGlobalによって割り当てられたIStreamオブジェクトが解放されないため、win32でのみ発生します。
ここをクリックすると、Pygletトラッカーで問題#552を見つけることができます。
ソースコードでわかるように、ストリームのリリースはTODOアイテムとして省略されています。
行204のコメントには、私の質問も含まれています。IUnknown:: Release onstreamを呼び出す方法は?
ストリームは142行目に割り当てられます。pygletは外部の依存関係に依存していないため、pywin32を使用できないと思います。ストリームオブジェクトについてPython側で知っているのは、gdiplus.pyの53行目だけです。
LPSTREAM = c_void_p
だから、これが私の背景です-状況と制限。さて、私の質問-もう一度。ポインタしかない場合、IStream :: Releaseを呼び出すにはどうすればよいですか?5秒ごとに異なる画像を読み込むという長時間のプロセスがありますが、それは私にとって問題のようです。私はC/C ++を理解でき、プログラミングも時々行いますが、決してwin32apiの専門家ではありません。ヘルプ!