• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1cpp_quote("/**")
2cpp_quote(" * This file is part of the mingw-w64 runtime package.")
3cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.")
4cpp_quote(" */")
5cpp_quote("")
6
7#ifndef DO_NO_IMPORTS
8import "unknwn.idl";
9#endif
10
11cpp_quote("#include <winapifamily.h>")
12cpp_quote("")
13cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
14interface IEnumGUID;
15cpp_quote("#endif")
16
17cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
18interface IEnumCATEGORYINFO;
19interface ICatRegister;
20interface ICatInformation;
21cpp_quote("")
22cpp_quote("EXTERN_C const CLSID CLSID_StdComponentCategoriesMgr;")
23cpp_quote("#endif")
24cpp_quote("")
25cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
26typedef GUID CATID;
27typedef REFGUID REFCATID;
28cpp_quote("#endif")
29cpp_quote("")
30cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
31cpp_quote("#define IID_IEnumCLSID IID_IEnumGUID")
32cpp_quote("#define IEnumCLSID IEnumGUID")
33cpp_quote("#define LPENUMCLSID LPENUMGUID")
34cpp_quote("")
35
36#define IEnumCLSID IEnumGUID
37
38cpp_quote("#define CATID_NULL GUID_NULL")
39cpp_quote("#define IsEqualCATID(rcatid1, rcatid2) IsEqualGUID(rcatid1, rcatid2)")
40cpp_quote("#define IID_IEnumCATID IID_IEnumGUID")
41cpp_quote("#define IEnumCATID IEnumGUID")
42cpp_quote("")
43
44#define IEnumCATID IEnumGUID
45
46cpp_quote("")
47cpp_quote("EXTERN_C const CATID CATID_Insertable;")
48cpp_quote("EXTERN_C const CATID CATID_Control;")
49cpp_quote("EXTERN_C const CATID CATID_Programmable;")
50cpp_quote("EXTERN_C const CATID CATID_IsShortcut;")
51cpp_quote("EXTERN_C const CATID CATID_NeverShowExt;")
52cpp_quote("EXTERN_C const CATID CATID_DocObject;")
53cpp_quote("EXTERN_C const CATID CATID_Printable;")
54cpp_quote("EXTERN_C const CATID CATID_RequiresDataPathHost;")
55cpp_quote("EXTERN_C const CATID CATID_PersistsToMoniker;")
56cpp_quote("EXTERN_C const CATID CATID_PersistsToStorage;")
57cpp_quote("EXTERN_C const CATID CATID_PersistsToStreamInit;")
58cpp_quote("EXTERN_C const CATID CATID_PersistsToStream;")
59cpp_quote("EXTERN_C const CATID CATID_PersistsToMemory;")
60cpp_quote("EXTERN_C const CATID CATID_PersistsToFile;")
61cpp_quote("EXTERN_C const CATID CATID_PersistsToPropertyBag;")
62cpp_quote("EXTERN_C const CATID CATID_InternetAware;")
63cpp_quote("EXTERN_C const CATID CATID_DesignTimeUIActivatableControl;")
64cpp_quote("#endif")
65cpp_quote("")
66cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
67cpp_quote("#ifndef _LPENUMGUID_DEFINED")
68cpp_quote("#define _LPENUMGUID_DEFINED")
69[object, uuid (0002e000-0000-0000-C000-000000000046), pointer_default (unique)]
70interface IEnumGUID : IUnknown {
71  typedef [unique] IEnumGUID *LPENUMGUID;
72  [local] HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] GUID *rgelt,[out] ULONG *pceltFetched);
73  [call_as (Next)] HRESULT RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] GUID *rgelt,[out] ULONG *pceltFetched);
74  HRESULT Skip ([in] ULONG celt);
75  HRESULT Reset ();
76  HRESULT Clone ([out] IEnumGUID **ppenum);
77}
78cpp_quote("#endif")
79cpp_quote("#endif")
80cpp_quote("")
81cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
82cpp_quote("#ifndef _LPENUMCATEGORYINFO_DEFINED")
83cpp_quote("#define _LPENUMCATEGORYINFO_DEFINED")
84[object, uuid (0002e011-0000-0000-C000-000000000046), pointer_default (unique)]
85interface IEnumCATEGORYINFO : IUnknown {
86  typedef [unique] IEnumCATEGORYINFO *LPENUMCATEGORYINFO;
87
88#define CATDESC_MAX 128
89
90cpp_quote("")
91  typedef struct tagCATEGORYINFO {
92    CATID catid;
93    LCID lcid;
94    OLECHAR szDescription[CATDESC_MAX];
95  } CATEGORYINFO,*LPCATEGORYINFO;
96cpp_quote("")
97  HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] CATEGORYINFO *rgelt,[out] ULONG *pceltFetched);
98  HRESULT Skip ([in] ULONG celt);
99  HRESULT Reset ();
100  HRESULT Clone ([out] IEnumCATEGORYINFO **ppenum);
101}
102cpp_quote("#endif")
103cpp_quote("")
104cpp_quote("#ifndef _LPCATREGISTER_DEFINED")
105cpp_quote("#define _LPCATREGISTER_DEFINED")
106[object, uuid (0002e012-0000-0000-C000-000000000046), pointer_default (unique)]
107interface ICatRegister : IUnknown {
108  typedef [unique] ICatRegister *LPCATREGISTER;
109cpp_quote("")
110  HRESULT RegisterCategories ([in] ULONG cCategories,[in, size_is (cCategories)] CATEGORYINFO rgCategoryInfo[]);
111  HRESULT UnRegisterCategories ([in] ULONG cCategories,[in, size_is (cCategories)] CATID rgcatid[]);
112  HRESULT RegisterClassImplCategories ([in] REFCLSID rclsid,[in] ULONG cCategories,[in, size_is (cCategories)] CATID rgcatid[]);
113  HRESULT UnRegisterClassImplCategories ([in] REFCLSID rclsid,[in] ULONG cCategories,[in, size_is (cCategories)] CATID rgcatid[]);
114  HRESULT RegisterClassReqCategories ([in] REFCLSID rclsid,[in] ULONG cCategories,[in, size_is (cCategories)] CATID rgcatid[]);
115  HRESULT UnRegisterClassReqCategories ([in] REFCLSID rclsid,[in] ULONG cCategories,[in, size_is (cCategories)] CATID rgcatid[]);
116}
117cpp_quote("#endif")
118cpp_quote("")
119cpp_quote("#ifndef _LPCATINFORMATION_DEFINED")
120cpp_quote("#define _LPCATINFORMATION_DEFINED")
121[object, uuid (0002e013-0000-0000-C000-000000000046), pointer_default (unique)]
122interface ICatInformation : IUnknown {
123  typedef [unique] ICatInformation *LPCATINFORMATION;
124cpp_quote("")
125  HRESULT EnumCategories ([in] LCID lcid,[out] IEnumCATEGORYINFO **ppenumCategoryInfo);
126  HRESULT GetCategoryDesc ([in] REFCATID rcatid,[in] LCID lcid,[out] LPWSTR *pszDesc);
127  [local] HRESULT EnumClassesOfCategories ([in] ULONG cImplemented,[in, size_is (cImplemented)] const CATID rgcatidImpl[],[in] ULONG cRequired,[in, size_is (cRequired)] const CATID rgcatidReq[],[out] IEnumCLSID **ppenumClsid);
128  [call_as (EnumClassesOfCategories)] HRESULT RemoteEnumClassesOfCategories ([in] ULONG cImplemented,[in, unique, size_is (cImplemented)] const CATID rgcatidImpl[],[in] ULONG cRequired,[in, unique, size_is (cRequired)] const CATID rgcatidReq[],[out] IEnumCLSID **ppenumClsid);
129  [local] HRESULT IsClassOfCategories ([in] REFCLSID rclsid,[in] ULONG cImplemented,[in, size_is (cImplemented)] const CATID rgcatidImpl[],[in] ULONG cRequired,[in, size_is (cRequired)] const CATID rgcatidReq[]);
130  [call_as (IsClassOfCategories)] HRESULT RemoteIsClassOfCategories ([in] REFCLSID rclsid,[in] ULONG cImplemented,[in, unique, size_is (cImplemented)] const CATID rgcatidImpl[],[in] ULONG cRequired,[in, unique, size_is (cRequired)] const CATID rgcatidReq[]);
131  HRESULT EnumImplCategoriesOfClass ([in] REFCLSID rclsid,[out] IEnumCATID **ppenumCatid);
132  HRESULT EnumReqCategoriesOfClass ([in] REFCLSID rclsid,[out] IEnumCATID **ppenumCatid);
133}
134cpp_quote("#endif")
135cpp_quote("#endif")
136