4 #pragma GCC system_header
7 #ifndef COM_NO_WINDOWS_H
18 EXTERN_C
const IID IID_IEnumGUID
;
19 typedef _COM_interface IEnumGUID
*LPENUMGUID
;
21 #define INTERFACE IEnumGUID
22 DECLARE_INTERFACE_(IEnumGUID
,IUnknown
)
24 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
25 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
26 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
27 STDMETHOD(Next
)(THIS_ ULONG
,GUID
*,ULONG
*) PURE
;
28 STDMETHOD(Skip
)(THIS_ ULONG
) PURE
;
29 STDMETHOD(Reset
)(THIS
) PURE
;
30 STDMETHOD(Clone
)(THIS_ LPENUMGUID
*) PURE
;
33 #if (!defined (__cplusplus) || defined (CINTERFACE)) \
34 && defined (COBJMACROS)
35 #define IEnumGUID_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
36 #define IEnumGUID_AddRef(p) (p)->lpVtbl->AddRef(p)
37 #define IEnumGUID_Release(p) (p)->lpVtbl->Release(p)
38 #define IEnumGUID_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
39 #define IEnumGUID_Skip(p,a) (p)->lpVtbl->Skip(p,a)
40 #define IEnumGUID_Reset(p) (p)->lpVtbl->Reset(p)
41 #define IEnumGUID_Clone(p,a) (p)->lpVtbl->Clone(p,a)
45 typedef REFGUID REFCATID
;
46 #define CATID_NULL GUID_NULL
47 #define IsEqualCATID(a, b) IsEqualGUID(a, b)
49 typedef struct tagCATEGORYINFO
{
50 CATID catid
; /* category identifier for component */
51 LCID lcid
; /* locale identifier */
52 OLECHAR szDescription
[128]; /* description of the category */
53 } CATEGORYINFO
, *LPCATEGORYINFO
;
55 EXTERN_C
const CATID CATID_Insertable
;
56 EXTERN_C
const CATID CATID_Control
;
57 EXTERN_C
const CATID CATID_Programmable
;
58 EXTERN_C
const CATID CATID_IsShortcut
;
59 EXTERN_C
const CATID CATID_NeverShowExt
;
60 EXTERN_C
const CATID CATID_DocObject
;
61 EXTERN_C
const CATID CATID_Printable
;
62 EXTERN_C
const CATID CATID_RequiresDataPathHost
;
63 EXTERN_C
const CATID CATID_PersistsToMoniker
;
64 EXTERN_C
const CATID CATID_PersistsToStorage
;
65 EXTERN_C
const CATID CATID_PersistsToStreamInit
;
66 EXTERN_C
const CATID CATID_PersistsToStream
;
67 EXTERN_C
const CATID CATID_PersistsToMemory
;
68 EXTERN_C
const CATID CATID_PersistsToFile
;
69 EXTERN_C
const CATID CATID_PersistsToPropertyBag
;
70 EXTERN_C
const CATID CATID_InternetAware
;
71 EXTERN_C
const CATID CATID_DesignTimeUIActivatableControl
;
73 #define IEnumCATID IEnumGUID
74 #define LPENUMCATID LPENUMGUID
75 #define IID_IEnumCATID IID_IEnumGUID
77 #define IEnumCLSID IEnumGUID
78 #define LPENUMCLSID LPENUMGUID
79 #define IID_IEnumCLSID IID_IEnumGUID
81 EXTERN_C
const IID IID_ICatInformation
;
82 typedef _COM_interface ICatInformation
*LPCATINFORMATION
;
84 EXTERN_C
const IID IID_ICatRegister
;
85 typedef _COM_interface ICatRegister
*LPCATREGISTER
;
87 EXTERN_C
const IID IID_IEnumCATEGORYINFO
;
88 typedef _COM_interface IEnumCATEGORYINFO
*LPENUMCATEGORYINFO
;
90 EXTERN_C
const CLSID CLSID_StdComponentCategoriesMgr
;
92 #define INTERFACE ICatInformation
93 DECLARE_INTERFACE_(ICatInformation
,IUnknown
)
95 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
96 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
97 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
98 STDMETHOD(EnumCategories
)(THIS_ LCID
,LPENUMCATEGORYINFO
*) PURE
;
99 STDMETHOD(GetCategoryDesc
)(THIS_ REFCATID
,LCID
,PWCHAR
*) PURE
;
100 STDMETHOD(EnumClassesOfCategories
)(THIS_ ULONG
,CATID
*,ULONG
,CATID
*,LPENUMCLSID
*) PURE
;
101 STDMETHOD(IsClassOfCategories
)(THIS_ REFCLSID
,ULONG
,CATID
*,ULONG
,CATID
*) PURE
;
102 STDMETHOD(EnumImplCategoriesOfClass
)(THIS_ REFCLSID
,LPENUMCATID
*) PURE
;
103 STDMETHOD(EnumReqCategoriesOfClass
)(THIS_ REFCLSID
,LPENUMCATID
*) PURE
;
106 #if (!defined (__cplusplus) || defined (CINTERFACE)) \
107 && defined (COBJMACROS)
108 #define ICatInformation_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
109 #define ICatInformation_AddRef(p) (p)->lpVtbl->AddRef(p)
110 #define ICatInformation_Release(p) (p)->lpVtbl->Release(p)
111 #define ICatInformation_EnumCategories(p,a,b) (p)->lpVtbl->EnumCategories(p,a,b)
112 #define ICatInformation_GetCategoryDesc(p,a,b,c) (p)->lpVtbl->GetCategoryDesc(p,a,b,c)
113 #define ICatInformation_EnumClassesOfCategories(p,a,b,c,d,e) (p)->lpVtbl->EnumClassesOfCategories(p,a,b,c,d,e)
114 #define ICatInformation_IsClassOfCategories(p,a,b,c,d,e) (p)->lpVtbl->IsClassOfCategories(p,a,b,c,d,e)
115 #define ICatInformation_EnumImplCategoriesOfClass(p,a,b) (p)->lpVtbl->EnumImplCategoriesOfClass(p,a,b)
116 #define ICatInformation_EnumReqCategoriesOfClass(p,a,b) (p)->lpVtbl->EnumReqCategoriesOfClass(p,a,b)
119 #define INTERFACE ICatRegister
120 DECLARE_INTERFACE_(ICatRegister
,IUnknown
)
122 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
123 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
124 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
125 STDMETHOD(RegisterCategories
)(THIS_ ULONG
,CATEGORYINFO
*) PURE
;
126 STDMETHOD(UnRegisterCategories
)(THIS_ ULONG
,CATID
*) PURE
;
127 STDMETHOD(RegisterClassImplCategories
)(THIS_ REFCLSID
,ULONG
,CATID
*) PURE
;
128 STDMETHOD(UnRegisterClassImplCategories
)(THIS_ REFCLSID
,ULONG
,CATID
*) PURE
;
129 STDMETHOD(RegisterClassReqCategories
)(THIS_ REFCLSID
,ULONG
,CATID
*) PURE
;
130 STDMETHOD(UnRegisterClassReqCategories
)(THIS_ REFCLSID
,ULONG
,CATID
*) PURE
;
133 #if (!defined (__cplusplus) || defined (CINTERFACE)) \
134 && defined (COBJMACROS)
135 #define ICatRegister_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
136 #define ICatRegister_AddRef(p) (p)->lpVtbl->AddRef(p)
137 #define ICatRegister_Release(p) (p)->lpVtbl->Release(p)
138 #define ICatRegister_RegisterCategories(p,a,b) (p)->lpVtbl->RegisterCategories(p,a,b)
139 #define ICatRegister_UnRegisterCategories(p,a,b) (p)->lpVtbl->UnRegisterCategories(p,a,b)
140 #define ICatRegister_RegisterClassImplCategories(p,a,b,c) (p)->lpVtbl->RegisterClassImplCategories(p,a,b,c)
141 #define ICatRegister_UnRegisterClassImplCategories(p,a,b,c) (p)->lpVtbl->UnRegisterClassImplCategories(p,a,b,c)
142 #define ICatRegister_RegisterClassReqCategories(p,a,b,c) (p)->lpVtbl->RegisterClassReqCategories(p,a,b,c)
143 #define ICatRegister_UnRegisterClassReqCategories(p,a,b,c) (p)->lpVtbl->UnRegisterClassReqCategories(p,a,b,c)
146 EXTERN_C
const IID IID_IEnumCATEGORYINFO
;
147 #define INTERFACE IEnumCATEGORYINFO
148 DECLARE_INTERFACE_(IEnumCATEGORYINFO
,IUnknown
)
150 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
151 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
152 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
153 STDMETHOD(Next
)(THIS_ ULONG
,CATEGORYINFO
*,ULONG
*) PURE
;
154 STDMETHOD(Skip
)(THIS_ ULONG
) PURE
;
155 STDMETHOD(Reset
)(THIS
) PURE
;
156 STDMETHOD(Clone
)(THIS_ LPENUMCATEGORYINFO
*) PURE
;
159 #if (!defined (__cplusplus) || defined (CINTERFACE)) \
160 && defined (COBJMACROS)
161 #define IEnumCATEGORYINFO_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
162 #define IEnumCATEGORYINFO_AddRef(p) (p)->lpVtbl->AddRef(p)
163 #define IEnumCATEGORYINFO_Release(p) (p)->lpVtbl->Release(p)
164 #define IEnumCATEGORYINFO_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
165 #define IEnumCATEGORYINFO_Skip(p,a) (p)->lpVtbl->Skip(p,a)
166 #define IEnumCATEGORYINFO_Reset(p) (p)->lpVtbl->Reset(p)
167 #define IEnumCATEGORYINFO_Clone(p,a) (p)->lpVtbl->Clone(p,a)
174 #endif /* _RC_INVOKED */