■4867 / ) |
Re[4]: SHFreeMallocの使い方 |
□投稿者/ とっちゃん (153回)-(2007/06/27(Wed) 21:22:45)
|
■No4853 (倉田 有大 さん) に返信
SHGetSpecialFolderLocation じゃないとだめなんですか? SHGetSpecialFolderPath とか、SHGetFolderPath とかではだめなのでしょうか?
こちらなら、IMalloc はいらないですよね?ITEMIDLISTじゃないとだめという場合もあるので 一概には言えませんが...
で、実装ですが、IMalloc が必要なのなら、その都度確保ではなく、最初に確保したら 以後ずっと使いまわしが基本です。もちろん STA でw
ちなみに、COMオブジェクトを開放するのに IUnknown を引っ張る必要はありません。 いらなくなった時点で System.Runtime.InteropServices.Marshal.ReleaseComObject(alloc); を呼び出すだけでOKです。
キャストした場合は、キャストしたオブジェクトごとに呼び出す必要があるはずです。 .NET では原則として IUnknown を必要とする処理はいらないはずです。 #もちろん、メソッドとしてのAddRef/Releaseも含め
|
|