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