comparison org.eclipse.swt.win32.win32.x86/src/org/eclipse/swt/internal/ole/win32/extras.d @ 0:6dd524f61e62

add dwt win and basic java stuff
author Frank Benoit <benoit@tionex.de>
date Mon, 02 Mar 2009 14:44:16 +0100
parents
children 4642ab680468
comparison
equal deleted inserted replaced
-1:000000000000 0:6dd524f61e62
1 module org.eclipse.swt.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 org.eclipse.swt.internal.win32.WINTYPES;
11 // private import org.eclipse.swt.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
217 //alias IID *REFIID;
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
279 alias HANDLE HTASK;