1 /***********************************************************************\ 2 * oleidl.d * 3 * * 4 * Windows API header module * 5 * * 6 * Translated from MinGW Windows headers * 7 * * 8 * Placed into public domain * 9 \***********************************************************************/ 10 module win32.oleidl; 11 12 // DAC: This is defined in ocidl !! 13 // what is it doing in here? 14 //alias IEnumOleUndoUnits* LPENUMOLEUNDOUNITS; 15 16 private import win32.basetyps, win32.objidl, win32.unknwn, win32.windef, 17 win32.winuser, win32.wtypes; 18 private import win32.objfwd; // for LPMONIKER 19 private import win32.wingdi; // for LPLOGPALETTE 20 21 const MK_ALT = 32; 22 23 enum BINDSPEED { 24 BINDSPEED_INDEFINITE = 1, 25 BINDSPEED_MODERATE, 26 BINDSPEED_IMMEDIATE 27 } 28 29 enum OLEWHICHMK { 30 OLEWHICHMK_CONTAINER = 1, 31 OLEWHICHMK_OBJREL, 32 OLEWHICHMK_OBJFULL 33 } 34 35 enum OLEGETMONIKER { 36 OLEGETMONIKER_ONLYIFTHERE = 1, 37 OLEGETMONIKER_FORCEASSIGN, 38 OLEGETMONIKER_UNASSIGN, 39 OLEGETMONIKER_TEMPFORUSER 40 } 41 42 enum USERCLASSTYPE { 43 USERCLASSTYPE_FULL = 1, 44 USERCLASSTYPE_SHORT, 45 USERCLASSTYPE_APPNAME 46 } 47 48 enum DROPEFFECT { 49 DROPEFFECT_NONE = 0, 50 DROPEFFECT_COPY = 1, 51 DROPEFFECT_MOVE = 2, 52 DROPEFFECT_LINK = 4, 53 DROPEFFECT_SCROLL = 0x80000000 54 } 55 56 struct OLEMENUGROUPWIDTHS { 57 LONG width[6]; 58 } 59 alias OLEMENUGROUPWIDTHS* LPOLEMENUGROUPWIDTHS; 60 61 alias HGLOBAL HOLEMENU; 62 63 enum OLECLOSE { 64 OLECLOSE_SAVEIFDIRTY, 65 OLECLOSE_NOSAVE, 66 OLECLOSE_PROMPTSAVE 67 } 68 69 struct OLEVERB { 70 LONG lVerb; 71 LPWSTR lpszVerbName; 72 DWORD fuFlags; 73 DWORD grfAttribs; 74 } 75 alias OLEVERB* LPOLEVERB; 76 77 alias RECT BORDERWIDTHS; 78 alias LPRECT LPBORDERWIDTHS; 79 alias LPCRECT LPCBORDERWIDTHS; 80 81 struct OLEINPLACEFRAMEINFO { 82 UINT cb; 83 BOOL fMDIApp; 84 HWND hwndFrame; 85 HACCEL haccel; 86 UINT cAccelEntries; 87 } 88 alias OLEINPLACEFRAMEINFO* LPOLEINPLACEFRAMEINFO; 89 90 interface IEnumOLEVERB : IUnknown 91 { 92 HRESULT Next(ULONG,OLEVERB*,ULONG*); 93 HRESULT Skip(ULONG); 94 HRESULT Reset(); 95 HRESULT Clone(IEnumOLEVERB**); 96 } 97 //alias IEnumOLEVERB IEnumOleVerb; 98 alias IEnumOLEVERB LPENUMOLEVERB; 99 100 101 interface IParseDisplayName : IUnknown { 102 HRESULT ParseDisplayName(IBindCtx*,LPOLESTR,ULONG*,IMoniker**); 103 } 104 alias IParseDisplayName LPPARSEDISPLAYNAME; 105 106 interface IOleContainer : IParseDisplayName { 107 HRESULT EnumObjects(DWORD,IEnumUnknown**); 108 HRESULT LockContainer(BOOL); 109 } 110 alias IOleContainer LPOLECONTAINER; 111 112 interface IOleItemContainer : IOleContainer { 113 HRESULT GetObject(LPOLESTR,DWORD,IBindCtx*,REFIID,void**); 114 HRESULT GetObjectStorage(LPOLESTR,IBindCtx*,REFIID,void**); 115 HRESULT IsRunning(LPOLESTR); 116 } 117 118 119 interface IOleClientSite : IUnknown { 120 HRESULT SaveObject(); 121 HRESULT GetMoniker(DWORD,DWORD,LPMONIKER*); 122 HRESULT GetContainer(LPOLECONTAINER*); 123 HRESULT ShowObject(); 124 HRESULT OnShowWindow(BOOL); 125 HRESULT RequestNewObjectLayout(); 126 } 127 alias IOleClientSite LPOLECLIENTSITE; 128 129 interface IOleObject : IUnknown { 130 HRESULT SetClientSite(LPOLECLIENTSITE); 131 HRESULT GetClientSite(LPOLECLIENTSITE*); 132 HRESULT SetHostNames(LPCOLESTR,LPCOLESTR); 133 HRESULT Close(DWORD); 134 HRESULT SetMoniker(DWORD,LPMONIKER); 135 HRESULT GetMoniker(DWORD,DWORD,LPMONIKER*); 136 HRESULT InitFromData(LPDATAOBJECT,BOOL,DWORD); 137 HRESULT GetClipboardData(DWORD,LPDATAOBJECT*); 138 HRESULT DoVerb(LONG,LPMSG,LPOLECLIENTSITE,LONG,HWND,LPCRECT); 139 HRESULT EnumVerbs(LPENUMOLEVERB*); 140 HRESULT Update(); 141 HRESULT IsUpToDate(); 142 HRESULT GetUserClassID(LPCLSID); 143 HRESULT GetUserType(DWORD,LPOLESTR*); 144 HRESULT SetExtent(DWORD,SIZEL*); 145 HRESULT GetExtent(DWORD,SIZEL*); 146 HRESULT Advise(LPADVISESINK,PDWORD); 147 HRESULT Unadvise(DWORD); 148 HRESULT EnumAdvise(LPENUMSTATDATA*); 149 HRESULT GetMiscStatus(DWORD,PDWORD); 150 HRESULT SetColorScheme(LPLOGPALETTE); 151 } 152 alias IOleObject LPOLEOBJECT; 153 154 interface IOleWindow : IUnknown { 155 HRESULT GetWindow(HWND*); 156 HRESULT ContextSensitiveHelp(BOOL); 157 } 158 alias IOleWindow LPOLEWINDOW; 159 160 interface IOleInPlaceUIWindow : IOleWindow { 161 HRESULT GetBorder(LPRECT); 162 HRESULT RequestBorderSpace(LPCBORDERWIDTHS); 163 HRESULT SetBorderSpace(LPCBORDERWIDTHS); 164 HRESULT SetActiveObject(LPOLEINPLACEACTIVEOBJECT,LPCOLESTR); 165 } 166 alias IOleInPlaceUIWindow LPOLEINPLACEUIWINDOW; 167 168 interface IOleInPlaceObject : IOleWindow { 169 HRESULT InPlaceDeactivate(); 170 HRESULT UIDeactivate(); 171 HRESULT SetObjectRects(LPCRECT,LPCRECT); 172 HRESULT ReactivateAndUndo(); 173 } 174 175 176 interface IOleInPlaceActiveObject : IOleWindow { 177 HRESULT TranslateAccelerator(LPMSG); 178 HRESULT OnFrameWindowActivate(BOOL); 179 HRESULT OnDocWindowActivate(BOOL); 180 HRESULT ResizeBorder(LPCRECT,LPOLEINPLACEUIWINDOW,BOOL); 181 HRESULT EnableModeless(BOOL); 182 } 183 alias IOleInPlaceActiveObject LPOLEINPLACEACTIVEOBJECT; 184 185 interface IOleInPlaceFrame : IOleInPlaceUIWindow { 186 HRESULT InsertMenus(HMENU,LPOLEMENUGROUPWIDTHS); 187 HRESULT SetMenu(HMENU,HOLEMENU,HWND); 188 HRESULT RemoveMenus(HMENU); 189 HRESULT SetStatusText(LPCOLESTR); 190 HRESULT EnableModeless(BOOL); 191 HRESULT TranslateAccelerator(LPMSG,WORD); 192 } 193 alias IOleInPlaceFrame LPOLEINPLACEFRAME; 194 195 interface IOleInPlaceSite : IOleWindow { 196 HRESULT CanInPlaceActivate(); 197 HRESULT OnInPlaceActivate(); 198 HRESULT OnUIActivate(); 199 HRESULT GetWindowContext(IOleInPlaceFrame*,IOleInPlaceUIWindow*,LPRECT,LPRECT,LPOLEINPLACEFRAMEINFO); 200 HRESULT Scroll(SIZE); 201 HRESULT OnUIDeactivate(BOOL); 202 HRESULT OnInPlaceDeactivate(); 203 HRESULT DiscardUndoState(); 204 HRESULT DeactivateAndUndo(); 205 HRESULT OnPosRectChange(LPCRECT); 206 } 207 208 interface IOleAdviseHolder : IUnknown { 209 HRESULT Advise(LPADVISESINK,PDWORD); 210 HRESULT Unadvise(DWORD); 211 HRESULT EnumAdvise(LPENUMSTATDATA*); 212 HRESULT SendOnRename(LPMONIKER); 213 HRESULT SendOnSave(); 214 HRESULT SendOnClose(); 215 } 216 alias IOleAdviseHolder LPOLEADVISEHOLDER; 217 218 interface IDropSource : IUnknown { 219 HRESULT QueryContinueDrag(BOOL,DWORD); 220 HRESULT GiveFeedback(DWORD); 221 } 222 alias IDropSource LPDROPSOURCE; 223 224 interface IDropTarget : IUnknown { 225 HRESULT DragEnter(LPDATAOBJECT,DWORD,POINTL,PDWORD); 226 HRESULT DragOver(DWORD,POINTL,PDWORD); 227 HRESULT DragLeave(); 228 HRESULT Drop(LPDATAOBJECT,DWORD,POINTL,PDWORD); 229 } 230 alias IDropTarget LPDROPTARGET; 231 232 extern (Windows) { 233 alias BOOL function(DWORD) __IView_pfncont; 234 } 235 236 interface IViewObject : IUnknown { 237 HRESULT Draw(DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,HDC,LPCRECTL,LPCRECTL,__IView_pfncont pfnContinue,DWORD); 238 HRESULT GetColorSet(DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,LPLOGPALETTE*); 239 HRESULT Freeze(DWORD,LONG,PVOID,PDWORD); 240 HRESULT Unfreeze(DWORD); 241 HRESULT SetAdvise(DWORD,DWORD,IAdviseSink*); 242 HRESULT GetAdvise(PDWORD,PDWORD,IAdviseSink**); 243 } 244 alias IViewObject LPVIEWOBJECT; 245 246 interface IViewObject2 : IViewObject { 247 HRESULT GetExtent(DWORD,LONG,DVTARGETDEVICE*,LPSIZEL); 248 } 249 alias IViewObject2 LPVIEWOBJECT2; 250 251 interface IOleCache : IUnknown { 252 HRESULT Cache(FORMATETC*,DWORD,DWORD*); 253 HRESULT Uncache(DWORD); 254 HRESULT EnumCache(IEnumSTATDATA**); 255 HRESULT InitCache(LPDATAOBJECT); 256 HRESULT SetData(FORMATETC*,STGMEDIUM*,BOOL); 257 } 258 alias IOleCache LPOLECACHE; 259 260 interface IOleCache2 : IOleCache { 261 HRESULT UpdateCache(LPDATAOBJECT,DWORD,LPVOID); 262 HRESULT DiscardCache(DWORD); 263 } 264 alias IOleCache2 LPOLECACHE2; 265 266 interface IOleCacheControl : IUnknown { 267 HRESULT OnRun(LPDATAOBJECT); 268 HRESULT OnStop(); 269 } 270 alias IOleCacheControl LPOLECACHECONTROL;