iface.h
Upload User: xhy777
Upload Date: 2007-02-14
Package Size: 24088k
Code Size: 3k
Category:

Windows Kernel

Development Platform:

Visual C++

  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. } ;
  59. //
  60. // IPrivateOleObject
  61. //
  62. // a cut down version of IOleObject used for the WebBrowserOC to communicate with
  63. // objects hosted via CDocObjectView
  64. #undef INTERFACE
  65. #define INTERFACE IPrivateOleObject
  66. DECLARE_INTERFACE_(IPrivateOleObject, IUnknown )
  67. {
  68.     // *** IUnknown methods ***
  69.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppv) PURE;
  70.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  71.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  72.     // IPrivateOleObject
  73.     STDMETHOD( SetExtent )( DWORD dwDrawAspect, SIZEL *psizel) PURE;
  74.     STDMETHOD( GetExtent )( DWORD dwDrawAspect, SIZEL *psizel) PURE;
  75. };
  76. STDAPI AddUrlToUrlHistoryStg(LPCWSTR pwszUrl, LPCWSTR pwszTitle, LPUNKNOWN punk, 
  77.                              BOOL fWriteToHistory, IOleCommandTarget *poctNotify, IUnknown *punkSFHistory,
  78.                              UINT* pcodepage);
  79. #ifdef __cplusplus
  80. //
  81. // LATER: Move all ITravelLog/ITravelEntry definitions here
  82. //
  83. // TLOG_BACKEXTERNAL -- succeeds only if the previous entry is external
  84. //
  85. #define TLOG_BACKEXTERNAL   -0x7fffffff
  86. #endif // __cplusplus
  87. #endif // _IFACE_H