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