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.

54 lines
1.7 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1999 - 1999
  6. //
  7. // File: compcat.h
  8. //
  9. //--------------------------------------------------------------------------
  10. // compcat.h : interfaces for the CComponentCategory class
  11. //
  12. /////////////////////////////////////////////////////////////////////////////
  13. #ifndef __COMPCAT_H__
  14. #define __COMPCAT_H__
  15. class CComponentCategory
  16. {
  17. // Constructors / destructors
  18. public:
  19. CComponentCategory();
  20. ~CComponentCategory();
  21. //attribute
  22. public:
  23. typedef struct tagComponentInfo
  24. {
  25. CLSID m_clsid; // Component CLSID
  26. UINT m_uiBitmap; // Bitmap ID in ImageList
  27. CStr m_strName; // Component Readable Name
  28. bool m_bSelected; // Filter selection flag
  29. } COMPONENTINFO;
  30. CArray <CATEGORYINFO*, CATEGORYINFO*> m_arpCategoryInfo; // Array of categories
  31. CArray <COMPONENTINFO*, COMPONENTINFO*> m_arpComponentInfo; // Array of componets
  32. WTL::CImageList m_iml; // Image list of components
  33. //Operations
  34. public:
  35. void CommonStruct(void);
  36. BOOL ValidateInstall(void);
  37. void EnumComponentCategories(void);
  38. void EnumComponents();
  39. void FilterComponents(CATEGORYINFO* pCatInfo);
  40. HRESULT CreateComponentCategory(CATID catid, WCHAR* catDescription);
  41. HRESULT RegisterCLSIDInCategory(REFCLSID clsid, CATID catid);
  42. HRESULT UnRegisterCLSIDInCategory(REFCLSID clsid, CATID catid);
  43. };
  44. #endif //__COMPCAT_H__