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.

118 lines
4.0 KiB

  1. //==============================================================;
  2. //
  3. // This source code is only intended as a supplement to existing Microsoft documentation.
  4. //
  5. //
  6. //
  7. //
  8. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  9. // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  10. // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  11. // PURPOSE.
  12. //
  13. // Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
  14. //
  15. //
  16. //
  17. //==============================================================;
  18. #ifndef _SAMPCOMPDATA_H_
  19. #define _SAMPCOMPDATA_H_
  20. #include <mmc.h>
  21. #include "DeleBase.h"
  22. #include "StatNode.h"
  23. #include "Comp.h"
  24. class CComponentData : public IComponentData,
  25. IExtendPropertySheet2, // 2 for wizard
  26. IPersistStream
  27. {
  28. friend class CComponent;
  29. private:
  30. ULONG m_cref;
  31. LPCONSOLE m_ipConsole;
  32. LPCONSOLENAMESPACE m_ipConsoleNameSpace;
  33. CStaticNode *m_pStaticNode;
  34. public:
  35. CComponentData();
  36. ~CComponentData();
  37. ///////////////////////////////
  38. // Interface IUnknown
  39. ///////////////////////////////
  40. STDMETHODIMP QueryInterface(REFIID riid, LPVOID *ppv);
  41. STDMETHODIMP_(ULONG) AddRef();
  42. STDMETHODIMP_(ULONG) Release();
  43. ///////////////////////////////
  44. // Interface IComponentData
  45. ///////////////////////////////
  46. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize(
  47. /* [in] */ LPUNKNOWN pUnknown);
  48. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateComponent(
  49. /* [out] */ LPCOMPONENT __RPC_FAR *ppComponent);
  50. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Notify(
  51. /* [in] */ LPDATAOBJECT lpDataObject,
  52. /* [in] */ MMC_NOTIFY_TYPE event,
  53. /* [in] */ LPARAM arg,
  54. /* [in] */ LPARAM param);
  55. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Destroy( void);
  56. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryDataObject(
  57. /* [in] */ MMC_COOKIE cookie,
  58. /* [in] */ DATA_OBJECT_TYPES type,
  59. /* [out] */ LPDATAOBJECT __RPC_FAR *ppDataObject);
  60. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDisplayInfo(
  61. /* [out][in] */ SCOPEDATAITEM __RPC_FAR *pScopeDataItem);
  62. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CompareObjects(
  63. /* [in] */ LPDATAOBJECT lpDataObjectA,
  64. /* [in] */ LPDATAOBJECT lpDataObjectB);
  65. //////////////////////////////////
  66. // Interface IExtendPropertySheet2
  67. //////////////////////////////////
  68. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePropertyPages(
  69. /* [in] */ LPPROPERTYSHEETCALLBACK lpProvider,
  70. /* [in] */ LONG_PTR handle,
  71. /* [in] */ LPDATAOBJECT lpIDataObject);
  72. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryPagesFor(
  73. /* [in] */ LPDATAOBJECT lpDataObject);
  74. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetWatermarks(
  75. /* [in] */ LPDATAOBJECT lpIDataObject,
  76. /* [out] */ HBITMAP __RPC_FAR *lphWatermark,
  77. /* [out] */ HBITMAP __RPC_FAR *lphHeader,
  78. /* [out] */ HPALETTE __RPC_FAR *lphPalette,
  79. /* [out] */ BOOL __RPC_FAR *bStretch);
  80. ///////////////////////////////
  81. // Interface IPersistStream
  82. ///////////////////////////////
  83. virtual HRESULT STDMETHODCALLTYPE GetClassID(
  84. /* [out] */ CLSID __RPC_FAR *pClassID);
  85. virtual HRESULT STDMETHODCALLTYPE IsDirty( void);
  86. virtual HRESULT STDMETHODCALLTYPE Load(
  87. /* [unique][in] */ IStream __RPC_FAR *pStm);
  88. virtual HRESULT STDMETHODCALLTYPE Save(
  89. /* [unique][in] */ IStream __RPC_FAR *pStm,
  90. /* [in] */ BOOL fClearDirty);
  91. virtual HRESULT STDMETHODCALLTYPE GetSizeMax(
  92. /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbSize);
  93. };
  94. #endif _SAMPCOMPDATA_H_