【悲報】Windows 2000にCOM 関数の実装漏れがあることが発覚
Firefox Nightly Build 51 では、CoGetInterceptor と CoGetInterceptorFromTypeInfo という関数が使われてるんですが、MSDNのドキュメント見て分かる通り、これ、 Windows 2000で実装されてるはずの関数なんですよね
KernelEx for Win2000 - Windows 2000/2003/NT4 - MSFN
でも、どうやら、該当関数が Windows 2000のole32.dllにはないようでエラーが出るとのこと
https://blogs.msdn.microsoft.com/robgruen/2004/12/06/calling-cogetinterceptor-on-win2k/
2004年のメインストリームの時点で実装されてないって気づいた人が居るけど、華麗にスルーされていて悲しい・ω・
parameters at interception with the help (Page 1) - COM/DCOM/ActiveX - Programmer's Town
ちょっと謎なのが、この人、(I work on MVS2005, under Windows 2000 sp4).って言ってる事。
でも、VC++2005で書いてみても動かないんだよな。
BuildタイプDLLにしても効果なし
“I work on MVS2005” は「VS2005で作業しました」では。
「VS2005では動きました」なら “It works for me on MVS2005” になるはず。
実行結果がおかしいって言ってるんでデバッガ上で動作してるように見えるんですよね
https://dxr.mozilla.org/mozilla-central/search?q=CoGetInterceptor&redirect=false