home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1996 December / PCWKCD1296.iso / vjplusb / activex / inetsdk / include / comcat.idl < prev    next >
Encoding:
Text File  |  1996-06-26  |  8.0 KB  |  252 lines

  1. //+---------------------------------------------------------------------------
  2. //
  3. //  Copyright 1995 - 1996 Microsoft Corporation. All Rights Reserved.
  4. //
  5. //  Contents:   Component Categories Interfaces
  6. // 
  7. //----------------------------------------------------------------------------
  8.  
  9. cpp_quote("//=--------------------------------------------------------------------------=")
  10. cpp_quote("// ComCat.h")
  11. cpp_quote("//=--------------------------------------------------------------------------=")
  12. cpp_quote("// (C) Copyright 1995-1996 Microsoft Corporation.  All Rights Reserved.")
  13. cpp_quote("//")
  14. cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
  15. cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
  16. cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
  17. cpp_quote("// PARTICULAR PURPOSE.")
  18. cpp_quote("//=--------------------------------------------------------------------------=")
  19. cpp_quote("")
  20. cpp_quote("#pragma comment(lib,\"uuid.lib\")")
  21. cpp_quote("")
  22. cpp_quote("//=--------------------------------------------------------------------------=")
  23. cpp_quote("// OLE Componet Categories Interfaces.")
  24. cpp_quote("//=--------------------------------------------------------------------------=")
  25. cpp_quote("//")
  26.  
  27. #ifndef DO_NO_IMPORTS
  28. import "unknwn.idl";
  29. #endif
  30.  
  31. interface IEnumGUID;
  32. interface IEnumCATEGORYINFO;
  33. interface ICatRegister;
  34. interface ICatInformation;
  35.  
  36. cpp_quote("EXTERN_C const CLSID CLSID_StdComponentCategoriesMgr;")
  37.  
  38. cpp_quote("")
  39. cpp_quote("////////////////////////////////////////////////////////////////////////////")
  40. cpp_quote("//  Types")
  41.     typedef GUID CATID;
  42.     typedef REFGUID REFCATID;
  43. cpp_quote("#define IID_IEnumCLSID              IID_IEnumGUID")
  44. cpp_quote("#define IEnumCLSID                  IEnumGUID")
  45. cpp_quote("#define LPENUMCLSID                 LPENUMGUID")
  46. #define IEnumCLSID                      IEnumGUID
  47. cpp_quote("#define CATID_NULL                   GUID_NULL")
  48. cpp_quote("#define IsEqualCATID(rcatid1, rcatid2)       IsEqualGUID(rcatid1, rcatid2)")
  49. cpp_quote("#define IID_IEnumCATID       IID_IEnumGUID")
  50. cpp_quote("#define IEnumCATID           IEnumGUID")
  51. #define IEnumCATID                      IEnumGUID
  52.  
  53. cpp_quote("")
  54. cpp_quote("////////////////////////////////////////////////////////////////////////////")
  55. cpp_quote("//  Category IDs (link to uuid3.lib)")
  56. cpp_quote("EXTERN_C const CATID CATID_Insertable;")
  57. cpp_quote("EXTERN_C const CATID CATID_Control;")
  58. cpp_quote("EXTERN_C const CATID CATID_Programmable;")
  59. cpp_quote("EXTERN_C const CATID CATID_IsShortcut;")
  60. cpp_quote("EXTERN_C const CATID CATID_NeverShowExt;")
  61. cpp_quote("EXTERN_C const CATID CATID_DocObject;")
  62. cpp_quote("EXTERN_C const CATID CATID_Printable;")
  63. cpp_quote("EXTERN_C const CATID CATID_RequiresDataPathHost;")
  64. cpp_quote("EXTERN_C const CATID CATID_PersistsToMoniker;")
  65. cpp_quote("EXTERN_C const CATID CATID_PersistsToStorage;")
  66. cpp_quote("EXTERN_C const CATID CATID_PersistsToStreamInit;")
  67. cpp_quote("EXTERN_C const CATID CATID_PersistsToStream;")
  68. cpp_quote("EXTERN_C const CATID CATID_PersistsToMemory;")
  69. cpp_quote("EXTERN_C const CATID CATID_PersistsToFile;")
  70. cpp_quote("EXTERN_C const CATID CATID_PersistsToPropertyBag;")
  71. cpp_quote("EXTERN_C const CATID CATID_InternetAware;")
  72.  
  73. cpp_quote("")
  74. cpp_quote("////////////////////////////////////////////////////////////////////////////")
  75. cpp_quote("//  Interface Definitions")
  76.  
  77. //+---------------------------------------------------------------------------
  78. //
  79. //  Copyright (C) Microsoft Corporation, 1995 - 1996.
  80. //
  81. //  Contents:    IEnumGUID interface definition
  82. //      
  83. //----------------------------------------------------------------------------
  84. cpp_quote("#ifndef _LPENUMGUID_DEFINED")
  85. cpp_quote("#define _LPENUMGUID_DEFINED")
  86. [
  87.     object,
  88.     uuid(0002E000-0000-0000-C000-000000000046),
  89.     pointer_default(unique)
  90. ]
  91. interface IEnumGUID : IUnknown
  92. {
  93.     typedef [unique] IEnumGUID *LPENUMGUID;
  94.  
  95.     HRESULT Next(
  96.     [in] ULONG celt,
  97.     [out, size_is(celt), length_is(*pceltFetched)] GUID *rgelt,
  98.     [out] ULONG *pceltFetched);
  99.  
  100.     HRESULT Skip(
  101.     [in] ULONG celt);
  102.  
  103.     HRESULT Reset();
  104.  
  105.     HRESULT Clone(
  106.     [out] IEnumGUID **ppenum);
  107. }
  108. cpp_quote("#endif")
  109.  
  110.  
  111. //+---------------------------------------------------------------------------
  112. //
  113. //  Copyright (C) Microsoft Corporation, 1995 - 1996.
  114. //
  115. //  Contents:    IEnumCATEGORYINFO definition
  116. //      
  117. //----------------------------------------------------------------------------
  118. cpp_quote("#ifndef _LPENUMCATEGORYINFO_DEFINED")
  119. cpp_quote("#define _LPENUMCATEGORYINFO_DEFINED")
  120. [
  121.     object,
  122.     uuid(0002E011-0000-0000-C000-000000000046),
  123.     pointer_default(unique)
  124. ]
  125. interface IEnumCATEGORYINFO : IUnknown
  126. {
  127.     typedef [unique] IEnumCATEGORYINFO *LPENUNCATEGORYINFO;
  128.  
  129. #define CATDESC_MAX 128
  130.  
  131.     typedef struct tagCATEGORYINFO {
  132.     CATID       catid;
  133.     LCID        lcid;
  134.     OLECHAR szDescription[CATDESC_MAX];
  135.     } CATEGORYINFO, *LPCATEGORYINFO;
  136.  
  137.     HRESULT Next(
  138.     [in] ULONG celt,
  139.     [out, size_is(celt), length_is(*pceltFetched)] CATEGORYINFO* rgelt,
  140.     [out] ULONG* pceltFetched);
  141.  
  142.     HRESULT Skip(
  143.     [in] ULONG celt);
  144.  
  145.     HRESULT Reset();
  146.  
  147.     HRESULT Clone(
  148.     [out] IEnumCATEGORYINFO** ppenum);
  149. }
  150. cpp_quote("#endif")
  151.  
  152.  
  153. //+---------------------------------------------------------------------------
  154. //
  155. //  Copyright (C) Microsoft Corporation, 1995 - 1996.
  156. //
  157. //  Contents:    ICatRegister definition
  158. //      
  159. //----------------------------------------------------------------------------
  160. cpp_quote("#ifndef _LPCATREGISTER_DEFINED")
  161. cpp_quote("#define _LPCATREGISTER_DEFINED")
  162. [
  163.     object, 
  164.     uuid(0002E012-0000-0000-C000-000000000046),
  165.     pointer_default(unique)
  166. ]
  167. interface ICatRegister : IUnknown
  168. {
  169.     typedef [unique] ICatRegister* LPCATREGISTER;
  170.  
  171.     HRESULT RegisterCategories(
  172.     [in] ULONG cCategories, 
  173.     [in, size_is(cCategories)] CATEGORYINFO rgCategoryInfo[]);
  174.  
  175.     HRESULT UnRegisterCategories(
  176.     [in] ULONG cCategories, 
  177.     [in, size_is(cCategories)] CATID rgcatid[]);
  178.  
  179.     HRESULT RegisterClassImplCategories(
  180.     [in] REFCLSID rclsid, 
  181.     [in] ULONG cCategories, 
  182.     [in, size_is(cCategories)] CATID rgcatid[]);
  183.  
  184.     HRESULT UnRegisterClassImplCategories(
  185.     [in] REFCLSID rclsid,
  186.     [in] ULONG cCategories, 
  187.     [in, size_is(cCategories)] CATID rgcatid[]);
  188.  
  189.     HRESULT RegisterClassReqCategories(
  190.     [in] REFCLSID rclsid, 
  191.     [in] ULONG cCategories, 
  192.     [in, size_is(cCategories)] CATID rgcatid[]);
  193.  
  194.     HRESULT UnRegisterClassReqCategories(
  195.     [in] REFCLSID rclsid,
  196.     [in] ULONG cCategories, 
  197.     [in, size_is(cCategories)] CATID rgcatid[]);
  198. }
  199. cpp_quote("#endif")
  200.  
  201.  
  202. //+---------------------------------------------------------------------------
  203. //
  204. //  Copyright (C) Microsoft Corporation, 1995 - 1996.
  205. //
  206. //  Contents:    ICatInformation definition
  207. //      
  208. //----------------------------------------------------------------------------
  209. cpp_quote("#ifndef _LPCATINFORMATION_DEFINED")
  210. cpp_quote("#define _LPCATINFORMATION_DEFINED")
  211. [
  212.     object, 
  213.     uuid(0002E013-0000-0000-C000-000000000046),
  214.     pointer_default(unique)
  215. ]
  216. interface ICatInformation : IUnknown
  217. {
  218.     typedef [unique] ICatInformation* LPCATINFORMATION; 
  219.  
  220.     HRESULT EnumCategories(
  221.     [in] LCID lcid, 
  222.     [out] IEnumCATEGORYINFO** ppenumCategoryInfo);
  223.  
  224.     HRESULT GetCategoryDesc(
  225.     [in] REFCATID rcatid, 
  226.     [in] LCID lcid, 
  227.     [out] LPWSTR* pszDesc);
  228.  
  229.     HRESULT EnumClassesOfCategories(
  230.     [in] ULONG cImplemented,
  231.     [in,size_is(cImplemented)] CATID rgcatidImpl[],
  232.     [in] ULONG cRequired,
  233.     [in,size_is(cRequired)] CATID rgcatidReq[],
  234.     [out] IEnumCLSID** ppenumClsid);
  235.  
  236.     HRESULT IsClassOfCategories(  
  237.     [in] REFCLSID rclsid, 
  238.     [in] ULONG cImplemented,
  239.     [in,size_is(cImplemented)] CATID rgcatidImpl[],
  240.     [in] ULONG cRequired,
  241.     [in,size_is(cRequired)] CATID rgcatidReq[]);
  242.  
  243.     HRESULT EnumImplCategoriesOfClass(
  244.     [in] REFCLSID rclsid, 
  245.     [out] IEnumCATID** ppenumCatid);
  246.  
  247.     HRESULT EnumReqCategoriesOfClass(
  248.     [in] REFCLSID rclsid, 
  249.     [out] IEnumCATID** ppenumCatid);
  250. }
  251. cpp_quote("#endif")
  252.