Windows 2000のCOM 関数の実装漏れ その後

【悲報】Windows 2000にCOM 関数の実装漏れがあることが発覚

Calling CoGetInterceptor on Win2k – robgruen's WebLog

The documentation for CoGetInterceptor indicate that this API is available on Windows 2000 platforms.  Indeed it is but ole32.dll doesn’t export this function as indicated by the documentation…at least not the versions of ole32.dll that are available on Win2k.  On Win2k it is actually exported by txfaux.dll which lives in %system32% .  Unfortunately there’s no .lib file for this dll so you’re not going to link your C++ apps to this dll.  You’ll have to use run-time dynamic linking (load the dll using LoadLibrary and then use GetProcAddress so you can call the function).  There’s a nice article that discusses this approach:  Using Run-Time Dynamic Linking.

どうやら、Windows 2000 の ole32.dll には CoGetInterceptor が実装されていないんだけど、 txfaux.dll に同じ関数があるから、動的ロードすれば使えると思うんだけど、ライブラリやランタイムで対応してるものがない。一体どうなってるんだよって 2004 年の書き込み

結局対応された形跡がないんだけど、これ使えば、Firefox 51 や 52 ESR が Windows 2000でも動く可能性が出てきました。

乞うご期待! ・ω・

おすすめ

5件のフィードバック

  1. ななし より:

    むっちゃ楽しみ!

  2. 名無し より:

    魔改造版を使用してる者ですが、
    今週、数日ぶりに立ち上げてみると
    FireFoxが起動しません。
    プロシージャエントリポイント CoGetInterceptor がダイナミックリンクライブラリ ole32.dllから見つかりませんでした
    と出ます。何か対策等ありますか?

  3. 黒翼猫 より:

    Firefox 53までなら最新版で対策できます
    54いこうはむりです

  4. 名無し より:

    アプリケーションの追加と削除のところで確認したところ、
    52.2.0 ESR ja
    となっています。先日まで普通に使えていたんですが、何かの自動アップデートの影響とかあるんでしょうか。
    特に最新にこだわるわけではないんですけど、
    再インストールすれば直りますかね

  5. 名無し より:

    52.2.1 ESR jaを再インストールしてみました、
    結果変わらずです(泣)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です