diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/win32/olectl.d	Tue Apr 05 20:44:01 2011 +0200
@@ -0,0 +1,398 @@
+/***********************************************************************\
+*                                olectl.d                               *
+*                                                                       *
+*                       Windows API header module                       *
+*                                                                       *
+*                 Translated from MinGW Windows headers                 *
+*                                                                       *
+*                       Placed into public domain                       *
+\***********************************************************************/
+module win32.olectl;
+
+// In conversion from MinGW, the following was deleted:
+//#define FONTSIZE(n) {n##0000, 0}
+
+import win32.ocidl, win32.olectlid;
+private import win32.basetyps, win32.oaidl, win32.oleauto, win32.unknwn,
+  win32.windef, win32.wingdi, win32.winuser, win32.wtypes;
+private import win32.ntdef;     // for NTSTATUS
+private import win32.objfwd;    // for LPSTREAM
+private import win32.winerror;  // for SCODE
+
+
+private {
+	// These replace C macros.
+	template ITF_ERROR_SCODE_FOR_D(int c)
+	{
+		const SCODE ITF_ERROR_SCODE_FOR_D
+		  = (SEVERITY_ERROR << 31) | (FACILITY_ITF << 16) | c;
+	}
+
+	template ITF_SUCCESS_SCODE_FOR_D(int c)
+	{
+		const SCODE ITF_SUCCESS_SCODE_FOR_D
+		  = (SEVERITY_SUCCESS << 31) | (FACILITY_ITF << 16) | c;
+	}
+
+	template STD_CTL_SCODE(int c)
+	{
+		const SCODE STD_CTL_SCODE
+		  = (SEVERITY_ERROR << 31) | (FACILITY_CONTROL << 16) | c;
+	}
+}
+
+enum : SCODE {
+	CTL_E_ILLEGALFUNCTIONCALL       = STD_CTL_SCODE!(5),
+	CTL_E_OVERFLOW                  = STD_CTL_SCODE!(6),
+	CTL_E_OUTOFMEMORY               = STD_CTL_SCODE!(7),
+	CTL_E_DIVISIONBYZERO            = STD_CTL_SCODE!(11),
+	CTL_E_OUTOFSTRINGSPACE          = STD_CTL_SCODE!(14),
+	CTL_E_OUTOFSTACKSPACE           = STD_CTL_SCODE!(28),
+	CTL_E_BADFILENAMEORNUMBER       = STD_CTL_SCODE!(52),
+	CTL_E_FILENOTFOUND              = STD_CTL_SCODE!(53),
+	CTL_E_BADFILEMODE               = STD_CTL_SCODE!(54),
+	CTL_E_FILEALREADYOPEN           = STD_CTL_SCODE!(55),
+	CTL_E_DEVICEIOERROR             = STD_CTL_SCODE!(57),
+	CTL_E_FILEALREADYEXISTS         = STD_CTL_SCODE!(58),
+	CTL_E_BADRECORDLENGTH           = STD_CTL_SCODE!(59),
+	CTL_E_DISKFULL                  = STD_CTL_SCODE!(61),
+	CTL_E_BADRECORDNUMBER           = STD_CTL_SCODE!(63),
+	CTL_E_BADFILENAME               = STD_CTL_SCODE!(64),
+	CTL_E_TOOMANYFILES              = STD_CTL_SCODE!(67),
+	CTL_E_DEVICEUNAVAILABLE         = STD_CTL_SCODE!(68),
+	CTL_E_PERMISSIONDENIED          = STD_CTL_SCODE!(70),
+	CTL_E_DISKNOTREADY              = STD_CTL_SCODE!(71),
+	CTL_E_PATHFILEACCESSERROR       = STD_CTL_SCODE!(75),
+	CTL_E_PATHNOTFOUND              = STD_CTL_SCODE!(76),
+	CTL_E_INVALIDPATTERNSTRING      = STD_CTL_SCODE!(93),
+	CTL_E_INVALIDUSEOFNULL          = STD_CTL_SCODE!(94),
+	CTL_E_INVALIDFILEFORMAT         = STD_CTL_SCODE!(321),
+	CTL_E_INVALIDPROPERTYVALUE      = STD_CTL_SCODE!(380),
+	CTL_E_INVALIDPROPERTYARRAYINDEX = STD_CTL_SCODE!(381),
+	CTL_E_SETNOTSUPPORTEDATRUNTIME  = STD_CTL_SCODE!(382),
+	CTL_E_SETNOTSUPPORTED           = STD_CTL_SCODE!(383),
+	CTL_E_NEEDPROPERTYARRAYINDEX    = STD_CTL_SCODE!(385),
+	CTL_E_SETNOTPERMITTED           = STD_CTL_SCODE!(387),
+	CTL_E_GETNOTSUPPORTEDATRUNTIME  = STD_CTL_SCODE!(393),
+	CTL_E_GETNOTSUPPORTED           = STD_CTL_SCODE!(394),
+	CTL_E_PROPERTYNOTFOUND          = STD_CTL_SCODE!(422),
+	CTL_E_INVALIDCLIPBOARDFORMAT    = STD_CTL_SCODE!(460),
+	CTL_E_INVALIDPICTURE            = STD_CTL_SCODE!(481),
+	CTL_E_PRINTERERROR              = STD_CTL_SCODE!(482),
+	CTL_E_CANTSAVEFILETOTEMP        = STD_CTL_SCODE!(735),
+	CTL_E_SEARCHTEXTNOTFOUND        = STD_CTL_SCODE!(744),
+	CTL_E_REPLACEMENTSTOOLONG       = STD_CTL_SCODE!(746),
+	CTL_E_CUSTOM_FIRST              = STD_CTL_SCODE!(600)
+}
+
+const SCODE CLASS_E_NOTLICENSED = CLASSFACTORY_E_FIRST+2;
+
+enum : SCODE {
+	CONNECT_E_FIRST           = ITF_ERROR_SCODE_FOR_D!(0x200),
+	CONNECT_E_LAST            = ITF_ERROR_SCODE_FOR_D!(0x20F),
+	CONNECT_S_FIRST           = ITF_SUCCESS_SCODE_FOR_D!(0x200),
+	CONNECT_S_LAST            = ITF_SUCCESS_SCODE_FOR_D!(0x20F),
+	CONNECT_E_NOCONNECTION    = CONNECT_E_FIRST + 0,
+	CONNECT_E_ADVISELIMIT     = CONNECT_E_FIRST + 1,
+	CONNECT_E_CANNOTCONNECT   = CONNECT_E_FIRST + 2,
+	CONNECT_E_OVERRIDDEN      = CONNECT_E_FIRST + 3,
+
+	SELFREG_E_FIRST           = ITF_ERROR_SCODE_FOR_D!(0x200),
+	SELFREG_E_LAST            = ITF_ERROR_SCODE_FOR_D!(0x20F),
+	SELFREG_S_FIRST           = ITF_SUCCESS_SCODE_FOR_D!(0x200),
+	SELFREG_S_LAST            = ITF_SUCCESS_SCODE_FOR_D!(0x20F),
+	SELFREG_E_TYPELIB         = SELFREG_E_FIRST + 0,
+	SELFREG_E_CLASS           = SELFREG_E_FIRST + 1,
+
+	PERPROP_E_FIRST           = ITF_ERROR_SCODE_FOR_D!(0x200),
+	PERPROP_E_LAST            = ITF_ERROR_SCODE_FOR_D!(0x20F),
+	PERPROP_S_FIRST           = ITF_SUCCESS_SCODE_FOR_D!(0x200),
+	PERPROP_S_LAST            = ITF_SUCCESS_SCODE_FOR_D!(0x20F),
+	PERPROP_E_NOPAGEAVAILABLE = PERPROP_E_FIRST
+}
+
+enum {
+	OLEMISC_RECOMPOSEONRESIZE            = 0x1,
+	OLEMISC_ONLYICONIC                   = 0x2,
+	OLEMISC_INSERTNOTREPLACE             = 0x4,
+	OLEMISC_STATIC                       = 0x8,
+	OLEMISC_CANTLINKINSIDE               = 0x10,
+	OLEMISC_CANLINKBYOLE1                = 0x20,
+	OLEMISC_ISLINKOBJECT                 = 0x40,
+	OLEMISC_INSIDEOUT                    = 0x80,
+	OLEMISC_ACTIVATEWHENVISIBLE          = 0x100,
+	OLEMISC_RENDERINGISDEVICEINDEPENDENT = 0x200,
+	OLEMISC_INVISIBLEATRUNTIME           = 0x400,
+	OLEMISC_ALWAYSRUN                    = 0x800,
+	OLEMISC_ACTSLIKEBUTTON               = 0x1000,
+	OLEMISC_ACTSLIKELABEL                = 0x2000,
+	OLEMISC_NOUIACTIVATE                 = 0x4000,
+	OLEMISC_ALIGNABLE                    = 0x8000,
+	OLEMISC_SIMPLEFRAME                  = 0x10000,
+	OLEMISC_SETCLIENTSITEFIRST           = 0x20000,
+	OLEMISC_IMEMODE                      = 0x40000,
+	OLEMISC_IGNOREACTIVATEWHENVISIBLE    = 0x80000,
+	OLEMISC_WANTSTOMENUMERGE             = 0x100000,
+	OLEMISC_SUPPORTSMULTILEVELUNDO       = 0x200000
+}
+const OLEIVERB_PROPERTIES = -7;
+
+const VT_STREAMED_PROPSET = 73;
+const VT_STORED_PROPSET = 74;
+const VT_BLOB_PROPSET = 75;
+const VT_VERBOSE_ENUM = 76;
+const VT_COLOR = VARENUM.VT_I4;
+const VT_XPOS_PIXELS = VARENUM.VT_I4;
+const VT_YPOS_PIXELS = VARENUM.VT_I4;
+const VT_XSIZE_PIXELS = VARENUM.VT_I4;
+const VT_YSIZE_PIXELS = VARENUM.VT_I4;
+const VT_XPOS_HIMETRIC = VARENUM.VT_I4;
+const VT_YPOS_HIMETRIC = VARENUM.VT_I4;
+const VT_XSIZE_HIMETRIC = VARENUM.VT_I4;
+const VT_YSIZE_HIMETRIC = VARENUM.VT_I4;
+const VT_TRISTATE = VARENUM.VT_I2;
+const VT_OPTEXCLUSIVE = VARENUM.VT_BOOL;
+const VT_FONT = VARENUM.VT_DISPATCH;
+const VT_PICTURE = VARENUM.VT_DISPATCH;
+const VT_HANDLE = VARENUM.VT_I4;
+
+enum {
+	OCM__BASE = WM_USER + 0x1c00,
+	OCM_COMMAND = OCM__BASE + WM_COMMAND,
+	OCM_CTLCOLORBTN = OCM__BASE + WM_CTLCOLORBTN,
+	OCM_CTLCOLOREDIT = OCM__BASE + WM_CTLCOLOREDIT,
+	OCM_CTLCOLORDLG = OCM__BASE + WM_CTLCOLORDLG,
+	OCM_CTLCOLORLISTBOX = OCM__BASE + WM_CTLCOLORLISTBOX,
+	OCM_CTLCOLORMSGBOX = OCM__BASE + WM_CTLCOLORMSGBOX,
+	OCM_CTLCOLORSCROLLBAR = OCM__BASE + WM_CTLCOLORSCROLLBAR,
+	OCM_CTLCOLORSTATIC = OCM__BASE + WM_CTLCOLORSTATIC,
+	OCM_DRAWITEM = OCM__BASE + WM_DRAWITEM,
+	OCM_MEASUREITEM = OCM__BASE + WM_MEASUREITEM,
+	OCM_DELETEITEM = OCM__BASE + WM_DELETEITEM,
+	OCM_VKEYTOITEM = OCM__BASE + WM_VKEYTOITEM,
+	OCM_CHARTOITEM = OCM__BASE + WM_CHARTOITEM,
+	OCM_COMPAREITEM = OCM__BASE + WM_COMPAREITEM,
+	OCM_HSCROLL = OCM__BASE + WM_HSCROLL,
+	OCM_VSCROLL = OCM__BASE + WM_VSCROLL,
+	OCM_PARENTNOTIFY = OCM__BASE + WM_PARENTNOTIFY,
+	OCM_NOTIFY = OCM__BASE + WM_NOTIFY
+}
+
+enum {
+	CTRLINFO_EATS_RETURN = 1,
+	CTRLINFO_EATS_ESCAPE
+}
+
+enum {
+	XFORMCOORDS_POSITION            = 1,
+	XFORMCOORDS_SIZE                = 2,
+	XFORMCOORDS_HIMETRICTOCONTAINER = 4,
+	XFORMCOORDS_CONTAINERTOHIMETRIC = 8
+}
+
+const GUIDKIND_DEFAULT_SOURCE_DISP_IID = 1;
+
+enum {
+	PROPPAGESTATUS_DIRTY = 1,
+	PROPPAGESTATUS_VALIDATE = 2
+}
+
+enum {
+	PICTURE_SCALABLE = 1,
+	PICTURE_TRANSPARENT = 2
+}
+
+enum {
+	PICTYPE_UNINITIALIZED  =  -1,
+	PICTYPE_NONE,       // = 0
+	PICTYPE_BITMAP,
+	PICTYPE_METAFILE,
+	PICTYPE_ICON,
+	PICTYPE_ENHMETAFILE // = 4
+}
+
+enum {
+	DISPID_AUTOSIZE = -500,
+	DISPID_BACKCOLOR = -501,
+	DISPID_BACKSTYLE = -502,
+	DISPID_BORDERCOLOR = -503,
+	DISPID_BORDERSTYLE = -504,
+	DISPID_BORDERWIDTH = -505,
+	DISPID_DRAWMODE = -507,
+	DISPID_DRAWSTYLE = -508,
+	DISPID_DRAWWIDTH = -509,
+	DISPID_FILLCOLOR = -510,
+	DISPID_FILLSTYLE = -511,
+	DISPID_FONT = -512,
+	DISPID_FORECOLOR = -513,
+	DISPID_ENABLED = -514,
+	DISPID_HWND = -515,
+	DISPID_TABSTOP = -516,
+	DISPID_TEXT = -517,
+	DISPID_CAPTION = -518,
+	DISPID_BORDERVISIBLE = -519,
+	DISPID_APPEARANCE = -520,
+	DISPID_MOUSEPOINTER = -521,
+	DISPID_MOUSEICON = -522,
+	DISPID_PICTURE = -523,
+	DISPID_VALID = -524,
+	DISPID_REFRESH = -550,
+	DISPID_DOCLICK = -551,
+	DISPID_ABOUTBOX = -552,
+	DISPID_CLICK = -600,
+	DISPID_DBLCLICK = -601,
+	DISPID_KEYDOWN = -602,
+	DISPID_KEYPRESS = -603,
+	DISPID_KEYUP = -604,
+	DISPID_MOUSEDOWN = -605,
+	DISPID_MOUSEMOVE = -606,
+	DISPID_MOUSEUP = -607,
+	DISPID_ERROREVENT = -608,
+	DISPID_AMBIENT_BACKCOLOR = -701,
+	DISPID_AMBIENT_DISPLAYNAME = -702,
+	DISPID_AMBIENT_FONT = -703,
+	DISPID_AMBIENT_FORECOLOR = -704,
+	DISPID_AMBIENT_LOCALEID = -705,
+	DISPID_AMBIENT_MESSAGEREFLECT = -706,
+	DISPID_AMBIENT_SCALEUNITS = -707,
+	DISPID_AMBIENT_TEXTALIGN = -708,
+	DISPID_AMBIENT_USERMODE = -709,
+	DISPID_AMBIENT_UIDEAD = -710,
+	DISPID_AMBIENT_SHOWGRABHANDLES = -711,
+	DISPID_AMBIENT_SHOWHATCHING = -712,
+	DISPID_AMBIENT_DISPLAYASDEFAULT = -713,
+	DISPID_AMBIENT_SUPPORTSMNEMONICS = -714,
+	DISPID_AMBIENT_AUTOCLIP = -715,
+	DISPID_AMBIENT_APPEARANCE = -716,
+	DISPID_AMBIENT_CODEPAGE = -725,
+	DISPID_AMBIENT_PALETTE = -726,
+	DISPID_AMBIENT_CHARSET = -727,
+	DISPID_AMBIENT_RIGHTTOLEFT = -732,
+	DISPID_AMBIENT_TOPTOBOTTOM = -733
+}
+
+enum {
+	DISPID_FONT_NAME = 0,
+	DISPID_FONT_SIZE = 2,
+	DISPID_FONT_BOLD,
+	DISPID_FONT_ITALIC,
+	DISPID_FONT_UNDER,
+	DISPID_FONT_STRIKE,
+	DISPID_FONT_WEIGHT,
+	DISPID_FONT_CHARSET // = 8
+}
+
+enum {
+	DISPID_PICT_HANDLE = 0,
+	DISPID_PICT_HPAL   = 2,
+	DISPID_PICT_TYPE,
+	DISPID_PICT_WIDTH,
+	DISPID_PICT_HEIGHT,
+	DISPID_PICT_RENDER // = 6
+}
+
+alias IOleControl *LPOLECONTROL;
+alias IOleControlSite *LPOLECONTROLSITE;
+alias ISimpleFrameSite *LPSIMPLEFRAMESITE;
+alias IPersistPropertyBag *LPPERSISTPROPERTYBAG;
+alias IPersistStreamInit *LPPERSISTSTREAMINIT;
+alias IPersistMemory *LPPERSISTMEMORY;
+alias IPropertyNotifySink* LPPROPERTYNOTIFYSINK;
+alias IProvideClassInfo *LPPROVIDECLASSINFO;
+alias IProvideClassInfo2 *LPPROVIDECLASSINFO2;
+alias IConnectionPointContainer *LPCONNECTIONPOINTCONTAINER;
+alias IClassFactory2 *LPCLASSFACTORY2;
+alias ISpecifyPropertyPages *LPSPECIFYPROPERTYPAGES;
+alias IPerPropertyBrowsing *LPPERPROPERTYBROWSING;
+alias IPropertyPage *LPPROPERTYPAGE;
+alias IPropertyPage2 *LPPROPERTYPAGE2;
+
+alias IPicture *LPPICTURE;
+alias IPictureDisp *LPPICTUREDISP;
+alias int OLE_XPOS_PIXELS;
+alias int OLE_YPOS_PIXELS;
+alias int OLE_XSIZE_PIXELS;
+alias int OLE_YSIZE_PIXELS;
+alias float OLE_XPOS_CONTAINER;
+alias float OLE_YPOS_CONTAINER;
+alias float OLE_XSIZE_CONTAINER;
+
+alias VARIANT_BOOL OLE_OPTEXCLUSIVE;
+alias VARIANT_BOOL OLE_CANCELBOOL;
+alias VARIANT_BOOL OLE_ENABLEDEFAULTBOOL;
+
+align(8):
+
+enum OLE_TRISTATE {
+	triUnchecked,
+	triChecked1,
+	triGray
+}
+
+struct OCPFIPARAMS {
+	ULONG cbStructSize;
+	HWND hWndOwner;
+	int x;
+	int y;
+	LPCOLESTR lpszCaption;
+	ULONG cObjects;
+	LPUNKNOWN *lplpUnk;
+	ULONG cPages;
+	CLSID *lpPages;
+	LCID lcid;
+	DISPID dispidInitialProperty;
+}
+alias OCPFIPARAMS* LPOCPFIPARAMS;
+
+struct FONTDESC {
+	UINT cbSizeofstruct;
+	LPOLESTR lpstrName;
+	CY cySize;
+	SHORT sWeight;
+	SHORT sCharset;
+	BOOL fItalic;
+	BOOL fUnderline;
+	BOOL fStrikethrough;
+}
+alias FONTDESC* LPFONTDESC;
+
+struct PICTDESC
+{
+	UINT cbSizeofstruct;
+	UINT picType;
+	union {
+		struct bmp {
+			HBITMAP hbitmap;
+			HPALETTE hpal;
+		}
+		struct wmf {
+			HMETAFILE hmeta;
+			int xExt;
+			int yExt;
+		}
+		struct icon {
+			HICON hicon;
+		}
+		struct emf {
+			HENHMETAFILE hemf;
+		}
+	}
+}
+alias PICTDESC* LPPICTDESC;
+
+extern(Windows) {
+	HRESULT DllRegisterServer();
+	HRESULT DllUnregisterServer();
+	HRESULT OleCreateFontIndirect(LPFONTDESC, REFIID, PVOID*);
+	HRESULT OleCreatePictureIndirect(LPPICTDESC, REFIID, BOOL, PVOID*);
+	HRESULT OleCreatePropertyFrame(HWND, UINT, UINT, LPCOLESTR, ULONG, LPUNKNOWN*, ULONG, LPCLSID, LCID, DWORD, PVOID);
+	HRESULT OleCreatePropertyFrameIndirect(LPOCPFIPARAMS);
+	HCURSOR OleIconToCursor(HINSTANCE, HICON);
+	HRESULT OleLoadPicture(LPSTREAM, LONG, BOOL, REFIID, PVOID*);
+	HRESULT OleLoadPictureEx(LPSTREAM, LONG, BOOL, REFIID, DWORD, DWORD, DWORD, LPVOID*);
+	HRESULT OleLoadPicturePath(LPOLESTR, LPUNKNOWN, DWORD, OLE_COLOR, REFIID, LPVOID*);
+	HRESULT OleLoadPictureFile(VARIANT, LPDISPATCH*);
+	HRESULT OleLoadPictureFileEx(VARIANT, DWORD, DWORD, DWORD, LPDISPATCH*);
+	HRESULT OleSavePictureFile(LPDISPATCH, BSTR);
+	HRESULT OleTranslateColor(OLE_COLOR, HPALETTE, COLORREF*);
+}