I am trying to implement Windows 7 Taskbar API into my Qt Application, compiling using Visual Studio 2008 - Qt Build 4.7.3

Following is my header file:
Qt Code:
  1. #ifndef WINAPI_H
  2. #define WINAPI_H
  3. #include <ShObjIdl.h>
  4.  
  5. #define DEFINE_GUID_(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) const GUID n GUID_SECT = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
  6.  
  7. typedef enum STPFLAG
  8. {
  9. STPF_NONE = 0,
  10. STPF_USEAPPTHUMBNAILALWAYS = 0x1,
  11. STPF_USEAPPTHUMBNAILWHENACTIVE = 0x2,
  12. STPF_USEAPPPEEKALWAYS = 0x4,
  13. STPF_USEAPPPEEKWHENACTIVE = 0x8
  14. } STPFLAG;
  15.  
  16. typedef enum THUMBBUTTONMASK
  17. {
  18. THB_BITMAP = 0x1,
  19. THB_ICON = 0x2,
  20. THB_TOOLTIP = 0x4,
  21. THB_FLAGS = 0x8
  22. } THUMBBUTTONMASK;
  23.  
  24. typedef enum THUMBBUTTONFLAGS
  25. {
  26. THBF_ENABLED = 0,
  27. THBF_DISABLED = 0x1,
  28. THBF_DISMISSONCLICK = 0x2,
  29. THBF_NOBACKGROUND = 0x4,
  30. THBF_HIDDEN = 0x8,
  31. THBF_NONINTERACTIVE = 0x10
  32. } THUMBBUTTONFLAGS;
  33.  
  34. typedef struct THUMBBUTTON
  35. {
  36. THUMBBUTTONMASK dwMask;
  37. UINT iId;
  38. UINT iBitmap;
  39. HICON hIcon;
  40. WCHAR szTip[260];
  41. THUMBBUTTONFLAGS dwFlags;
  42. } THUMBBUTTON;
  43. typedef struct THUMBBUTTON *LPTHUMBBUTTON;
  44.  
  45. typedef enum TBPFLAG
  46. {
  47. TBPF_NOPROGRESS = 0,
  48. TBPF_INDETERMINATE = 0x1,
  49. TBPF_NORMAL = 0x2,
  50. TBPF_ERROR = 0x4,
  51. TBPF_PAUSED = 0x8
  52. } TBPFLAG;
  53.  
  54. DECLARE_INTERFACE_(ITaskbarList3, ITaskbarList2)
  55. {
  56. STDMETHOD (SetProgressValue) (THIS_ HWND hwnd, ULONGLONG ullCompleted, ULONGLONG ullTotal) PURE;
  57. STDMETHOD (SetProgressState) (THIS_ HWND hwnd, TBPFLAG tbpFlags) PURE;
  58. STDMETHOD (RegisterTab) (THIS_ HWND hwndTab,HWND hwndMDI) PURE;
  59. STDMETHOD (UnregisterTab) (THIS_ HWND hwndTab) PURE;
  60. STDMETHOD (SetTabOrder) (THIS_ HWND hwndTab, HWND hwndInsertBefore) PURE;
  61. STDMETHOD (SetTabActive) (THIS_ HWND hwndTab, HWND hwndMDI, DWORD dwReserved) PURE;
  62. STDMETHOD (ThumbBarAddButtons) (THIS_ HWND hwnd, UINT cButtons, LPTHUMBBUTTON pButton) PURE;
  63. STDMETHOD (ThumbBarUpdateButtons) (THIS_ HWND hwnd, UINT cButtons, LPTHUMBBUTTON pButton) PURE;
  64. STDMETHOD (ThumbBarSetImageList) (THIS_ HWND hwnd, HIMAGELIST himl) PURE;
  65. STDMETHOD (SetOverlayIcon) (THIS_ HWND hwnd, HICON hIcon, LPCWSTR pszDescription) PURE;
  66. STDMETHOD (SetThumbnailTooltip) (THIS_ HWND hwnd, LPCWSTR pszTip) PURE;
  67. STDMETHOD (SetThumbnailClip) (THIS_ HWND hwnd, RECT *prcClip) PURE;
  68. };
  69. typedef ITaskbarList3 *LPITaskbarList3;
  70.  
  71. DECLARE_INTERFACE_(ITaskbarList4, ITaskbarList3)
  72. {
  73. STDMETHOD (SetTabProperties) (HWND hwndTab, STPFLAG stpFlags) PURE;
  74. };
  75. typedef ITaskbarList4 *LPITaskbarList4;
  76. // {C9974F71-A8B2-4330-BCBE-1E8FD424E0B0}
  77. DEFINE_GUID(CLSID_TaskbarList,
  78. 0xc9974f71, 0xa8b2, 0x4330, 0xbc, 0xbe, 0x1e, 0x8f, 0xd4, 0x24, 0xe0, 0xb0);
  79. // {D47A0C40-8C32-4A51-9AAD-27C84C2A79FC}
  80. DEFINE_GUID(IID_ITaskbarList3,
  81. 0xd47a0c40, 0x8c32, 0x4a51, 0x9a, 0xad, 0x27, 0xc8, 0x4c, 0x2a, 0x79, 0xfc);
  82.  
  83.  
  84. #endif // WINAPI_H
To copy to clipboard, switch view to plain text mode 

But when I try to use this IDD_ITaskbarList3 macro in CoCreateInstance, instead of looking for IDD_ITaskbarList3 it looks for _IDD_ITaskbarList3 and gives me LNK2001 error,

I have even tried to write _IID_ITaskbarList3 after IID_ITaskbarList3 with different GUID but same issue

Qt Code:
  1. HRESULT hr = CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER, IID_ITaskbarList3, (void**)&m_taskbarInterface);
To copy to clipboard, switch view to plain text mode 

above code is used for CoCreateInstance()

Any idea what is going on?