Shell Extension DLL の unload を早くする
(1999/06/23 [水])
Windows の標準 shell − explorer − にはその機能を拡張するしくみがあります。その拡張を、Shell Extension といい、通常 DLL として実装します。しかし、いったん Shell Extension として DLL を登録してしまうと、その DLL を置き換えたり、消したりすることがすぐにはできなくなります。これは、システムが DLL が不必要になった時点でもしばらくその DLL を参照し続けているからです。この挙動は、Shell Extension のプログラムを作成している時には大きな障害になります。
この振る舞いを変更する方法があります。変更することにより、Shell Extension が参照されなくなった時すぐに DLL を unload するようになります。振る舞いを変更するためには、次のキーをレジストリに追加するだけです。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\AlwaysUnloadDll
この振る舞いを変更する方法があります。変更することにより、Shell Extension が参照されなくなった時すぐに DLL を unload するようになります。振る舞いを変更するためには、次のキーをレジストリに追加するだけです。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\AlwaysUnloadDll
by seclan