comparison win32/olectl.d @ 1:4a9dcbd9e54f

-files of 0.13 beta -fixes so that it now compiles with the current dmd version
author marton@basel.hu
date Tue, 05 Apr 2011 20:44:01 +0200
parents
children
comparison
equal deleted inserted replaced
0:586e4a649642 1:4a9dcbd9e54f
1 /***********************************************************************\
2 * olectl.d *
3 * *
4 * Windows API header module *
5 * *
6 * Translated from MinGW Windows headers *
7 * *
8 * Placed into public domain *
9 \***********************************************************************/
10 module win32.olectl;
11
12 // In conversion from MinGW, the following was deleted:
13 //#define FONTSIZE(n) {n##0000, 0}
14
15 import win32.ocidl, win32.olectlid;
16 private import win32.basetyps, win32.oaidl, win32.oleauto, win32.unknwn,
17 win32.windef, win32.wingdi, win32.winuser, win32.wtypes;
18 private import win32.ntdef; // for NTSTATUS
19 private import win32.objfwd; // for LPSTREAM
20 private import win32.winerror; // for SCODE
21
22
23 private {
24 // These replace C macros.
25 template ITF_ERROR_SCODE_FOR_D(int c)
26 {
27 const SCODE ITF_ERROR_SCODE_FOR_D
28 = (SEVERITY_ERROR << 31) | (FACILITY_ITF << 16) | c;
29 }
30
31 template ITF_SUCCESS_SCODE_FOR_D(int c)
32 {
33 const SCODE ITF_SUCCESS_SCODE_FOR_D
34 = (SEVERITY_SUCCESS << 31) | (FACILITY_ITF << 16) | c;
35 }
36
37 template STD_CTL_SCODE(int c)
38 {
39 const SCODE STD_CTL_SCODE
40 = (SEVERITY_ERROR << 31) | (FACILITY_CONTROL << 16) | c;
41 }
42 }
43
44 enum : SCODE {
45 CTL_E_ILLEGALFUNCTIONCALL = STD_CTL_SCODE!(5),
46 CTL_E_OVERFLOW = STD_CTL_SCODE!(6),
47 CTL_E_OUTOFMEMORY = STD_CTL_SCODE!(7),
48 CTL_E_DIVISIONBYZERO = STD_CTL_SCODE!(11),
49 CTL_E_OUTOFSTRINGSPACE = STD_CTL_SCODE!(14),
50 CTL_E_OUTOFSTACKSPACE = STD_CTL_SCODE!(28),
51 CTL_E_BADFILENAMEORNUMBER = STD_CTL_SCODE!(52),
52 CTL_E_FILENOTFOUND = STD_CTL_SCODE!(53),
53 CTL_E_BADFILEMODE = STD_CTL_SCODE!(54),
54 CTL_E_FILEALREADYOPEN = STD_CTL_SCODE!(55),
55 CTL_E_DEVICEIOERROR = STD_CTL_SCODE!(57),
56 CTL_E_FILEALREADYEXISTS = STD_CTL_SCODE!(58),
57 CTL_E_BADRECORDLENGTH = STD_CTL_SCODE!(59),
58 CTL_E_DISKFULL = STD_CTL_SCODE!(61),
59 CTL_E_BADRECORDNUMBER = STD_CTL_SCODE!(63),
60 CTL_E_BADFILENAME = STD_CTL_SCODE!(64),
61 CTL_E_TOOMANYFILES = STD_CTL_SCODE!(67),
62 CTL_E_DEVICEUNAVAILABLE = STD_CTL_SCODE!(68),
63 CTL_E_PERMISSIONDENIED = STD_CTL_SCODE!(70),
64 CTL_E_DISKNOTREADY = STD_CTL_SCODE!(71),
65 CTL_E_PATHFILEACCESSERROR = STD_CTL_SCODE!(75),
66 CTL_E_PATHNOTFOUND = STD_CTL_SCODE!(76),
67 CTL_E_INVALIDPATTERNSTRING = STD_CTL_SCODE!(93),
68 CTL_E_INVALIDUSEOFNULL = STD_CTL_SCODE!(94),
69 CTL_E_INVALIDFILEFORMAT = STD_CTL_SCODE!(321),
70 CTL_E_INVALIDPROPERTYVALUE = STD_CTL_SCODE!(380),
71 CTL_E_INVALIDPROPERTYARRAYINDEX = STD_CTL_SCODE!(381),
72 CTL_E_SETNOTSUPPORTEDATRUNTIME = STD_CTL_SCODE!(382),
73 CTL_E_SETNOTSUPPORTED = STD_CTL_SCODE!(383),
74 CTL_E_NEEDPROPERTYARRAYINDEX = STD_CTL_SCODE!(385),
75 CTL_E_SETNOTPERMITTED = STD_CTL_SCODE!(387),
76 CTL_E_GETNOTSUPPORTEDATRUNTIME = STD_CTL_SCODE!(393),
77 CTL_E_GETNOTSUPPORTED = STD_CTL_SCODE!(394),
78 CTL_E_PROPERTYNOTFOUND = STD_CTL_SCODE!(422),
79 CTL_E_INVALIDCLIPBOARDFORMAT = STD_CTL_SCODE!(460),
80 CTL_E_INVALIDPICTURE = STD_CTL_SCODE!(481),
81 CTL_E_PRINTERERROR = STD_CTL_SCODE!(482),
82 CTL_E_CANTSAVEFILETOTEMP = STD_CTL_SCODE!(735),
83 CTL_E_SEARCHTEXTNOTFOUND = STD_CTL_SCODE!(744),
84 CTL_E_REPLACEMENTSTOOLONG = STD_CTL_SCODE!(746),
85 CTL_E_CUSTOM_FIRST = STD_CTL_SCODE!(600)
86 }
87
88 const SCODE CLASS_E_NOTLICENSED = CLASSFACTORY_E_FIRST+2;
89
90 enum : SCODE {
91 CONNECT_E_FIRST = ITF_ERROR_SCODE_FOR_D!(0x200),
92 CONNECT_E_LAST = ITF_ERROR_SCODE_FOR_D!(0x20F),
93 CONNECT_S_FIRST = ITF_SUCCESS_SCODE_FOR_D!(0x200),
94 CONNECT_S_LAST = ITF_SUCCESS_SCODE_FOR_D!(0x20F),
95 CONNECT_E_NOCONNECTION = CONNECT_E_FIRST + 0,
96 CONNECT_E_ADVISELIMIT = CONNECT_E_FIRST + 1,
97 CONNECT_E_CANNOTCONNECT = CONNECT_E_FIRST + 2,
98 CONNECT_E_OVERRIDDEN = CONNECT_E_FIRST + 3,
99
100 SELFREG_E_FIRST = ITF_ERROR_SCODE_FOR_D!(0x200),
101 SELFREG_E_LAST = ITF_ERROR_SCODE_FOR_D!(0x20F),
102 SELFREG_S_FIRST = ITF_SUCCESS_SCODE_FOR_D!(0x200),
103 SELFREG_S_LAST = ITF_SUCCESS_SCODE_FOR_D!(0x20F),
104 SELFREG_E_TYPELIB = SELFREG_E_FIRST + 0,
105 SELFREG_E_CLASS = SELFREG_E_FIRST + 1,
106
107 PERPROP_E_FIRST = ITF_ERROR_SCODE_FOR_D!(0x200),
108 PERPROP_E_LAST = ITF_ERROR_SCODE_FOR_D!(0x20F),
109 PERPROP_S_FIRST = ITF_SUCCESS_SCODE_FOR_D!(0x200),
110 PERPROP_S_LAST = ITF_SUCCESS_SCODE_FOR_D!(0x20F),
111 PERPROP_E_NOPAGEAVAILABLE = PERPROP_E_FIRST
112 }
113
114 enum {
115 OLEMISC_RECOMPOSEONRESIZE = 0x1,
116 OLEMISC_ONLYICONIC = 0x2,
117 OLEMISC_INSERTNOTREPLACE = 0x4,
118 OLEMISC_STATIC = 0x8,
119 OLEMISC_CANTLINKINSIDE = 0x10,
120 OLEMISC_CANLINKBYOLE1 = 0x20,
121 OLEMISC_ISLINKOBJECT = 0x40,
122 OLEMISC_INSIDEOUT = 0x80,
123 OLEMISC_ACTIVATEWHENVISIBLE = 0x100,
124 OLEMISC_RENDERINGISDEVICEINDEPENDENT = 0x200,
125 OLEMISC_INVISIBLEATRUNTIME = 0x400,
126 OLEMISC_ALWAYSRUN = 0x800,
127 OLEMISC_ACTSLIKEBUTTON = 0x1000,
128 OLEMISC_ACTSLIKELABEL = 0x2000,
129 OLEMISC_NOUIACTIVATE = 0x4000,
130 OLEMISC_ALIGNABLE = 0x8000,
131 OLEMISC_SIMPLEFRAME = 0x10000,
132 OLEMISC_SETCLIENTSITEFIRST = 0x20000,
133 OLEMISC_IMEMODE = 0x40000,
134 OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x80000,
135 OLEMISC_WANTSTOMENUMERGE = 0x100000,
136 OLEMISC_SUPPORTSMULTILEVELUNDO = 0x200000
137 }
138 const OLEIVERB_PROPERTIES = -7;
139
140 const VT_STREAMED_PROPSET = 73;
141 const VT_STORED_PROPSET = 74;
142 const VT_BLOB_PROPSET = 75;
143 const VT_VERBOSE_ENUM = 76;
144 const VT_COLOR = VARENUM.VT_I4;
145 const VT_XPOS_PIXELS = VARENUM.VT_I4;
146 const VT_YPOS_PIXELS = VARENUM.VT_I4;
147 const VT_XSIZE_PIXELS = VARENUM.VT_I4;
148 const VT_YSIZE_PIXELS = VARENUM.VT_I4;
149 const VT_XPOS_HIMETRIC = VARENUM.VT_I4;
150 const VT_YPOS_HIMETRIC = VARENUM.VT_I4;
151 const VT_XSIZE_HIMETRIC = VARENUM.VT_I4;
152 const VT_YSIZE_HIMETRIC = VARENUM.VT_I4;
153 const VT_TRISTATE = VARENUM.VT_I2;
154 const VT_OPTEXCLUSIVE = VARENUM.VT_BOOL;
155 const VT_FONT = VARENUM.VT_DISPATCH;
156 const VT_PICTURE = VARENUM.VT_DISPATCH;
157 const VT_HANDLE = VARENUM.VT_I4;
158
159 enum {
160 OCM__BASE = WM_USER + 0x1c00,
161 OCM_COMMAND = OCM__BASE + WM_COMMAND,
162 OCM_CTLCOLORBTN = OCM__BASE + WM_CTLCOLORBTN,
163 OCM_CTLCOLOREDIT = OCM__BASE + WM_CTLCOLOREDIT,
164 OCM_CTLCOLORDLG = OCM__BASE + WM_CTLCOLORDLG,
165 OCM_CTLCOLORLISTBOX = OCM__BASE + WM_CTLCOLORLISTBOX,
166 OCM_CTLCOLORMSGBOX = OCM__BASE + WM_CTLCOLORMSGBOX,
167 OCM_CTLCOLORSCROLLBAR = OCM__BASE + WM_CTLCOLORSCROLLBAR,
168 OCM_CTLCOLORSTATIC = OCM__BASE + WM_CTLCOLORSTATIC,
169 OCM_DRAWITEM = OCM__BASE + WM_DRAWITEM,
170 OCM_MEASUREITEM = OCM__BASE + WM_MEASUREITEM,
171 OCM_DELETEITEM = OCM__BASE + WM_DELETEITEM,
172 OCM_VKEYTOITEM = OCM__BASE + WM_VKEYTOITEM,
173 OCM_CHARTOITEM = OCM__BASE + WM_CHARTOITEM,
174 OCM_COMPAREITEM = OCM__BASE + WM_COMPAREITEM,
175 OCM_HSCROLL = OCM__BASE + WM_HSCROLL,
176 OCM_VSCROLL = OCM__BASE + WM_VSCROLL,
177 OCM_PARENTNOTIFY = OCM__BASE + WM_PARENTNOTIFY,
178 OCM_NOTIFY = OCM__BASE + WM_NOTIFY
179 }
180
181 enum {
182 CTRLINFO_EATS_RETURN = 1,
183 CTRLINFO_EATS_ESCAPE
184 }
185
186 enum {
187 XFORMCOORDS_POSITION = 1,
188 XFORMCOORDS_SIZE = 2,
189 XFORMCOORDS_HIMETRICTOCONTAINER = 4,
190 XFORMCOORDS_CONTAINERTOHIMETRIC = 8
191 }
192
193 const GUIDKIND_DEFAULT_SOURCE_DISP_IID = 1;
194
195 enum {
196 PROPPAGESTATUS_DIRTY = 1,
197 PROPPAGESTATUS_VALIDATE = 2
198 }
199
200 enum {
201 PICTURE_SCALABLE = 1,
202 PICTURE_TRANSPARENT = 2
203 }
204
205 enum {
206 PICTYPE_UNINITIALIZED = -1,
207 PICTYPE_NONE, // = 0
208 PICTYPE_BITMAP,
209 PICTYPE_METAFILE,
210 PICTYPE_ICON,
211 PICTYPE_ENHMETAFILE // = 4
212 }
213
214 enum {
215 DISPID_AUTOSIZE = -500,
216 DISPID_BACKCOLOR = -501,
217 DISPID_BACKSTYLE = -502,
218 DISPID_BORDERCOLOR = -503,
219 DISPID_BORDERSTYLE = -504,
220 DISPID_BORDERWIDTH = -505,
221 DISPID_DRAWMODE = -507,
222 DISPID_DRAWSTYLE = -508,
223 DISPID_DRAWWIDTH = -509,
224 DISPID_FILLCOLOR = -510,
225 DISPID_FILLSTYLE = -511,
226 DISPID_FONT = -512,
227 DISPID_FORECOLOR = -513,
228 DISPID_ENABLED = -514,
229 DISPID_HWND = -515,
230 DISPID_TABSTOP = -516,
231 DISPID_TEXT = -517,
232 DISPID_CAPTION = -518,
233 DISPID_BORDERVISIBLE = -519,
234 DISPID_APPEARANCE = -520,
235 DISPID_MOUSEPOINTER = -521,
236 DISPID_MOUSEICON = -522,
237 DISPID_PICTURE = -523,
238 DISPID_VALID = -524,
239 DISPID_REFRESH = -550,
240 DISPID_DOCLICK = -551,
241 DISPID_ABOUTBOX = -552,
242 DISPID_CLICK = -600,
243 DISPID_DBLCLICK = -601,
244 DISPID_KEYDOWN = -602,
245 DISPID_KEYPRESS = -603,
246 DISPID_KEYUP = -604,
247 DISPID_MOUSEDOWN = -605,
248 DISPID_MOUSEMOVE = -606,
249 DISPID_MOUSEUP = -607,
250 DISPID_ERROREVENT = -608,
251 DISPID_AMBIENT_BACKCOLOR = -701,
252 DISPID_AMBIENT_DISPLAYNAME = -702,
253 DISPID_AMBIENT_FONT = -703,
254 DISPID_AMBIENT_FORECOLOR = -704,
255 DISPID_AMBIENT_LOCALEID = -705,
256 DISPID_AMBIENT_MESSAGEREFLECT = -706,
257 DISPID_AMBIENT_SCALEUNITS = -707,
258 DISPID_AMBIENT_TEXTALIGN = -708,
259 DISPID_AMBIENT_USERMODE = -709,
260 DISPID_AMBIENT_UIDEAD = -710,
261 DISPID_AMBIENT_SHOWGRABHANDLES = -711,
262 DISPID_AMBIENT_SHOWHATCHING = -712,
263 DISPID_AMBIENT_DISPLAYASDEFAULT = -713,
264 DISPID_AMBIENT_SUPPORTSMNEMONICS = -714,
265 DISPID_AMBIENT_AUTOCLIP = -715,
266 DISPID_AMBIENT_APPEARANCE = -716,
267 DISPID_AMBIENT_CODEPAGE = -725,
268 DISPID_AMBIENT_PALETTE = -726,
269 DISPID_AMBIENT_CHARSET = -727,
270 DISPID_AMBIENT_RIGHTTOLEFT = -732,
271 DISPID_AMBIENT_TOPTOBOTTOM = -733
272 }
273
274 enum {
275 DISPID_FONT_NAME = 0,
276 DISPID_FONT_SIZE = 2,
277 DISPID_FONT_BOLD,
278 DISPID_FONT_ITALIC,
279 DISPID_FONT_UNDER,
280 DISPID_FONT_STRIKE,
281 DISPID_FONT_WEIGHT,
282 DISPID_FONT_CHARSET // = 8
283 }
284
285 enum {
286 DISPID_PICT_HANDLE = 0,
287 DISPID_PICT_HPAL = 2,
288 DISPID_PICT_TYPE,
289 DISPID_PICT_WIDTH,
290 DISPID_PICT_HEIGHT,
291 DISPID_PICT_RENDER // = 6
292 }
293
294 alias IOleControl *LPOLECONTROL;
295 alias IOleControlSite *LPOLECONTROLSITE;
296 alias ISimpleFrameSite *LPSIMPLEFRAMESITE;
297 alias IPersistPropertyBag *LPPERSISTPROPERTYBAG;
298 alias IPersistStreamInit *LPPERSISTSTREAMINIT;
299 alias IPersistMemory *LPPERSISTMEMORY;
300 alias IPropertyNotifySink* LPPROPERTYNOTIFYSINK;
301 alias IProvideClassInfo *LPPROVIDECLASSINFO;
302 alias IProvideClassInfo2 *LPPROVIDECLASSINFO2;
303 alias IConnectionPointContainer *LPCONNECTIONPOINTCONTAINER;
304 alias IClassFactory2 *LPCLASSFACTORY2;
305 alias ISpecifyPropertyPages *LPSPECIFYPROPERTYPAGES;
306 alias IPerPropertyBrowsing *LPPERPROPERTYBROWSING;
307 alias IPropertyPage *LPPROPERTYPAGE;
308 alias IPropertyPage2 *LPPROPERTYPAGE2;
309
310 alias IPicture *LPPICTURE;
311 alias IPictureDisp *LPPICTUREDISP;
312 alias int OLE_XPOS_PIXELS;
313 alias int OLE_YPOS_PIXELS;
314 alias int OLE_XSIZE_PIXELS;
315 alias int OLE_YSIZE_PIXELS;
316 alias float OLE_XPOS_CONTAINER;
317 alias float OLE_YPOS_CONTAINER;
318 alias float OLE_XSIZE_CONTAINER;
319
320 alias VARIANT_BOOL OLE_OPTEXCLUSIVE;
321 alias VARIANT_BOOL OLE_CANCELBOOL;
322 alias VARIANT_BOOL OLE_ENABLEDEFAULTBOOL;
323
324 align(8):
325
326 enum OLE_TRISTATE {
327 triUnchecked,
328 triChecked1,
329 triGray
330 }
331
332 struct OCPFIPARAMS {
333 ULONG cbStructSize;
334 HWND hWndOwner;
335 int x;
336 int y;
337 LPCOLESTR lpszCaption;
338 ULONG cObjects;
339 LPUNKNOWN *lplpUnk;
340 ULONG cPages;
341 CLSID *lpPages;
342 LCID lcid;
343 DISPID dispidInitialProperty;
344 }
345 alias OCPFIPARAMS* LPOCPFIPARAMS;
346
347 struct FONTDESC {
348 UINT cbSizeofstruct;
349 LPOLESTR lpstrName;
350 CY cySize;
351 SHORT sWeight;
352 SHORT sCharset;
353 BOOL fItalic;
354 BOOL fUnderline;
355 BOOL fStrikethrough;
356 }
357 alias FONTDESC* LPFONTDESC;
358
359 struct PICTDESC
360 {
361 UINT cbSizeofstruct;
362 UINT picType;
363 union {
364 struct bmp {
365 HBITMAP hbitmap;
366 HPALETTE hpal;
367 }
368 struct wmf {
369 HMETAFILE hmeta;
370 int xExt;
371 int yExt;
372 }
373 struct icon {
374 HICON hicon;
375 }
376 struct emf {
377 HENHMETAFILE hemf;
378 }
379 }
380 }
381 alias PICTDESC* LPPICTDESC;
382
383 extern(Windows) {
384 HRESULT DllRegisterServer();
385 HRESULT DllUnregisterServer();
386 HRESULT OleCreateFontIndirect(LPFONTDESC, REFIID, PVOID*);
387 HRESULT OleCreatePictureIndirect(LPPICTDESC, REFIID, BOOL, PVOID*);
388 HRESULT OleCreatePropertyFrame(HWND, UINT, UINT, LPCOLESTR, ULONG, LPUNKNOWN*, ULONG, LPCLSID, LCID, DWORD, PVOID);
389 HRESULT OleCreatePropertyFrameIndirect(LPOCPFIPARAMS);
390 HCURSOR OleIconToCursor(HINSTANCE, HICON);
391 HRESULT OleLoadPicture(LPSTREAM, LONG, BOOL, REFIID, PVOID*);
392 HRESULT OleLoadPictureEx(LPSTREAM, LONG, BOOL, REFIID, DWORD, DWORD, DWORD, LPVOID*);
393 HRESULT OleLoadPicturePath(LPOLESTR, LPUNKNOWN, DWORD, OLE_COLOR, REFIID, LPVOID*);
394 HRESULT OleLoadPictureFile(VARIANT, LPDISPATCH*);
395 HRESULT OleLoadPictureFileEx(VARIANT, DWORD, DWORD, DWORD, LPDISPATCH*);
396 HRESULT OleSavePictureFile(LPDISPATCH, BSTR);
397 HRESULT OleTranslateColor(OLE_COLOR, HPALETTE, COLORREF*);
398 }