次のステップに進むか。

現状のホストには大きな制限がある。
それはリソースの問題だ。

スクリーンセーバーの名前とアイコンは、
ホストに Windows のリソースとして埋め込まれる。
これらは、プラグインで置き換えることはできない。

これにより生じる制約は以下の 2 つ。
・表示するスクリーンセーバーの名前を変えられない
・スクリーンセーバーのアイコンを変えられない。

アイコンはどうでもいいとしても、
名前を変えられないのは結構致命的だ。
画面のプロパティで表示される一覧に、
好きな名前が使えないということだから。

対策としては、スクリーンセーバー(プラグイン)ごとに、
個別のホストを用意するという手もあるが、
これだと、ホストプラグインモデルの利点が損なわれる。

そもそも、プラグインモデルの利点は、
ホストが複数のプラグインを自由に着脱できることだ。
これを生かさなければ勿体ない。

例えば、画面のプロパティで表示される一覧には、
「.NET Saver Manager」等の名前となるようにしておく。
これは、ホスト自身の役割を意味する名前だ。

そして、その設定画面はプラグイン管理の画面とする。
ホストが直接ダイアログボックスを用意し、
その中で、好きなプラグインを選択できるようにする。

まあ、これだけではあまり面白くないので、
もう少しプラグインを活かす方法としては、
画面を 4 分割して、4 つのプラグインを同時実行するとか、
マルチモニタ環境で、それぞれのモニタで
別々のプラグインを実行するようにするとか。

このような機能を持たせるためには、
ホストにマネージャ機能を搭載し、
複数のプラグインを扱えるようにしなければならない。

となると、現在のようにプラグインを決め打ちできないので、
利用できるプラグインを列挙し、
それらを動的に読み込むような仕組みが必要になる。

構想としてはこんな感じかな。