C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 14 を表示中)
■4867 / )  Re[4]: SHFreeMallocの使い方
□投稿者/ とっちゃん (153回)-(2007/06/27(Wed) 21:22:45)
とっちゃん さんの Web サイト
No4853 (倉田 有大 さん) に返信

SHGetSpecialFolderLocation じゃないとだめなんですか?
SHGetSpecialFolderPath とか、SHGetFolderPath とかではだめなのでしょうか?

こちらなら、IMalloc はいらないですよね?ITEMIDLISTじゃないとだめという場合もあるので
一概には言えませんが...

で、実装ですが、IMalloc が必要なのなら、その都度確保ではなく、最初に確保したら
以後ずっと使いまわしが基本です。もちろん STA でw

ちなみに、COMオブジェクトを開放するのに IUnknown を引っ張る必要はありません。
いらなくなった時点で
System.Runtime.InteropServices.Marshal.ReleaseComObject(alloc);
を呼び出すだけでOKです。

キャストした場合は、キャストしたオブジェクトごとに呼び出す必要があるはずです。
.NET では原則として IUnknown を必要とする処理はいらないはずです。
#もちろん、メソッドとしてのAddRef/Releaseも含め

返信 編集キー/


管理者用

- Child Tree -