Windows 2000やXPで WIC コンポーネントが使えない件について その3

Windows 2000やXPで WIC コンポーネントが使えない件について その1

windowscodecs.dll の内部で呼び出しているはずの  GUID_ContainerFormatWmp がなぜエラーになるのか調べてみた
Version Container Format
Wmp の有無
備考
6.0.6002.18005 無し Vista SP2
7.0.6002.18107 有り Vista KB971644
7.0.6002.23950 有り Vista MS16-055
6.0.6001.22477 無し Windows XP SP3
6.2.9200.22551 有り Windows 7 SP1(2018/9)
6.1.7601.24241 有り Windows 7 SP1(2018/9)
6.1.7600.16385 有り Windows 7
にゃんということでしょう!
VISTA向けWindowsプラットフォーム更新以前のバイナリには GUID_ContainerFormatWmp が含まれていない!WDP ファイルが開けないのは当たり前だった・ω・

そこで、プログラムを以下のようにしてみた

        //hr=m_pIWICFactory->CreateDecoder(GUID_ContainerFormatWmp,NULL,&pDecoder);

        hr = CoCreateInstance(CLSID_WICWmpDecoder,NULL, CLSCTX_INPROC_SERVER,IID_IWICBitmapDecoder,(LPVOID*)&pDecoder);

すると…

wdp
Windows 2000で WDPが表示できました!

つまり、Windows 2000/XP には GUID_ContainerFormatWmp が実装されていないので、CLSID_WICWmpDecoderで画像を表示しないといけないわけです

通りで、いろんなアドオンとかが対応してないわけだ (((・ω・)))

おすすめ

コメントを残す

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