Mercurial > projects > dwt-win
annotate dwt/internal/ole/win32/extras.d @ 237:e2affbeb686d
Making tango.sys.win32.Types and dwt.internal.win32.WINTYPES to match common declaration. Make ansi charactars of type ubyte.
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Thu, 19 Jun 2008 03:25:36 +0200 |
parents | 2e6eb5bd2c16 |
children |
rev | line source |
---|---|
97 | 1 module dwt.internal.ole.win32.extras; |
2 | |
3 // | |
4 // extra bits form here and there to bring the com alias inline with MS | |
5 // to ease the porting. | |
6 // | |
7 | |
8 //public import std.c.windows.com; | |
9 //public import std.c.windows.windows; | |
10 import dwt.internal.win32.WINTYPES; | |
11 // private import dwt.internal.ole.win32.comtypes; | |
12 alias WCHAR OLECHAR; | |
13 alias OLECHAR *LPOLESTR; | |
14 alias OLECHAR *LPCOLESTR; | |
15 | |
16 enum | |
17 { | |
18 rmm = 23, // OLE 2 version number info | |
19 rup = 639, | |
20 } | |
21 | |
22 enum : int | |
23 { | |
24 S_OK = 0, | |
25 S_FALSE = 0x00000001, | |
26 NOERROR = 0, | |
27 E_NOTIMPL = cast(int)0x80004001, | |
28 E_NOINTERFACE = cast(int)0x80004002, | |
29 E_POINTER = cast(int)0x80004003, | |
30 E_ABORT = cast(int)0x80004004, | |
31 E_FAIL = cast(int)0x80004005, | |
32 E_HANDLE = cast(int)0x80070006, | |
33 CLASS_E_NOAGGREGATION = cast(int)0x80040110, | |
34 E_OUTOFMEMORY = cast(int)0x8007000E, | |
35 E_INVALIDARG = cast(int)0x80070057, | |
36 E_UNEXPECTED = cast(int)0x8000FFFF, | |
37 } | |
38 | |
39 // in tango types.di | |
40 // struct GUID { // size is 16 | |
41 // align(1): | |
42 // DWORD Data1; | |
43 // WORD Data2; | |
44 // WORD Data3; | |
45 // BYTE Data4[8]; | |
46 // } | |
47 | |
48 enum | |
49 { | |
50 CLSCTX_INPROC_SERVER = 0x1, | |
51 CLSCTX_INPROC_HANDLER = 0x2, | |
52 CLSCTX_LOCAL_SERVER = 0x4, | |
53 CLSCTX_INPROC_SERVER16 = 0x8, | |
54 CLSCTX_REMOTE_SERVER = 0x10, | |
55 CLSCTX_INPROC_HANDLER16 = 0x20, | |
56 CLSCTX_INPROC_SERVERX86 = 0x40, | |
57 CLSCTX_INPROC_HANDLERX86 = 0x80, | |
58 | |
59 CLSCTX_INPROC = (CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER), | |
60 CLSCTX_ALL = (CLSCTX_INPROC_SERVER| CLSCTX_INPROC_HANDLER| CLSCTX_LOCAL_SERVER), | |
61 CLSCTX_SERVER = (CLSCTX_INPROC_SERVER|CLSCTX_LOCAL_SERVER), | |
62 } | |
63 | |
64 alias GUID IID; | |
65 alias GUID CLSID; | |
66 | |
67 extern (C) | |
68 { | |
69 extern IID IID_IUnknown; | |
70 extern IID IID_IClassFactory; | |
71 extern IID IID_IMarshal; | |
72 extern IID IID_IMallocSpy; | |
73 extern IID IID_IStdMarshalInfo; | |
74 extern IID IID_IExternalConnection; | |
75 extern IID IID_IMultiQI; | |
76 extern IID IID_IEnumUnknown; | |
77 extern IID IID_IBindCtx; | |
78 extern IID IID_IEnumMoniker; | |
79 extern IID IID_IRunnableObject; | |
80 extern IID IID_IRunningObjectTable; | |
81 extern IID IID_IPersist; | |
82 extern IID IID_IPersistStream; | |
83 extern IID IID_IMoniker; | |
84 extern IID IID_IROTData; | |
85 extern IID IID_IEnumString; | |
86 extern IID IID_ISequentialStream; | |
87 extern IID IID_IStream; | |
88 extern IID IID_IEnumSTATSTG; | |
89 extern IID IID_IStorage; | |
90 extern IID IID_IPersistFile; | |
91 extern IID IID_IPersistStorage; | |
92 extern IID IID_ILockBytes; | |
93 extern IID IID_IEnumFORMATETC; | |
94 extern IID IID_IEnumSTATDATA; | |
95 extern IID IID_IRootStorage; | |
96 extern IID IID_IAdviseSink; | |
97 extern IID IID_IAdviseSink2; | |
98 extern IID IID_IDataObject; | |
99 extern IID IID_IDataAdviseHolder; | |
100 extern IID IID_IMessageFilter; | |
101 extern IID IID_IRpcChannelBuffer; | |
102 extern IID IID_IRpcProxyBuffer; | |
103 extern IID IID_IRpcStubBuffer; | |
104 extern IID IID_IPSFactoryBuffer; | |
105 extern IID IID_IPropertyStorage; | |
106 extern IID IID_IPropertySetStorage; | |
107 extern IID IID_IEnumSTATPROPSTG; | |
108 extern IID IID_IEnumSTATPROPSETSTG; | |
109 extern IID IID_IFillLockBytes; | |
110 extern IID IID_IProgressNotify; | |
111 extern IID IID_ILayoutStorage; | |
112 extern IID GUID_NULL; | |
113 extern IID IID_IRpcChannel; | |
114 extern IID IID_IRpcStub; | |
115 extern IID IID_IStubManager; | |
116 extern IID IID_IRpcProxy; | |
117 extern IID IID_IProxyManager; | |
118 extern IID IID_IPSFactory; | |
119 extern IID IID_IInternalMoniker; | |
120 extern IID IID_IDfReserved1; | |
121 extern IID IID_IDfReserved2; | |
122 extern IID IID_IDfReserved3; | |
123 extern IID IID_IStub; | |
124 extern IID IID_IProxy; | |
125 extern IID IID_IEnumGeneric; | |
126 extern IID IID_IEnumHolder; | |
127 extern IID IID_IEnumCallback; | |
128 extern IID IID_IOleManager; | |
129 extern IID IID_IOlePresObj; | |
130 extern IID IID_IDebug; | |
131 extern IID IID_IDebugStream; | |
132 extern IID IID_StdOle; | |
133 extern IID IID_ICreateTypeInfo; | |
134 extern IID IID_ICreateTypeInfo2; | |
135 extern IID IID_ICreateTypeLib; | |
136 extern IID IID_ICreateTypeLib2; | |
137 extern IID IID_IDispatch; | |
138 extern IID IID_IEnumVARIANT; | |
139 extern IID IID_ITypeComp; | |
140 extern IID IID_ITypeInfo; | |
141 extern IID IID_ITypeInfo2; | |
142 extern IID IID_ITypeLib; | |
143 extern IID IID_ITypeLib2; | |
144 extern IID IID_ITypeChangeEvents; | |
145 extern IID IID_IErrorInfo; | |
146 extern IID IID_ICreateErrorInfo; | |
147 extern IID IID_ISupportErrorInfo; | |
148 extern IID IID_IOleAdviseHolder; | |
149 extern IID IID_IOleCache; | |
150 extern IID IID_IOleCache2; | |
151 extern IID IID_IOleCacheControl; | |
152 extern IID IID_IParseDisplayName; | |
153 extern IID IID_IOleContainer; | |
154 extern IID IID_IOleClientSite; | |
155 extern IID IID_IOleObject; | |
156 extern IID IID_IOleWindow; | |
157 extern IID IID_IOleLink; | |
158 extern IID IID_IOleItemContainer; | |
159 extern IID IID_IOleInPlaceUIWindow; | |
160 extern IID IID_IOleInPlaceActiveObject; | |
161 extern IID IID_IOleInPlaceFrame; | |
162 extern IID IID_IOleInPlaceObject; | |
163 extern IID IID_IOleInPlaceSite; | |
164 extern IID IID_IContinue; | |
165 extern IID IID_IViewObject; | |
166 extern IID IID_IViewObject2; | |
167 extern IID IID_IDropSource; | |
168 extern IID IID_IDropTarget; | |
169 extern IID IID_IEnumOLEVERB; | |
170 } | |
171 | |
172 extern (Windows) export { | |
173 DWORD CoBuildVersion(); | |
174 | |
175 int StringFromGUID2(GUID *rguid, LPOLESTR lpsz, int cbMax); | |
176 | |
177 /* init/uninit */ | |
178 | |
179 HRESULT CoInitialize(LPVOID pvReserved); | |
180 void CoUninitialize(); | |
181 DWORD CoGetCurrentProcess(); | |
182 | |
183 | |
184 HRESULT CoCreateInstance(CLSID *rclsid, IUnknown UnkOuter, | |
185 DWORD dwClsContext, IID* riid, void* ppv); | |
186 | |
187 //HINSTANCE CoLoadLibrary(LPOLESTR lpszLibName, BOOL bAutoFree); | |
188 void CoFreeLibrary(HINSTANCE hInst); | |
189 void CoFreeAllLibraries(); | |
190 void CoFreeUnusedLibraries(); | |
191 | |
192 interface IUnknown { | |
193 HRESULT QueryInterface(IID* riid, void** pvObject); | |
194 ULONG AddRef(); | |
195 ULONG Release(); | |
196 } | |
197 | |
198 interface IClassFactory : IUnknown { | |
199 HRESULT CreateInstance(IUnknown UnkOuter, IID* riid, void** pvObject); | |
200 HRESULT LockServer(BOOL fLock); | |
201 } | |
202 | |
203 } | |
204 | |
205 | |
206 alias IUnknown LPUNKNOWN; | |
207 alias IClassFactory LPCLASSFACTORY; | |
208 | |
209 //alias LPRECT LPCRECT; /* D has no consts */ | |
210 struct COAUTHINFO{} | |
211 //alias DWORD LCID; | |
212 alias PDWORD PLCID; | |
213 //typedef GUID CLSID; | |
214 //alias CLSID * LPCLSID; | |
215 alias GUID *REFGUID; | |
216 | |
237
e2affbeb686d
Making tango.sys.win32.Types and dwt.internal.win32.WINTYPES to match common declaration. Make ansi charactars of type ubyte.
Frank Benoit <benoit@tionex.de>
parents:
97
diff
changeset
|
217 //alias IID *REFIID; |
97 | 218 |
219 alias CLSID *REFCLSID; | |
220 | |
221 //typedef FMTID *REFFMTID; | |
222 union __MIDL_IWinTypes_0001 | |
223 { | |
224 DWORD dwValue; | |
225 wchar *pwszName; | |
226 } | |
227 struct userCLIPFORMAT | |
228 { | |
229 long fContext; | |
230 __MIDL_IWinTypes_0001 u; | |
231 } | |
232 | |
233 alias userCLIPFORMAT *wireCLIPFORMAT; | |
234 | |
235 alias WORD CLIPFORMAT; | |
236 | |
237 alias void * HMETAFILEPICT; | |
238 // typeless hack | |
239 alias void * wireHGLOBAL; | |
240 alias void * wireHBITMAP; | |
241 alias void * wireHPALETTE; | |
242 alias void * wireHENHMETAFILE; | |
243 alias void * wireHMETAFILE; | |
244 alias void * wireHMETAFILEPICT; | |
245 | |
246 struct BYTE_BLOB { | |
247 ULONG clSize; | |
248 byte[1] abData; | |
249 } | |
250 | |
251 alias BYTE_BLOB *UP_BYTE_BLOB; | |
252 | |
253 struct WORD_BLOB | |
254 { | |
255 ULONG clSize; | |
256 ushort[1] asData; | |
257 } | |
258 | |
259 alias WORD_BLOB *UP_WORD_BLOB; | |
260 | |
261 struct DWORD_BLOB | |
262 { | |
263 ULONG clSize; | |
264 ULONG[1] alData; | |
265 } | |
266 alias DWORD_BLOB *UP_DWORD_BLOB; | |
267 alias ushort VARTYPE; | |
268 alias short VARIANT_BOOL; | |
269 | |
270 // all the st | |
271 enum READYSTATE | |
272 { READYSTATE_UNINITIALIZED = 0, | |
273 READYSTATE_LOADING = 1, | |
274 READYSTATE_LOADED = 2, | |
275 READYSTATE_INTERACTIVE = 3, | |
276 READYSTATE_COMPLETE = 4 | |
277 } | |
278 | |
237
e2affbeb686d
Making tango.sys.win32.Types and dwt.internal.win32.WINTYPES to match common declaration. Make ansi charactars of type ubyte.
Frank Benoit <benoit@tionex.de>
parents:
97
diff
changeset
|
279 alias HANDLE HTASK; |