2013-02-10 40 views
1

我在Windows 7機器上運行Visual Studio 2012。IWICImagingFactory CoCreateInstance

當我運行SimpleDirect2dApplication在這裏找到:http://technet.microsoft.com/en-us/subscriptions/dd940321%28v=vs.85%29.aspx

hr = CoCreateInstance(
    CLSID_WICImagingFactory, 
    NULL, 
    CLSCTX_INPROC_SERVER, 
    IID_PPV_ARGS(&m_pWICFactory) 
    ); 

調用CoCreateInstance失敗,出現「類未註冊」和PTR工廠爲0

任何幫助,將不勝感激。

+0

所以提出這個問題後,我立即找到答案在這裏 HTTP://social.msdn。 microsoft.com/Forums/en-US/windowswic/thread/e542d34a-a04b-455e-bd5b-957f162bab94/ CLSID_WICImagingFactory 需要更改爲 CLSID_WICImagingFactory1 爲了讓它適用於windows7。 – Huntsman 2013-02-10 15:20:28

+0

其實它取決於SDK版本。較老的SDK有'CLSID_WICImagingFactory'指向正確的CLSID和代碼工作正常。 Windows SDK出現意外的,不明顯的或可能不準確的更改。 – 2013-02-10 15:22:44

+1

這是在wincodec.idl中正確定義的,它們具有完全相同的GUID。也許這在8版SDK的測試版中被破壞了,現在不是。 – 2013-02-10 16:25:49

回答

-1

使用該

#if defined(CLSID_WICImagingFactory) 
#undef CLSID_WICImagingFactory 
#endif 

,然後你可以通過這個

參見: http://skia.googlecode.com/svn/trunk/src/ports/SkImageDecoder_WIC.cpp

+0

此答案中的鏈接已中斷。 – stakx 2016-07-09 07:59:41

+0

很難理解在這個答案中提出的解決方案('存在''CLSID_WICImagingFactory'宏時應該如何工作)。你能否詳細說明一下? – stakx 2016-07-09 08:01:54

相關問題