Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

82 lines
4.1 KiB

  1. //
  2. // Private channel manager include file.
  3. //
  4. #undef INTERFACE
  5. #define INTERFACE IChannelMgrPriv
  6. DECLARE_INTERFACE_(IChannelMgrPriv, IUnknown)
  7. {
  8. typedef enum _tagCHANNELFOLDERLOCATION { CF_CHANNEL, CF_SOFTWAREUPDATE } CHANNELFOLDERLOCATION;
  9. // *** IUnknown methods ***
  10. STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE;
  11. STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  12. STDMETHOD_(ULONG,Release) (THIS) PURE;
  13. // *** IChannelMgrPriv ***
  14. STDMETHOD(GetBaseChannelPath) (THIS_ LPSTR pszPath, int cch) PURE;
  15. STDMETHOD(InvalidateCdfCache) (THIS) PURE;
  16. STDMETHOD(PreUpdateChannelImage) (THIS_ LPCSTR pszPath, LPSTR pszHashItem,
  17. int* piIndex, UINT* puFlags,
  18. int* piImageIndex) PURE;
  19. STDMETHOD(UpdateChannelImage) (THIS_ LPCWSTR pszHashItem, int iIndex,
  20. UINT uFlags, int iImageIndex) PURE;
  21. STDMETHOD(GetChannelFolderPath) (THIS_ LPSTR pszPath, int cch, CHANNELFOLDERLOCATION cflChannel) PURE;
  22. STDMETHOD(GetChannelFolder) (THIS_ LPITEMIDLIST* ppidl, CHANNELFOLDERLOCATION cflChannel) PURE;
  23. STDMETHOD(DownloadMinCDF) (THIS_ HWND hwnd, LPCWSTR pwszURL, LPWSTR pwszTitle,
  24. DWORD cchTitle, SUBSCRIPTIONINFO *pSubInfo, BOOL *pfIsSoftware) PURE;
  25. STDMETHOD(ShowChannel) (THIS_ IWebBrowser2 *pWebBrowser2, LPWSTR pwszURL, HWND hwnd) PURE;
  26. STDMETHOD(IsChannelInstalled) (THIS_ LPCWSTR pwszURL) PURE;
  27. STDMETHOD(IsChannelPreinstalled) (THIS_ LPCWSTR pwszURL, BSTR * bstrFile) PURE;
  28. STDMETHOD(RemovePreinstalledMapping) (THIS_ LPCWSTR pwszURL) PURE;
  29. STDMETHOD(SetupPreinstalledMapping) (THIS_ LPCWSTR pwszURL, LPCWSTR pwszFile) PURE;
  30. // WARNING! BEFORE CALLING THE AddAndSubscribe METHOD YOU MUST DETECT
  31. // THE CDFVIEW VERSION BECAUSE IE 4.00 WILL CRASH IF YOU TRY
  32. // TO CALL IT
  33. // pSubscriptionMgr can be NULL
  34. STDMETHOD(AddAndSubscribe) (THIS_ HWND hwnd, LPCWSTR pwszURL,
  35. ISubscriptionMgr *pSubscriptionMgr) PURE;
  36. };
  37. #undef INTERFACE
  38. #define INTERFACE IChannelMgrPriv2
  39. DECLARE_INTERFACE_(IChannelMgrPriv2, IChannelMgrPriv)
  40. {
  41. // *** IUnknown methods ***
  42. STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE;
  43. STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  44. STDMETHOD_(ULONG,Release) (THIS) PURE;
  45. // *** IChannelMgrPriv ***
  46. STDMETHOD(GetBaseChannelPath) (THIS_ LPSTR pszPath, int cch) PURE;
  47. STDMETHOD(InvalidateCdfCache) (THIS) PURE;
  48. STDMETHOD(PreUpdateChannelImage) (THIS_ LPCSTR pszPath, LPSTR pszHashItem,
  49. int* piIndex, UINT* puFlags,
  50. int* piImageIndex) PURE;
  51. STDMETHOD(UpdateChannelImage) (THIS_ LPCWSTR pszHashItem, int iIndex,
  52. UINT uFlags, int iImageIndex) PURE;
  53. STDMETHOD(GetChannelFolderPath) (THIS_ LPSTR pszPath, int cch, CHANNELFOLDERLOCATION cflChannel) PURE;
  54. STDMETHOD(GetChannelFolder) (THIS_ LPITEMIDLIST* ppidl, CHANNELFOLDERLOCATION cflChannel) PURE;
  55. STDMETHOD(DownloadMinCDF) (THIS_ HWND hwnd, LPCWSTR pwszURL, LPWSTR pwszTitle,
  56. DWORD cchTitle, SUBSCRIPTIONINFO *pSubInfo, BOOL *pfIsSoftware) PURE;
  57. STDMETHOD(ShowChannel) (THIS_ IWebBrowser2 *pWebBrowser2, LPWSTR pwszURL, HWND hwnd) PURE;
  58. STDMETHOD(IsChannelInstalled) (THIS_ LPCWSTR pwszURL) PURE;
  59. STDMETHOD(IsChannelPreinstalled) (THIS_ LPCWSTR pwszURL, BSTR * bstrFile) PURE;
  60. STDMETHOD(RemovePreinstalledMapping) (THIS_ LPCWSTR pwszURL) PURE;
  61. STDMETHOD(SetupPreinstalledMapping) (THIS_ LPCWSTR pwszURL, LPCWSTR pwszFile) PURE;
  62. // WARNING! BEFORE CALLING THE AddAndSubscribe METHOD YOU MUST DETECT
  63. // THE CDFVIEW VERSION BECAUSE IE 4.00 WILL CRASH IF YOU TRY
  64. // TO CALL IT
  65. // pSubscriptionMgr can be NULL
  66. STDMETHOD(AddAndSubscribe) (THIS_ HWND hwnd, LPCWSTR pwszURL,
  67. ISubscriptionMgr *pSubscriptionMgr) PURE;
  68. // *** IChannelMgrPriv2 ***
  69. STDMETHOD(WriteScreenSaverURL) (THIS_ LPCWSTR pwszURL, LPCWSTR pwszScreenSaverURL) PURE;
  70. STDMETHOD(RefreshScreenSaverURLs) (THIS) PURE;
  71. };