Leaked source code of windows server 2003
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.

92 lines
3.0 KiB

  1. //
  2. // olecli.h: Ole Client Site
  3. //
  4. // Copyright Microsoft Corportation 2000
  5. // (nadima)
  6. //
  7. #ifndef _olecli_h_
  8. #define _olecli_h_
  9. #include "ocidl.h"
  10. /*--------------------------------------------------------------------------*/
  11. /* The IOleClientSite Class */
  12. /*--------------------------------------------------------------------------*/
  13. class COleClientSite : public IOleClientSite
  14. {
  15. public:
  16. // constructor and destructor
  17. COleClientSite(IUnknown *pUnkOuter);
  18. ~COleClientSite();
  19. // IUnknown methods
  20. STDMETHODIMP QueryInterface(THIS_ REFIID riid, LPVOID *ppvObj);
  21. STDMETHODIMP_(ULONG) AddRef(THIS);
  22. STDMETHODIMP_(ULONG) Release(THIS);
  23. // IOleClientSite methods
  24. STDMETHODIMP SaveObject(THIS);
  25. STDMETHODIMP GetMoniker(THIS_ DWORD dwAssign, DWORD dwWhichMoniker, IMoniker ** ppmk);
  26. STDMETHODIMP GetContainer(THIS_ LPOLECONTAINER FAR* ppContainer);
  27. STDMETHODIMP ShowObject(THIS);
  28. STDMETHODIMP OnShowWindow(THIS_ BOOL fShow);
  29. STDMETHODIMP RequestNewObjectLayout(THIS);
  30. private:
  31. int m_cRef; // Reference count
  32. IUnknown *m_pUnkOuter; // pointer to main container class
  33. };
  34. /*--------------------------------------------------------------------------*/
  35. /* The IOleInPlaceSiteEx Class */
  36. /*--------------------------------------------------------------------------*/
  37. class COleInPlaceSiteEx : public IOleInPlaceSiteEx
  38. {
  39. public:
  40. // constructor and destructor
  41. COleInPlaceSiteEx(IUnknown *pUnkOuter);
  42. ~COleInPlaceSiteEx();
  43. // IUnknown methods
  44. STDMETHODIMP QueryInterface(THIS_ REFIID riid, LPVOID *ppvObj);
  45. STDMETHODIMP_(ULONG) AddRef(THIS);
  46. STDMETHODIMP_(ULONG) Release(THIS);
  47. STDMETHODIMP_(VOID) SetHwnd(THIS_ HWND hwnd);
  48. // IOleWindow methods
  49. STDMETHODIMP GetWindow(THIS_ HWND *pHwnd);
  50. STDMETHODIMP ContextSensitiveHelp(THIS_ BOOL fEnterMode);
  51. // IOleInPlaceSite methods
  52. STDMETHODIMP CanInPlaceActivate(THIS);
  53. STDMETHODIMP OnInPlaceActivate(THIS);
  54. STDMETHODIMP OnUIActivate(THIS);
  55. STDMETHODIMP GetWindowContext(THIS_ IOleInPlaceFrame **ppFrame,
  56. IOleInPlaceUIWindow **ppDoc,
  57. LPRECT lprcPosRect,
  58. LPRECT lprcClipRect,
  59. LPOLEINPLACEFRAMEINFO lpFrameInfo);
  60. STDMETHODIMP Scroll(THIS_ SIZE scrollExtent);
  61. STDMETHODIMP OnUIDeactivate(THIS_ BOOL fUndoable);
  62. STDMETHODIMP OnInPlaceDeactivate(THIS);
  63. STDMETHODIMP DiscardUndoState(THIS);
  64. STDMETHODIMP DeactivateAndUndo(THIS);
  65. STDMETHODIMP OnPosRectChange(THIS_ LPCRECT lprcPosRect);
  66. // IOleInPlaceSiteEx methods
  67. STDMETHODIMP OnInPlaceActivateEx(THIS_ BOOL *pfNoRedraw, DWORD dwFlags);
  68. STDMETHODIMP OnInPlaceDeactivateEx(THIS_ BOOL fNoRedraw);
  69. STDMETHODIMP RequestUIActivate(THIS);
  70. private:
  71. int m_cRef; // Reference count
  72. IUnknown *m_pUnkOuter; // pointer to main container class
  73. HWND m_hwnd; // hwnd to use for GetWindow method
  74. };
  75. #endif //_olecli_h_