2012-08-30 30 views
1

所以問題是當我嘗試獲取該接口的指針時,它告訴我error LNK2001: unresolved external symbol _CLSID_NetFwMgrCOM INETFWMgr錯誤

我看着標題,CLSID_ NetFwMgr聲明是這樣的:

EXTERN_C const CLSID CLSID_NetFwMgr; 

#ifdef __cplusplus 

class DECLSPEC_UUID("304CE942-6E39-40D8-943A-B913C40C9CD4") 
NetFwMgr; 
#endif 

所以我想我應該添加到我的C++庫,包含像

DEFINE_GUID(CLSID_ActiveDesktop, 0x75048700L, 0xEF1F, 0x11D0, 0x98, 0x88, 0x00, 0x60, 0x97, 0xDE, 0xAC, 0xF9); 
場A *的.lib文件

Ps:Im使用VC++ 6作爲編譯器。

+0

您通常需要鏈接uuid.lib。但是用這樣一個古老的編譯器使用的SDK是非常不清楚的。請嘗試__uuidof(NetFwMgr)。 –

回答

0

不完全。它應被定義是這樣的:

extern "C" const CLSID CLSID_NetFwMgr = {0x304CE942,0x6E39,0x40D8,{0x94,0x3A,0xB9,0x13,0xC4,0x0C,0x9C,0xD4}}; 

你也__declspec(selectany)const後,如果要定義這個CLSID在頭部而不是在CPP裝置補充。

+0

順便說一下,'DEFINE_GUID'也可以用,因爲'CLSID'實際上只是'GUID'的typedef。 – Rost