source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/correg.h@ 1170

Last change on this file since 1170 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 23.5 KB
Line 
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _CORREG_H_
7#define _CORREG_H_
8
9#include <ole2.h>
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15#include <pshpack1.h>
16
17#ifndef NODLLIMPORT
18#define DLLIMPORT __declspec(dllimport)
19#else
20#define DLLIMPORT
21#endif
22
23#if !defined(_META_DATA_NO_SCOPE_) || defined(_META_DATA_SCOPE_WRAPPER_)
24
25 STDAPI CoGetCor(REFIID riid,void **ppv);
26#endif
27
28 STDAPI CoInitializeCor(DWORD fFlags);
29 STDAPI_(void) CoUninitializeCor(void);
30
31 typedef INT_PTR mdScope;
32#define mdScopeNil ((mdScope)0)
33
34 typedef INT_PTR mdToken;
35 typedef INT_PTR mdModule;
36 typedef INT_PTR mdTypeDef;
37 typedef INT_PTR mdInterfaceImpl;
38 typedef INT_PTR mdTypeRef;
39 typedef INT_PTR mdNamespace;
40 typedef INT_PTR mdCustomValue;
41 typedef INT_PTR mdResource;
42 typedef INT_PTR mdCocatdef;
43 typedef INT_PTR mdCocatImpl;
44 typedef INT_PTR mdMimeTypeImpl;
45 typedef INT_PTR mdFormatImpl;
46 typedef INT_PTR mdProgID;
47 typedef INT_PTR mdRoleCheck;
48 typedef unsigned __LONG32 RID;
49
50 enum CorRegTokenType {
51 mdtTypeDef = 0x00000000,mdtInterfaceImpl = 0x01000000,mdtTypeRef = 0x03000000,mdtNamespace = 0x06000000,mdtCustomValue = 0x07000000,
52 mdtResource = 0x0B000000,mdtCocatImpl = 0x0D000000,mdtMimeTypeImpl = 0x0E000000,mdtFormatImpl = 0x0F000000,mdtProgID = 0x10000000,
53 mdtRoleCheck = 0x11000000,mdtModule = 0x14000000
54 };
55
56#define RidToToken(rid,tktype) ((rid) |= (tktype))
57#define TokenFromRid(rid,tktype) ((rid) | (tktype))
58#define RidFromToken(tk) ((RID) ((tk) & 0x00ffffff))
59#define TypeFromToken(tk) ((tk) & 0xff000000)
60
61#define mdTokenNil ((mdToken)0)
62#define mdModuleNil ((mdModule)mdtModule)
63#define mdTypeDefNil ((mdTypeDef)mdtTypeDef)
64#define mdInterfaceImplNil ((mdInterfaceImpl)mdtInterfaceImpl)
65#define mdTypeRefNil ((mdTypeRef)mdtTypeRef)
66#define mdNamespaceNil ((mdNamespace)mdtNamespace)
67#define mdCustomValueNil ((mdCustomValue)mdtCustomValue)
68#define mdResourceNil ((mdResource)mdtResource)
69#define mdCocatImplNil ((mdCocatImpl)mdtCocatImpl)
70#define mdMimeTypeImplNil ((mdMimeTypeImpl)mdtMimeTypeImpl)
71#define mdFormatImplNil ((mdFormatImpl)mdtFormatImpl)
72#define mdProgIDNil ((mdProgID)mdtProgID)
73#define mdRoleCheckNil ((mdRoleCheck)mdtRoleCheck)
74
75 enum CorRegTypeAttr {
76 tdPublic = 0x0001,tdLayoutMask = 0x0006,tdAutoLayout = 0x0000,tdLayoutSequential = 0x0002,tdExplicitLayout = 0x0004,tdWrapperClass = 0x0008,
77 tdFinal = 0x0010,tdISSCompat = 0x0020,tdStringFormatMask = 0x00c0,tdAnsiClass = 0x0000,tdUnicodeClass = 0x0040,tdAutoClass = 0x0080,
78 tdValueClass = 0x0100,tdInterface = 0x0200,tdAbstract = 0x0400,tdImport = 0x1000,tdRecord = 0x2000,tdEnum = 0x4000,tdReserved1 = 0x0800
79 };
80
81 enum CorImplementType {
82 itImplements = 0x0000,itEvents = 0x0001,itRequires = 0x0002,itInherits = 0x0004
83 };
84
85 enum CorClassActivateAttr {
86 caaDeferCreate = 0x0001,caaAppObject = 0x0002,caaFixedIfaceSet = 0x0004,caaIndependentlyCreateable = 0x0100,caaPredefined = 0x0200,
87 caaLoadBalancing = 0x0c00,caaLBNotSupported = 0x0400,caaLBSupported = 0x0800,caaLBNotSpecified = 0x0000,caaObjectPooling = 0x3000,
88 caaOPNotSupported = 0x1000,caaOPSupported = 0x2000,caaOPNotSpecified = 0x0000,caaJITActivation = 0xc000,caaJANotSupported = 0x4000,
89 caaJASupported = 0x8000,caaJANotSpecified = 0x0000
90 };
91
92 enum CorIfaceSvcAttr {
93 mlNone = 0x0001,mlAutomation = 0x0002,mlProxyStub = 0x0004,mlDeferrable = 0x0018,mlDeferNotSupported = 0x0008,mlDeferSupported = 0x0010,
94 mlDeferNotSpecified = 0x0000
95 };
96
97 enum CocatImplAttr {
98 catiaImplements = 0x0001,catiaRequires = 0x0002
99 };
100
101 enum CorModuleExportAttr {
102 moUsesGetLastError = 0x0001
103 };
104
105 enum CorModuleRegAttr {
106 rmaCustomReg = 0x0001
107 };
108
109 enum CorRegFormatAttr {
110 rfaSupportsFormat = 0x0001,rfaConvertsFromFormat = 0x0002,rfaConvertsToFormat = 0x0003,rfaDefaultFormat = 0x0004,rfaIsFileExt = 0x0005,
111 rfaIsFileType = 0x0006,rfaIsDataFormat = 0x0007
112 };
113
114 enum CorSynchAttr {
115 sySupported = 0x0001,syRequired = 0x0002,syRequiresNew = 0x0004,syNotSupported = 0x0008,syThreadAffinity = 0x0010
116 };
117
118 enum CorThreadingAttr {
119 taMain = 0x0001,taSTA = 0x0002,taMTA = 0x0004,taNeutral = 0x0008,taBoth = 0x0010
120 };
121
122 enum CorXactionAttr {
123 xaSupported = 0x0001,xaRequired = 0x0002,xaRequiresNew = 0x0004,xaNotSupported = 0x0008,xaNoVote = 0x0010
124 };
125
126 enum CorRoleCheckAttr {
127 rcChecksFor = 0x0001
128 };
129
130 typedef void *HCORENUM;
131
132#ifndef _CORSAVESIZE_DEFINED_
133#define _CORSAVESIZE_DEFINED_
134 typedef enum CorSaveSize {
135 cssAccurate = 0x0000,cssQuick = 0x0001
136 } CorSaveSize;
137#endif
138
139#define MAX_CLASS_NAME 255
140#define MAX_PACKAGE_NAME 255
141
142 __MINGW_EXTENSION typedef unsigned __int64 CLASSVERSION;
143
144#ifndef DECLSPEC_SELECT_ANY
145#define DECLSPEC_SELECT_ANY __declspec(selectany)
146#endif
147
148 EXTERN_GUID (CLSID_Cor, 0xbee00010,0xee77,0x11d0,0xa0,0x15,0x00,0xc0,0x4f,0xbb,0xb8,0x84);
149 EXTERN_GUID (CLSID_CorMetaDataDispenser,0xe5cb7a31,0x7512,0x11d2,0x89,0xce,0x0,0x80,0xc7,0x92,0xe5,0xd8);
150 EXTERN_GUID (CLSID_CorMetaDataDispenserReg,0x435755ff,0x7397,0x11d2,0x97,0x71,0x0,0xa0,0xc9,0xb4,0xd5,0xc);
151 EXTERN_GUID (CLSID_CorMetaDataReg,0x87f3a1f5,0x7397,0x11d2,0x97,0x71,0x0,0xa0,0xc9,0xb4,0xd5,0xc);
152 EXTERN_GUID (IID_IMetaDataInternal,0x2d601bb,0xc5b9,0x11d1,0x93,0xf9,0x0,0x0,0xf8,0x8,0x34,0x60);
153 EXTERN_GUID (IID_IMetaDataEmitTemp,0xad93d71d,0xe1f2,0x11d1,0x94,0x9,0x0,0x0,0xf8,0x8,0x34,0x60);
154
155 struct IMetaDataRegEmit;
156 struct IMetaDataRegImport;
157 struct IMetaDataDispenser;
158
159 EXTERN_GUID (IID_IMemory,0x6a3ea8a,0x225,0x11d1,0xbf,0x72,0x0,0xc0,0x4f,0xc3,0x1e,0x12);
160
161#undef INTERFACE
162#define INTERFACE IMemory
163 DECLARE_INTERFACE_(IMemory,IUnknown) {
164#ifndef __cplusplus
165 STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
166 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
167 STDMETHOD_(ULONG,Release)(THIS) PURE;
168#endif
169 STDMETHOD(GetMemory)(THIS_ void **pMem,ULONG *iSize) PURE;
170 STDMETHOD(SetMemory)(THIS_ void *pMem,ULONG iSize) PURE;
171 };
172
173 EXTERN_GUID (IID_IMetaDataError,0xb81ff171,0x20f3,0x11d2,0x8d,0xcc,0x0,0xa0,0xc9,0xb0,0x9c,0x19);
174
175#undef INTERFACE
176#define INTERFACE IMetaDataError
177 DECLARE_INTERFACE_(IMetaDataError,IUnknown) {
178#ifndef __cplusplus
179 STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
180 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
181 STDMETHOD_(ULONG,Release)(THIS) PURE;
182#endif
183 STDMETHOD(OnError)(THIS_ HRESULT hrError,mdToken token) PURE;
184 };
185
186 EXTERN_GUID (IID_IMapToken,0x6a3ea8b,0x225,0x11d1,0xbf,0x72,0x0,0xc0,0x4f,0xc3,0x1e,0x12);
187
188#undef INTERFACE
189#define INTERFACE IMapToken
190 DECLARE_INTERFACE_(IMapToken,IUnknown) {
191#ifndef __cplusplus
192 STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
193 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
194 STDMETHOD_(ULONG,Release)(THIS) PURE;
195#endif
196 STDMETHOD(Map)(THIS_ ULONG tkImp,ULONG tkEmit) PURE;
197 };
198
199 EXTERN_GUID (IID_IMetaDataDispenser,0x809c652e,0x7396,0x11d2,0x97,0x71,0x0,0xa0,0xc9,0xb4,0xd5,0xc);
200
201#undef INTERFACE
202#define INTERFACE IMetaDataDispenser
203 DECLARE_INTERFACE_(IMetaDataDispenser,IUnknown) {
204#ifndef __cplusplus
205 STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
206 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
207 STDMETHOD_(ULONG,Release)(THIS) PURE;
208#endif
209 STDMETHOD(DefineScope)(THIS_ REFCLSID rclsid,DWORD dwCreateFlags,REFIID riid,IUnknown **ppIUnk) PURE;
210 STDMETHOD(OpenScope)(THIS_ LPCWSTR szScope,DWORD dwOpenFlags,REFIID riid,IUnknown **ppIUnk) PURE;
211 STDMETHOD(OpenScopeOnStream)(THIS_ IStream *pIStream,DWORD dwOpenFlags,REFIID riid,IUnknown **ppIUnk) PURE;
212 STDMETHOD(OpenScopeOnMemory)(THIS_ LPCVOID pData,ULONG cbData,DWORD dwOpenFlags,REFIID riid,IUnknown **ppIUnk) PURE;
213 };
214
215#if defined(_META_DATA_NO_SCOPE_) || defined(_META_DATA_SCOPE_WRAPPER_)
216 EXTERN_GUID (IID_IMetaDataRegEmit,0x601c95b9,0x7398,0x11d2,0x97,0x71,0x0,0xa0,0xc9,0xb4,0xd5,0xc);
217 EXTERN_GUID (IID_IMetaDataRegEmitOld,0xf28f419b,0x62ca,0x11d2,0x8f,0x2c,0x0,0xa0,0xc9,0xa6,0x18,0x6d);
218
219#undef INTERFACE
220#define INTERFACE IMetaDataRegEmit
221 DECLARE_INTERFACE_(IMetaDataRegEmit,IUnknown) {
222#ifndef __cplusplus
223 STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
224 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
225 STDMETHOD_(ULONG,Release)(THIS) PURE;
226#endif
227 STDMETHOD(SetModuleProps)(THIS_ LPCWSTR szName,const GUID *ppid,LCID lcid) PURE;
228 STDMETHOD(Save)(THIS_ LPCWSTR szFile,DWORD dwSaveFlags) PURE;
229 STDMETHOD(SaveToStream)(THIS_ IStream *pIStream,DWORD dwSaveFlags) PURE;
230 STDMETHOD(GetSaveSize)(THIS_ CorSaveSize fSave,DWORD *pdwSaveSize) PURE;
231 STDMETHOD(Merge)(THIS_ IMetaDataRegImport *pImport,IMapToken *pIMap) PURE;
232 STDMETHOD(DefineCustomValueAsBlob)(THIS_ mdToken tkObj,LPCWSTR szName,void const *pCustomValue,ULONG cbCustomValue,mdCustomValue *pcv) PURE;
233 STDMETHOD(DefineTypeDef)(THIS_ LPCWSTR szNamespace,LPCWSTR szTypeDef,const GUID *pguid,CLASSVERSION *pVer,DWORD dwTypeDefFlags,mdToken tkExtends,DWORD dwExtendsFlags,mdToken rtkImplements[],mdToken rtkEvents[],mdTypeDef *ptd) PURE;
234 STDMETHOD(SetTypeDefProps)(THIS_ mdTypeDef td,CLASSVERSION *pVer,DWORD dwTypeDefFlags,mdToken tkExtends,DWORD dwExtendsFlags,mdToken rtkImplements[],mdToken rtkEvents[]) PURE;
235 STDMETHOD(SetClassSvcsContext)(THIS_ mdTypeDef td,DWORD dwClassActivateAttr,DWORD dwClassThreadAttr,DWORD dwXactionAttr,DWORD dwSynchAttr) PURE;
236 STDMETHOD(DefineTypeRefByGUID)(THIS_ GUID *pguid,mdTypeRef *ptr) PURE;
237 STDMETHOD(SetModuleReg)(THIS_ DWORD dwModuleRegAttr,const GUID *pguid) PURE;
238 STDMETHOD(SetClassReg)(THIS_ mdTypeDef td,LPCWSTR szProgID,LPCWSTR szVIProgID,LPCWSTR szIconURL,ULONG ulIconResource,LPCWSTR szSmallIconURL,ULONG ulSmallIconResource,LPCWSTR szDefaultDispName) PURE;
239 STDMETHOD(SetIfaceReg)(THIS_ mdTypeDef td,DWORD dwIfaceSvcs,const GUID *proxyStub) PURE;
240 STDMETHOD(SetCategoryImpl)(THIS_ mdTypeDef td,GUID rGuidCoCatImpl[],GUID rGuidCoCatReqd[]) PURE;
241 STDMETHOD(SetRedirectProgID)(THIS_ mdTypeDef td,LPCWSTR rszRedirectProgID[]) PURE;
242 STDMETHOD(SetMimeTypeImpl)(THIS_ mdTypeDef td,LPCWSTR rszMimeType[]) PURE;
243 STDMETHOD(SetFormatImpl)(THIS_ mdTypeDef td,LPCWSTR rszFormatSupported[],LPCWSTR rszFormatConvertsFrom[],LPCWSTR rszFormatConvertsTo[],LPCWSTR rszFormatDefault[],LPCWSTR rszFileExt[],LPCWSTR rszFileType[]) PURE;
244 STDMETHOD(SetRoleCheck)(THIS_ mdToken tk,LPCWSTR rszName[],DWORD rdwRoleFlags[]) PURE;
245 STDMETHOD(SetHandler)(THIS_ IUnknown *pUnk) PURE;
246 };
247#endif
248
249#if !defined(_META_DATA_NO_SCOPE_)
250#if !defined(_META_DATA_SCOPE_WRAPPER_)
251 EXTERN_GUID (IID_IMetaDataRegEmit,0xf28f419b,0x62ca,0x11d2,0x8f,0x2c,0x0,0xa0,0xc9,0xa6,0x18,0x6d);
252#endif
253
254#undef INTERFACE
255#if defined(_META_DATA_SCOPE_WRAPPER_)
256#define INTERFACE IMetaDataRegEmitOld
257#else
258#define INTERFACE IMetaDataRegEmit
259#endif
260 DECLARE_INTERFACE_(INTERFACE,IUnknown) {
261#ifndef __cplusplus
262 STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
263 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
264 STDMETHOD_(ULONG,Release)(THIS) PURE;
265#endif
266 STDMETHOD(DefineScope)(THIS_ DWORD dwCreateFlags,mdScope *pscope) PURE;
267 STDMETHOD(SetModuleProps)(THIS_ mdScope scope,LPCWSTR szName,const GUID *ppid,LCID lcid) PURE;
268 STDMETHOD(Save)(THIS_ mdScope es,LPCWSTR szFile,DWORD dwSaveFlags) PURE;
269 STDMETHOD(SaveToStream)(THIS_ mdScope es,IStream *pIStream,DWORD dwSaveFlags) PURE;
270 STDMETHOD(GetSaveSize)(THIS_ mdScope es,CorSaveSize fSave,DWORD *pdwSaveSize) PURE;
271 STDMETHOD_(void,Close)(THIS_ mdScope scope) PURE;
272 STDMETHOD(Merge)(THIS_ mdScope scEmit,mdScope scImport,IMapToken *pIMap) PURE;
273 STDMETHOD(DefineCustomValueAsBlob)(THIS_ mdScope es,mdToken tkObj,LPCWSTR szName,void const *pCustomValue,ULONG cbCustomValue,mdCustomValue *pcv) PURE;
274 STDMETHOD(DefineTypeDef)(THIS_ mdScope es,LPCWSTR szNamespace,LPCWSTR szTypeDef,const GUID *pguid,CLASSVERSION *pVer,DWORD dwTypeDefFlags,mdToken tkExtends,DWORD dwExtendsFlags,mdToken rtkImplements[],mdToken rtkEvents[],mdTypeDef *ptd) PURE;
275 STDMETHOD(SetTypeDefProps)(THIS_ mdScope es,mdTypeDef td,CLASSVERSION *pVer,DWORD dwTypeDefFlags,mdToken tkExtends,DWORD dwExtendsFlags,mdToken rtkImplements[],mdToken rtkEvents[]) PURE;
276 STDMETHOD(SetClassSvcsContext)(THIS_ mdScope es,mdTypeDef td,DWORD dwClassActivateAttr,DWORD dwClassThreadAttr,DWORD dwXactionAttr,DWORD dwSynchAttr) PURE;
277 STDMETHOD(DefineTypeRefByGUID)(THIS_ mdScope sc,GUID *pguid,mdTypeRef *ptr) PURE;
278 STDMETHOD(SetModuleReg)(THIS_ mdScope es,DWORD dwModuleRegAttr,const GUID *pguid) PURE;
279 STDMETHOD(SetClassReg)(THIS_ mdScope es,mdTypeDef td,LPCWSTR szProgID,LPCWSTR szVIProgID,LPCWSTR szIconURL,ULONG ulIconResource,LPCWSTR szSmallIconURL,ULONG ulSmallIconResource,LPCWSTR szDefaultDispName) PURE;
280 STDMETHOD(SetIfaceReg)(THIS_ mdScope es,mdTypeDef td,DWORD dwIfaceSvcs,const GUID *proxyStub) PURE;
281 STDMETHOD(SetCategoryImpl)(THIS_ mdScope es,mdTypeDef td,GUID rGuidCoCatImpl[],GUID rGuidCoCatReqd[]) PURE;
282 STDMETHOD(SetRedirectProgID)(THIS_ mdScope es,mdTypeDef td,LPCWSTR rszRedirectProgID[]) PURE;
283 STDMETHOD(SetMimeTypeImpl)(THIS_ mdScope es,mdTypeDef td,LPCWSTR rszMimeType[]) PURE;
284 STDMETHOD(SetFormatImpl)(THIS_ mdScope es,mdTypeDef td,LPCWSTR rszFormatSupported[],LPCWSTR rszFormatConvertsFrom[],LPCWSTR rszFormatConvertsTo[],LPCWSTR rszFormatDefault[],LPCWSTR rszFileExt[],LPCWSTR rszFileType[]) PURE;
285 STDMETHOD(SetRoleCheck)(THIS_ mdScope es,mdToken tk,LPCWSTR rszName[],DWORD rdwRoleFlags[]) PURE;
286 STDMETHOD(SetHandler)(THIS_ mdScope sc,IUnknown *pUnk) PURE;
287 };
288#endif
289
290#if defined(_META_DATA_NO_SCOPE_) || defined(_META_DATA_SCOPE_WRAPPER_)
291 EXTERN_GUID (IID_IMetaDataRegImport, 0x4398b4fd,0x7399,0x11d2,0x97,0x71,0x0,0xa0,0xc9,0xb4,0xd5,0xc);
292 EXTERN_GUID (IID_IMetaDataRegImportOld, 0xf28f419a,0x62ca,0x11d2,0x8f,0x2c,0x0,0xa0,0xc9,0xa6,0x18,0x6d);
293
294#undef INTERFACE
295#define INTERFACE IMetaDataRegImport
296 DECLARE_INTERFACE_(IMetaDataRegImport,IUnknown) {
297#ifndef __cplusplus
298 STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
299 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
300 STDMETHOD_(ULONG,Release)(THIS) PURE;
301#endif
302 STDMETHOD_(void,CloseEnum)(THIS_ HCORENUM hEnum) PURE;
303 STDMETHOD(CountEnum)(THIS_ HCORENUM hEnum,ULONG *pulCount) PURE;
304 STDMETHOD(ResetEnum)(THIS_ HCORENUM hEnum,ULONG ulPos) PURE;
305 STDMETHOD(EnumTypeDefs)(THIS_ HCORENUM *phEnum,mdTypeDef rTypeDefs[],ULONG cMax,ULONG *pcTypeDefs) PURE;
306 STDMETHOD(EnumInterfaceImpls)(THIS_ HCORENUM *phEnum,mdTypeDef td,mdInterfaceImpl rImpls[],ULONG cMax,ULONG *pcImpls) PURE;
307 STDMETHOD(EnumTypeRefs)(THIS_ HCORENUM *phEnum,mdTypeRef rTypeRefs[],ULONG cMax,ULONG *pcTypeRefs) PURE;
308 STDMETHOD(EnumCustomValues)(THIS_ HCORENUM *phEnum,mdToken tk,mdCustomValue rCustomValues[],ULONG cMax,ULONG *pcCustomValues) PURE;
309 STDMETHOD(EnumResources)(THIS_ HCORENUM *phEnum,mdResource rResources[],ULONG cMax,ULONG *pcResources) PURE;
310 STDMETHOD(EnumCategoryImpls)(THIS_ HCORENUM *phEnum,mdTypeDef td,mdCocatImpl rCocatImpls[],ULONG cMax,ULONG *pcCocatImpls) PURE;
311 STDMETHOD(EnumRedirectProgIDs)(THIS_ HCORENUM *phEnum,mdTypeDef td,mdProgID rRedirectProgIDs[],ULONG cMax,ULONG *pcRedirectProgIDs) PURE;
312 STDMETHOD(EnumMimeTypeImpls)(THIS_ HCORENUM *phEnum,mdTypeDef td,mdMimeTypeImpl rMimeTypeImpls[],ULONG cMax,ULONG *pcMimeTypeImpls) PURE;
313 STDMETHOD(EnumFormatImpls)(THIS_ HCORENUM *phEnum,mdTypeDef td,mdFormatImpl rFormatImpls[],ULONG cMax,ULONG *pcFormatImpls) PURE;
314 STDMETHOD(EnumRoleChecks)(THIS_ HCORENUM *phEnum,mdToken tk,mdRoleCheck rRoleChecks[],ULONG cMax,ULONG *pcRoleChecks) PURE;
315 STDMETHOD(FindTypeDefByName)(THIS_ LPCWSTR szNamespace,LPCWSTR szTypeDef,mdTypeDef *ptd) PURE;
316 STDMETHOD(FindTypeDefByGUID)(THIS_ const GUID *pguid,mdTypeDef *ptd) PURE;
317 STDMETHOD(FindCustomValue)(THIS_ mdToken tk,LPCWSTR szName,mdCustomValue *pcv,DWORD *pdwValueType) PURE;
318 STDMETHOD(GetScopeProps)(THIS_ LPWSTR szName,ULONG cchName,ULONG *pchName,GUID *ppid,GUID *pmvid,LCID *pLcid) PURE;
319 STDMETHOD(GetModuleFromScope)(THIS_ mdModule *pmd) PURE;
320 STDMETHOD(GetTypeDefProps)(THIS_ mdTypeDef td,LPWSTR szNamespace,ULONG cchNamespace,ULONG *pchNamespace,LPWSTR szTypeDef,ULONG cchTypeDef,ULONG *pchTypeDef,GUID *pguid,CLASSVERSION *pver,DWORD *pdwTypeDefFlags,mdToken *ptkExtends,DWORD *pdwExtendsFlags) PURE;
321 STDMETHOD(GetClassSvcsContext)(THIS_ mdTypeDef td,DWORD *pdwClassActivateAttr,DWORD *pdwThreadAttr,DWORD *pdwXactonAttr,DWORD *pdwSynchAttr) PURE;
322 STDMETHOD(GetInterfaceImplProps)(THIS_ mdInterfaceImpl iiImpl,mdTypeDef *pClass,mdToken *ptkIface,DWORD *pdwFlags) PURE;
323 STDMETHOD(GetCustomValueProps)(THIS_ mdCustomValue cv,LPWSTR szName,ULONG cchName,ULONG *pchName,DWORD *pdwValueType) PURE;
324 STDMETHOD(GetCustomValueAsBlob)(THIS_ mdCustomValue cv,void const **ppBlob,ULONG *pcbSize) PURE;
325 STDMETHOD(GetTypeRefProps)(THIS_ mdTypeRef tr,LPWSTR szTypeRef,ULONG cchTypeRef,ULONG *pchTypeRef,GUID *pGuid,DWORD *pdwBind) PURE;
326 STDMETHOD(GetModuleRegProps)(THIS_ DWORD *pModuleRegAttr,GUID *pguid) PURE;
327 STDMETHOD(GetClassRegProps)(THIS_ mdTypeDef td,LPWSTR szProgid,ULONG cchProgid,ULONG *pchProgid,LPWSTR szVIProgid,ULONG cchVIProgid,ULONG *pchVIProgid,LPWSTR szIconURL,ULONG cchIconURL,ULONG *pchIconURL,ULONG *pIconResource,LPWSTR szSmallIconURL,ULONG cchSmallIconURL,ULONG *pchSmallIconURL,ULONG *pSmallIconResource,LPWSTR szDefaultDispname,ULONG cchDefaultDispname,ULONG *pchDefaultDispname) PURE;
328 STDMETHOD(GetIfaceRegProps)(THIS_ mdTypeDef td,DWORD *pdwIfaceSvcs,GUID *pProxyStub) PURE;
329 STDMETHOD(GetResourceProps)(THIS_ mdResource rs,LPWSTR szURL,ULONG cchURL,ULONG *pchURL) PURE;
330 STDMETHOD(GetCategoryImplProps)(THIS_ mdCocatImpl cocat,GUID *pguid,DWORD *pdwCocatImplAttr) PURE;
331 STDMETHOD(GetRedirectProgIDProps)(THIS_ mdProgID progid,LPWSTR szProgID,ULONG cchProgID,ULONG *pchProgID) PURE;
332 STDMETHOD(GetMimeTypeImplProps)(THIS_ mdMimeTypeImpl mime,LPWSTR szMime,ULONG cchMime,ULONG *pchMime) PURE;
333 STDMETHOD(GetFormatImplProps)(THIS_ mdFormatImpl format,LPWSTR szFormat,ULONG cchFormat,ULONG *pchFormat,DWORD *pdwRegFormatAttr) PURE;
334 STDMETHOD(GetRoleCheckProps)(THIS_ mdRoleCheck rc,LPWSTR szName,ULONG cchName,ULONG *pchName,DWORD *pdwRoleFlags) PURE;
335 STDMETHOD(ResolveTypeRef)(THIS_ mdTypeRef tr,REFIID riid,IUnknown **ppIScope,mdTypeDef *ptd) PURE;
336 };
337#endif
338
339#if !defined(_META_DATA_NO_SCOPE_)
340#if !defined(_META_DATA_SCOPE_WRAPPER_)
341 EXTERN_GUID (IID_IMetaDataRegImport, 0xf28f419a,0x62ca,0x11d2, 0x8f, 0x2c, 0x0, 0xa0, 0xc9, 0xa6, 0x18, 0x6d);
342#endif
343
344#undef INTERFACE
345#if defined(_META_DATA_SCOPE_WRAPPER_)
346#define INTERFACE IMetaDataRegImportOld
347#else
348#define INTERFACE IMetaDataRegImport
349#endif
350 DECLARE_INTERFACE_(INTERFACE,IUnknown) {
351#ifndef __cplusplus
352 STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
353 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
354 STDMETHOD_(ULONG,Release)(THIS) PURE;
355#endif
356 STDMETHOD(OpenScope)(THIS_ LPCWSTR szScope,DWORD dwOpenFlags,mdScope *pscope) PURE;
357 STDMETHOD(OpenScopeOnStream)(THIS_ IStream *pIStream,DWORD dwOpenFlags,mdScope *psc) PURE;
358 STDMETHOD(OpenScopeOnMemory)(THIS_ LPCVOID pData,ULONG cbData,mdScope *psc) PURE;
359 STDMETHOD_(void,Close)(THIS_ mdScope scope) PURE;
360 STDMETHOD_(void,CloseEnum)(THIS_ mdScope scope,HCORENUM hEnum) PURE;
361 STDMETHOD(CountEnum)(THIS_ mdScope scope,HCORENUM hEnum,ULONG *pulCount) PURE;
362 STDMETHOD(ResetEnum)(THIS_ mdScope scope,HCORENUM hEnum,ULONG ulPos) PURE;
363 STDMETHOD(EnumTypeDefs)(THIS_ mdScope scope,HCORENUM *phEnum,mdTypeDef rTypeDefs[],ULONG cMax,ULONG *pcTypeDefs) PURE;
364 STDMETHOD(EnumInterfaceImpls)(THIS_ mdScope scope,HCORENUM *phEnum,mdTypeDef td,mdInterfaceImpl rImpls[],ULONG cMax,ULONG *pcImpls) PURE;
365 STDMETHOD(EnumTypeRefs)(THIS_ mdScope scope,HCORENUM *phEnum,mdTypeRef rTypeRefs[],ULONG cMax,ULONG *pcTypeRefs) PURE;
366 STDMETHOD(EnumCustomValues)(THIS_ mdScope scope,HCORENUM *phEnum,mdToken tk,mdCustomValue rCustomValues[],ULONG cMax,ULONG *pcCustomValues) PURE;
367 STDMETHOD(EnumResources)(THIS_ mdScope scope,HCORENUM *phEnum,mdResource rResources[],ULONG cMax,ULONG *pcResources) PURE;
368 STDMETHOD(EnumCategoryImpls)(THIS_ mdScope scope,HCORENUM *phEnum,mdTypeDef td,mdCocatImpl rCocatImpls[],ULONG cMax,ULONG *pcCocatImpls) PURE;
369 STDMETHOD(EnumRedirectProgIDs)(THIS_ mdScope scope,HCORENUM *phEnum,mdTypeDef td,mdProgID rRedirectProgIDs[],ULONG cMax,ULONG *pcRedirectProgIDs) PURE;
370 STDMETHOD(EnumMimeTypeImpls)(THIS_ mdScope scope,HCORENUM *phEnum,mdTypeDef td,mdMimeTypeImpl rMimeTypeImpls[],ULONG cMax,ULONG *pcMimeTypeImpls) PURE;
371 STDMETHOD(EnumFormatImpls)(THIS_ mdScope scope,HCORENUM *phEnum,mdTypeDef td,mdFormatImpl rFormatImpls[],ULONG cMax,ULONG *pcFormatImpls) PURE;
372 STDMETHOD(EnumRoleChecks)(THIS_ mdScope scope,HCORENUM *phEnum,mdToken tk,mdRoleCheck rRoleChecks[],ULONG cMax,ULONG *pcRoleChecks) PURE;
373 STDMETHOD(FindTypeDefByName)(THIS_ mdScope scope,LPCWSTR szNamespace,LPCWSTR szTypeDef,mdTypeDef *ptd) PURE;
374 STDMETHOD(FindTypeDefByGUID)(THIS_ mdScope scope,const GUID *pguid,mdTypeDef *ptd) PURE;
375 STDMETHOD(FindCustomValue)(THIS_ mdScope scope,mdToken tk,LPCWSTR szName,mdCustomValue *pcv,DWORD *pdwValueType) PURE;
376 STDMETHOD(GetScopeProps)(THIS_ mdScope scope,LPWSTR szName,ULONG cchName,ULONG *pchName,GUID *ppid,GUID *pmvid,LCID *pLcid) PURE;
377 STDMETHOD(GetModuleFromScope)(THIS_ mdScope scope,mdModule *pmd) PURE;
378 STDMETHOD(GetTypeDefProps)(THIS_ mdScope scope,mdTypeDef td,LPWSTR szNamespace,ULONG cchNamespace,ULONG *pchNamespace,LPWSTR szTypeDef,ULONG cchTypeDef,ULONG *pchTypeDef,GUID *pguid,CLASSVERSION *pver,DWORD *pdwTypeDefFlags,mdToken *ptkExtends,DWORD *pdwExtendsFlags) PURE;
379 STDMETHOD(GetClassSvcsContext)(THIS_ mdScope es,mdTypeDef td,DWORD *pdwClassActivateAttr,DWORD *pdwThreadAttr,DWORD *pdwXactonAttr,DWORD *pdwSynchAttr) PURE;
380 STDMETHOD(GetInterfaceImplProps)(THIS_ mdScope scope,mdInterfaceImpl iiImpl,mdTypeDef *pClass,mdToken *ptkIface,DWORD *pdwFlags) PURE;
381 STDMETHOD(GetCustomValueProps)(THIS_ mdScope scope,mdCustomValue cv,LPWSTR szName,ULONG cchName,ULONG *pchName,DWORD *pdwValueType) PURE;
382 STDMETHOD(GetCustomValueAsBlob)(THIS_ mdScope scope,mdCustomValue cv,void const **ppBlob,ULONG *pcbSize) PURE;
383 STDMETHOD(GetTypeRefProps)(THIS_ mdScope scope,mdTypeRef tr,LPWSTR szTypeRef,ULONG cchTypeRef,ULONG *pchTypeRef,GUID *pGuid,DWORD *pdwBind) PURE;
384 STDMETHOD(GetModuleRegProps)(THIS_ mdScope scope,DWORD *pModuleRegAttr,GUID *pguid) PURE;
385 STDMETHOD(GetClassRegProps)(THIS_ mdScope scope,mdTypeDef td,LPWSTR szProgid,ULONG cchProgid,ULONG *pchProgid,LPWSTR szVIProgid,ULONG cchVIProgid,ULONG *pchVIProgid,LPWSTR szIconURL,ULONG cchIconURL,ULONG *pchIconURL,ULONG *pIconResource,LPWSTR szSmallIconURL,ULONG cchSmallIconURL,ULONG *pchSmallIconURL,ULONG *pSmallIconResource,LPWSTR szDefaultDispname,ULONG cchDefaultDispname,ULONG *pchDefaultDispname) PURE;
386 STDMETHOD(GetIfaceRegProps)(THIS_ mdScope scope,mdTypeDef td,DWORD *pdwIfaceSvcs,GUID *pProxyStub) PURE;
387 STDMETHOD(GetResourceProps)(THIS_ mdScope scope,mdResource rs,LPWSTR szURL,ULONG cchURL,ULONG *pchURL) PURE;
388 STDMETHOD(GetCategoryImplProps)(THIS_ mdScope scope,mdCocatImpl cocat,GUID *pguid,DWORD *pdwCocatImplAttr) PURE;
389 STDMETHOD(GetRedirectProgIDProps)(THIS_ mdScope scope,mdProgID progid,LPWSTR szProgID,ULONG cchProgID,ULONG *pchProgID) PURE;
390 STDMETHOD(GetMimeTypeImplProps)(THIS_ mdScope scope,mdMimeTypeImpl mime,LPWSTR szMime,ULONG cchMime,ULONG *pchMime) PURE;
391 STDMETHOD(GetFormatImplProps)(THIS_ mdScope scope,mdFormatImpl format,LPWSTR szFormat,ULONG cchFormat,ULONG *pchFormat,DWORD *pdwRegFormatAttr) PURE;
392 STDMETHOD(GetRoleCheckProps)(THIS_ mdScope scope,mdRoleCheck rc,LPWSTR szName,ULONG cchName,ULONG *pchName,DWORD *pdwRoleFlags) PURE;
393 STDMETHOD(ResolveTypeRef)(THIS_ mdScope is,mdTypeRef tr,mdScope *pes,mdTypeDef *ptd) PURE;
394 };
395#endif
396
397#include <poppack.h>
398
399#ifdef __cplusplus
400}
401#endif
402#endif
Note: See TracBrowser for help on using the repository browser.