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.

99 lines
2.7 KiB

  1. /**********************************************************************/
  2. /** Microsoft Windows/NT **/
  3. /** Copyright(c) Microsoft Corporation, 1997 - 1997 **/
  4. /**********************************************************************/
  5. /*
  6. ATLKstrm.h
  7. ATLK node configuration object.
  8. Use this to get/set configuration data. This class will take
  9. care of versioning of config formats as well as serializing
  10. of the data.
  11. FILE HISTORY:
  12. */
  13. #ifndef _ATLKSTRM_H
  14. #define _ATLKSTRM_H
  15. #ifndef _XSTREAM_H
  16. #include "xstream.h"
  17. #endif
  18. #ifndef _COLUMN_H
  19. #include "column.h"
  20. #endif
  21. enum
  22. {
  23. ATLK_COLUMNS = 0,
  24. ATLK_COLUMNS_MAX_COUNT = 1,
  25. };
  26. enum
  27. {
  28. ATLKSTRM_STATS_ATLKNBR = 0,
  29. ATLKSTRM_IFSTATS_ATLKNBR,
  30. ATLKSTRM_STATS_COUNT,
  31. };
  32. enum ATLKSTRM_TAG
  33. {
  34. ATLKSTRM_TAG_VERSION = XFER_TAG(1, XFER_DWORD),
  35. ATLKSTRM_TAG_VERSIONADMIN = XFER_TAG(2, XFER_DWORD),
  36. ATLKSTRM_TAG_STATS_ATLKNBR_COLUMNS = XFER_TAG(3, XFER_COLUMNDATA_ARRAY),
  37. ATLKSTRM_TAG_STATS_ATLKNBR_SORT = XFER_TAG(4, XFER_DWORD),
  38. ATLKSTRM_TAG_STATS_ATLKNBR_ASCENDING = XFER_TAG(5, XFER_DWORD),
  39. ATLKSTRM_TAG_STATS_ATLKNBR_POSITION = XFER_TAG(6, XFER_RECT),
  40. ATLKSTRM_TAG_IFSTATS_ATLKNBR_COLUMNS = XFER_TAG(7, XFER_COLUMNDATA_ARRAY),
  41. ATLKSTRM_TAG_IFSTATS_ATLKNBR_SORT = XFER_TAG(8, XFER_DWORD),
  42. ATLKSTRM_TAG_IFSTATS_ATLKNBR_ASCENDING = XFER_TAG(9, XFER_DWORD),
  43. ATLKSTRM_TAG_IFSTATS_ATLKNBR_POSITION = XFER_TAG(10, XFER_RECT),
  44. };
  45. /*---------------------------------------------------------------------------
  46. Class: ATLKConfigStream
  47. This holds the configuration information for the IP administration
  48. nodes. This does NOT hold the configuration information for the columns.
  49. That is stored in the Component Configuration streams.
  50. ---------------------------------------------------------------------------*/
  51. class ATLKConfigStream : public ConfigStream
  52. {
  53. public:
  54. ATLKConfigStream();
  55. virtual HRESULT InitNew(); // set defaults
  56. virtual HRESULT SaveTo(IStream *pstm);
  57. virtual HRESULT SaveAs(UINT nVersion, IStream *pstm);
  58. virtual HRESULT LoadFrom(IStream *pstm);
  59. virtual HRESULT GetSize(ULONG *pcbSize);
  60. // --------------------------------------------------------
  61. // Accessors
  62. // --------------------------------------------------------
  63. virtual HRESULT GetVersionInfo(DWORD *pnVersion, DWORD *pnAdminVersion);
  64. private:
  65. HRESULT XferVersion0(IStream *pstm, XferStream::Mode mode, ULONG *pcbSize);
  66. };
  67. class ATLKComponentConfigStream : public ConfigStream
  68. {
  69. public:
  70. virtual HRESULT XferVersion0(IStream *pstm, XferStream::Mode mode, ULONG *pcbSize);
  71. protected:
  72. };
  73. #endif _ATLKSTRM_H