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.

125 lines
3.6 KiB

  1. #ifndef _IFACE_H
  2. #define _IFACE_H
  3. // Interfaces and IIDs defined here are private to shdocvw.dll
  4. //
  5. //
  6. // IDocNavigate
  7. //
  8. // DocHost needs to notify the browser of certain events
  9. //
  10. //131A6950-7F78-11D0-A979-00C04FD705A2
  11. #undef INTERFACE
  12. #define INTERFACE IDocNavigate
  13. DECLARE_INTERFACE_(IDocNavigate, IUnknown)
  14. {
  15. // *** IUnknown methods ***
  16. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppv) PURE;
  17. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  18. STDMETHOD_(ULONG,Release)(THIS) PURE;
  19. // *** IDocNavigate methods ***
  20. STDMETHOD(OnReadyStateChange)(THIS_ IShellView* psvSource, DWORD dwReadyState) PURE;
  21. STDMETHOD(get_ReadyState)(THIS_ DWORD * pdwReadyState) PURE;
  22. } ;
  23. //
  24. // IBandNavigate
  25. //
  26. // band needs to navigate its UI to a specific pidl.
  27. //
  28. #undef INTERFACE
  29. #define INTERFACE IBandNavigate
  30. DECLARE_INTERFACE_(IBandNavigate, IUnknown)
  31. {
  32. // *** IUnknown methods ***
  33. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppv) PURE;
  34. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  35. STDMETHOD_(ULONG,Release)(THIS) PURE;
  36. // *** IBandNavigate methods ***
  37. STDMETHOD(Select)(THIS_ LPCITEMIDLIST pidl) PURE;
  38. } ;
  39. //
  40. // IEFrameAuto
  41. //
  42. // CIEFrameAuto private interface to hold randum stuff
  43. //
  44. //131A6953-7F78-11D0-A979-00C04FD705A2
  45. #undef INTERFACE
  46. #define INTERFACE IEFrameAuto
  47. DECLARE_INTERFACE_(IEFrameAuto, IUnknown)
  48. {
  49. // *** IUnknown methods ***
  50. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppv) PURE;
  51. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  52. STDMETHOD_(ULONG,Release)(THIS) PURE;
  53. // *** IEFrameAuto methods ***
  54. STDMETHOD(SetOwnerHwnd)(THIS_ HWND hwndOwner) PURE;
  55. STDMETHOD(put_DefaultReadyState)(THIS_ DWORD dwDefaultReadyState, BOOL fUpdateBrowserReadyState) PURE;
  56. STDMETHOD(OnDocumentComplete)(THIS) PURE;
  57. STDMETHOD(OnWindowsListMarshalled)(THIS) PURE;
  58. STDMETHOD(SetDocHostFlags)(THIS_ DWORD dwDocHostFlags) PURE;
  59. };
  60. //
  61. // IPrivateOleObject
  62. //
  63. // a cut down version of IOleObject used for the WebBrowserOC to communicate with
  64. // objects hosted via CDocObjectView
  65. #undef INTERFACE
  66. #define INTERFACE IPrivateOleObject
  67. DECLARE_INTERFACE_(IPrivateOleObject, IUnknown )
  68. {
  69. // *** IUnknown methods ***
  70. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppv) PURE;
  71. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  72. STDMETHOD_(ULONG,Release)(THIS) PURE;
  73. // IPrivateOleObject
  74. STDMETHOD( SetExtent )( DWORD dwDrawAspect, SIZEL *psizel) PURE;
  75. STDMETHOD( GetExtent )( DWORD dwDrawAspect, SIZEL *psizel) PURE;
  76. };
  77. STDAPI AddUrlToUrlHistoryStg(LPCWSTR pwszUrl, LPCWSTR pwszTitle, LPUNKNOWN punk,
  78. BOOL fWriteToHistory, IOleCommandTarget *poctNotify, IUnknown *punkSFHistory,
  79. UINT* pcodepage);
  80. #ifdef __cplusplus
  81. //
  82. // IUrlHistoryPriv
  83. //
  84. interface IUrlHistoryPriv : IUrlHistoryStg2
  85. {
  86. STDMETHOD(QueryUrlA)(LPCSTR pszUrl, DWORD dwFlags, LPSTATURL lpSTATURL) = 0;
  87. STDMETHOD(CleanupHistory)(void) = 0;
  88. STDMETHOD_(DWORD,GetDaysToKeep)(void) = 0;
  89. STDMETHOD(GetProperty)(LPCTSTR pszUrl, PROPID pid, PROPVARIANT* pvarOut) = 0;
  90. STDMETHOD(GetUserName)(LPTSTR pszUserName, DWORD cchUserName) = 0;
  91. STDMETHOD(AddUrlAndNotifyCP)(LPCWSTR pwszUrl, LPCWSTR pwszTitle, DWORD dwFlags, BOOL fWriteHistory, IOleCommandTarget *poctNotify, IUnknown *punkSFHistory, UINT* pcodepage) = 0;
  92. };
  93. #define URLFLAG_DONT_DELETE_SUBSCRIBED 0x10000000
  94. extern IUrlHistoryPriv* g_puhUrlHistory;
  95. //
  96. // LATER: Move all ITravelLog/ITravelEntry definitions here
  97. //
  98. // TLOG_BACKEXTERNAL -- succeeds only if the previous entry is external
  99. //
  100. #define TLOG_BACKEXTERNAL -0x7fffffff
  101. #endif // __cplusplus
  102. #endif // _IFACE_H