Internet Explorer と ActiveX コントロール テスト コンテナー プログラムで正常に動作する ActiveX コントロールがあります。コントロールの実際の動作は 2 つの部分に分割されます。一方の部分は OLE ホストとインターフェイスする ATL ガンクであり、もう一方の部分はウィンドウのアタッチ、サイズ変更、描画、およびマウス/キーボードのコールバックを受け取るだけの実際の肉です。イベント。
ここで、Firefox プラグイン用に ATL ガンクに相当するものを書きたいと思います (理想的には同じバイナリ内にあるため、2 つのバイナリをリンクする必要はありませんが、ここでは柔軟に対応できます)。Gecko SDK をダウンロードして使用して XPCOM コンポーネントを構築しましたが、動作しているように見えますが、コンポーネントを Firefox に埋め込まれたネイティブ UI コンポーネントとして使用できるようにするために実装するインターフェイスがわかりません。これは、Flash プレーヤー プラグイン、PDF ビューアー プラグイン、QuickTime プレーヤー プラグインなどのニーズと似ています。javascript と XUL では十分ではありません。
Web で例を探しましたが、見つけられる唯一の例は、一見古い NS_PluginInitialize() / NS_NewPluginInstance() インターフェースに基づいたもので、XPCOM ではありません (ただし、他の名前がありますか?)。
XPCOM を介して同じことを達成する方法はありますか? もしそうなら、どのように?また、これを行う方法についての概要ドキュメント (インターフェイス メンバーのリストだけでなく) はありますか?