Differences From Artifact [cdcc4f883bee1256]:
- File
src/win32/ocidl.d
- 2015-04-21 10:46:55 - part of checkin [4e2933c620] on branch trunk - Rebased to the latest verson dmd 2.067. Not yet verified the outcome. (user: kinaba) [annotate]
To Artifact [1854c0f4d6ff3178]:
- File
src/win32/ocidl.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
26 // TODO: 26 // TODO:
27 //private import win32.servprov; // for IServiceProvider 27 //private import win32.servprov; // for IServiceProvider
28 // private import win32.urlmon; // for IBindHost. This is not included in MinGW. 28 // private import win32.urlmon; // for IBindHost. This is not included in MinGW.
29 29
30 // win32.urlmon should contain: 30 // win32.urlmon should contain:
31 interface IBindHost : IUnknown 31 interface IBindHost : IUnknown
32 { 32 {
33 HRESULT CreateMoniker(LPOLESTR szName, IBindCtx* pBC, IMoniker** ppmk, D | 33 HRESULT CreateMoniker(LPOLESTR szName, IBindCtx pBC, IMoniker* ppmk, DWO
34 HRESULT MonikerBindToObject(IMoniker* pMk, IBindCtx* pBC, IBindStatusCal | 34 HRESULT MonikerBindToObject(IMoniker pMk, IBindCtx pBC, IBindStatusCallb
35 HRESULT MonikerBindToStorage(IMoniker* pMk, IBindCtx* pBC, IBindStatusCa | 35 HRESULT MonikerBindToStorage(IMoniker pMk, IBindCtx pBC, IBindStatusCall
36 } 36 }
37 */ 37 */
38 38
39 39
40 40
41 41
42 //[Yes] #ifndef OLE2ANSI 42 //[Yes] #ifndef OLE2ANSI
................................................................................................................................................................................
89 QACONTAINER_AUTOCLIP = 32, 89 QACONTAINER_AUTOCLIP = 32,
90 QACONTAINER_MESSAGEREFLECT = 64, 90 QACONTAINER_MESSAGEREFLECT = 64,
91 QACONTAINER_SUPPORTSMNEMONICS = 128 91 QACONTAINER_SUPPORTSMNEMONICS = 128
92 } 92 }
93 93
94 struct QACONTAINER { 94 struct QACONTAINER {
95 ULONG cbSize = this.sizeof; 95 ULONG cbSize = this.sizeof;
96 IOleClientSite* pClientSite; | 96 IOleClientSite pClientSite;
97 IAdviseSinkEx* pAdviseSink; | 97 IAdviseSinkEx pAdviseSink;
98 IPropertyNotifySink* pPropertyNotifySink; | 98 IPropertyNotifySink pPropertyNotifySink;
99 IUnknown* pUnkEventSink; | 99 IUnknown pUnkEventSink;
100 DWORD dwAmbientFlags; 100 DWORD dwAmbientFlags;
101 OLE_COLOR colorFore; 101 OLE_COLOR colorFore;
102 OLE_COLOR colorBack; 102 OLE_COLOR colorBack;
103 IFont* pFont; | 103 IFont pFont;
104 IOleUndoManager* pUndoMgr; | 104 IOleUndoManager pUndoMgr;
105 DWORD dwAppearance; 105 DWORD dwAppearance;
106 LONG lcid; 106 LONG lcid;
107 HPALETTE hpal; 107 HPALETTE hpal;
108 IBindHost* pBindHost; | 108 IBindHost pBindHost;
109 IOleControlSite* pOleControlSite; | 109 IOleControlSite pOleControlSite;
110 IServiceProvider* pServiceProvider; | 110 IServiceProvider pServiceProvider;
111 } 111 }
112 112
113 struct QACONTROL { 113 struct QACONTROL {
114 ULONG cbSize = this.sizeof; 114 ULONG cbSize = this.sizeof;
115 DWORD dwMiscStatus; 115 DWORD dwMiscStatus;
116 DWORD dwViewStatus; 116 DWORD dwViewStatus;
117 DWORD dwEventCookie; 117 DWORD dwEventCookie;
................................................................................................................................................................................
208 alias IPropertyBag LPPROPERTYBAG; 208 alias IPropertyBag LPPROPERTYBAG;
209 209
210 interface IPropertyBag2 : IUnknown { 210 interface IPropertyBag2 : IUnknown {
211 HRESULT Read(ULONG, PROPBAG2*, LPERRORLOG, VARIANT*, HRESULT*); 211 HRESULT Read(ULONG, PROPBAG2*, LPERRORLOG, VARIANT*, HRESULT*);
212 HRESULT Write(ULONG, PROPBAG2*, VARIANT*); 212 HRESULT Write(ULONG, PROPBAG2*, VARIANT*);
213 HRESULT CountProperties(ULONG*); 213 HRESULT CountProperties(ULONG*);
214 HRESULT GetPropertyInfo(ULONG, ULONG, PROPBAG2*, ULONG*); 214 HRESULT GetPropertyInfo(ULONG, ULONG, PROPBAG2*, ULONG*);
215 HRESULT LoadObject(LPCOLESTR, DWORD, IUnknown*, LPERRORLOG); | 215 HRESULT LoadObject(LPCOLESTR, DWORD, IUnknown, LPERRORLOG);
216 } 216 }
217 alias IPropertyBag2 LPPROPERTYBAG2; 217 alias IPropertyBag2 LPPROPERTYBAG2;
218 218
219 interface IPersistPropertyBag : IPersist { 219 interface IPersistPropertyBag : IPersist {
220 HRESULT InitNew(); 220 HRESULT InitNew();
221 HRESULT Load(LPPROPERTYBAG, LPERRORLOG); 221 HRESULT Load(LPPROPERTYBAG, LPERRORLOG);
222 HRESULT Save(LPPROPERTYBAG, BOOL, BOOL); 222 HRESULT Save(LPPROPERTYBAG, BOOL, BOOL);
................................................................................................................................................................................
269 HRESULT Reset(); 269 HRESULT Reset();
270 HRESULT Clone(LPENUMCONNECTIONPOINTS*); 270 HRESULT Clone(LPENUMCONNECTIONPOINTS*);
271 } 271 }
272 alias IEnumConnectionPoints LPENUMCONNECTIONPOINTS; 272 alias IEnumConnectionPoints LPENUMCONNECTIONPOINTS;
273 273
274 interface IConnectionPoint : IUnknown { 274 interface IConnectionPoint : IUnknown {
275 HRESULT GetConnectionInterface(IID*); 275 HRESULT GetConnectionInterface(IID*);
276 HRESULT GetConnectionPointContainer(IConnectionPointContainer**); | 276 HRESULT GetConnectionPointContainer(IConnectionPointContainer*);
277 HRESULT Advise(LPUNKNOWN, PDWORD); 277 HRESULT Advise(LPUNKNOWN, PDWORD);
278 HRESULT Unadvise(DWORD); 278 HRESULT Unadvise(DWORD);
279 HRESULT EnumConnections(LPENUMCONNECTIONS*); 279 HRESULT EnumConnections(LPENUMCONNECTIONS*);
280 } 280 }
281 alias IConnectionPoint LPCONNECTIONPOINT; 281 alias IConnectionPoint LPCONNECTIONPOINT;
282 282
283 interface IEnumConnections : IUnknown { 283 interface IEnumConnections : IUnknown {
................................................................................................................................................................................
346 HRESULT get_Strikethrough(BOOL*); 346 HRESULT get_Strikethrough(BOOL*);
347 HRESULT put_Strikethrough(BOOL); 347 HRESULT put_Strikethrough(BOOL);
348 HRESULT get_Weight(short*); 348 HRESULT get_Weight(short*);
349 HRESULT put_Weight(short); 349 HRESULT put_Weight(short);
350 HRESULT get_Charset(short*); 350 HRESULT get_Charset(short*);
351 HRESULT put_Charset(short); 351 HRESULT put_Charset(short);
352 HRESULT get_hFont(HFONT*); 352 HRESULT get_hFont(HFONT*);
353 HRESULT Clone(IFont**); | 353 HRESULT Clone(IFont*);
354 HRESULT IsEqual(IFont*); | 354 HRESULT IsEqual(IFont);
355 HRESULT SetRatio(int, int); 355 HRESULT SetRatio(int, int);
356 HRESULT QueryTextMetrics(LPTEXTMETRICOLE); 356 HRESULT QueryTextMetrics(LPTEXTMETRICOLE);
357 HRESULT AddRefHfont(HFONT); 357 HRESULT AddRefHfont(HFONT);
358 HRESULT ReleaseHfont(HFONT); 358 HRESULT ReleaseHfont(HFONT);
359 HRESULT SetHdc(HDC); 359 HRESULT SetHdc(HDC);
360 } 360 }
361 alias IFont LPFONT; 361 alias IFont LPFONT;
................................................................................................................................................................................
388 interface IOleInPlaceSiteEx : IOleInPlaceSite { 388 interface IOleInPlaceSiteEx : IOleInPlaceSite {
389 HRESULT OnInPlaceActivateEx(BOOL*, DWORD); 389 HRESULT OnInPlaceActivateEx(BOOL*, DWORD);
390 HRESULT OnInPlaceDeactivateEx(BOOL); 390 HRESULT OnInPlaceDeactivateEx(BOOL);
391 HRESULT RequestUIActivate(); 391 HRESULT RequestUIActivate();
392 } 392 }
393 393
394 interface IObjectWithSite : IUnknown { 394 interface IObjectWithSite : IUnknown {
395 HRESULT SetSite(IUnknown*); | 395 HRESULT SetSite(IUnknown);
396 HRESULT GetSite(REFIID, void**); 396 HRESULT GetSite(REFIID, void**);
397 } 397 }
398 398
399 interface IOleInPlaceSiteWindowless : IOleInPlaceSiteEx { 399 interface IOleInPlaceSiteWindowless : IOleInPlaceSiteEx {
400 HRESULT CanWindowlessActivate(); 400 HRESULT CanWindowlessActivate();
401 HRESULT GetCapture(); 401 HRESULT GetCapture();
402 HRESULT SetCapture(BOOL); 402 HRESULT SetCapture(BOOL);
................................................................................................................................................................................
410 HRESULT AdjustRect(LPCRECT); 410 HRESULT AdjustRect(LPCRECT);
411 HRESULT OnDefWindowMessage(UINT, WPARAM, LPARAM, LRESULT*); 411 HRESULT OnDefWindowMessage(UINT, WPARAM, LPARAM, LRESULT*);
412 } 412 }
413 413
414 interface IAdviseSinkEx : IUnknown { 414 interface IAdviseSinkEx : IUnknown {
415 void OnDataChange(FORMATETC*, STGMEDIUM*); 415 void OnDataChange(FORMATETC*, STGMEDIUM*);
416 void OnViewChange(DWORD, LONG); 416 void OnViewChange(DWORD, LONG);
417 void OnRename(IMoniker*); | 417 void OnRename(IMoniker);
418 void OnSave(); 418 void OnSave();
419 void OnClose(); 419 void OnClose();
420 HRESULT OnViewStatusChange(DWORD); 420 HRESULT OnViewStatusChange(DWORD);
421 } 421 }
422 422
423 interface IPointerInactive : IUnknown { 423 interface IPointerInactive : IUnknown {
424 HRESULT GetActivationPolicy(DWORD*); 424 HRESULT GetActivationPolicy(DWORD*);
................................................................................................................................................................................
430 HRESULT Do(LPOLEUNDOMANAGER); 430 HRESULT Do(LPOLEUNDOMANAGER);
431 HRESULT GetDescription(BSTR*); 431 HRESULT GetDescription(BSTR*);
432 HRESULT GetUnitType(CLSID*, LONG*); 432 HRESULT GetUnitType(CLSID*, LONG*);
433 HRESULT OnNextAdd(); 433 HRESULT OnNextAdd();
434 } 434 }
435 435
436 interface IOleParentUndoUnit : IOleUndoUnit { 436 interface IOleParentUndoUnit : IOleUndoUnit {
437 HRESULT Open(IOleParentUndoUnit*); | 437 HRESULT Open(IOleParentUndoUnit);
438 HRESULT Close(IOleParentUndoUnit*, BOOL); | 438 HRESULT Close(IOleParentUndoUnit, BOOL);
439 HRESULT Add(IOleUndoUnit*); | 439 HRESULT Add(IOleUndoUnit);
440 HRESULT FindUnit(IOleUndoUnit*); | 440 HRESULT FindUnit(IOleUndoUnit);
441 HRESULT GetParentState(DWORD*); 441 HRESULT GetParentState(DWORD*);
442 } 442 }
443 443
444 interface IEnumOleUndoUnits : IUnknown { 444 interface IEnumOleUndoUnits : IUnknown {
445 HRESULT Next(ULONG, IOleUndoUnit**, ULONG*); | 445 HRESULT Next(ULONG, IOleUndoUnit*, ULONG*);
446 HRESULT Skip(ULONG); 446 HRESULT Skip(ULONG);
447 HRESULT Reset(); 447 HRESULT Reset();
448 HRESULT Clone(IEnumOleUndoUnits**); | 448 HRESULT Clone(IEnumOleUndoUnits*);
449 } 449 }
450 450
451 interface IOleUndoManager : IUnknown { 451 interface IOleUndoManager : IUnknown {
452 HRESULT Open(IOleParentUndoUnit*); | 452 HRESULT Open(IOleParentUndoUnit);
453 HRESULT Close(IOleParentUndoUnit*, BOOL); | 453 HRESULT Close(IOleParentUndoUnit, BOOL);
454 HRESULT Add(IOleUndoUnit*); | 454 HRESULT Add(IOleUndoUnit);
455 HRESULT GetOpenParentState(DWORD*); 455 HRESULT GetOpenParentState(DWORD*);
456 HRESULT DiscardFrom(IOleUndoUnit*); | 456 HRESULT DiscardFrom(IOleUndoUnit);
457 HRESULT UndoTo(IOleUndoUnit*); | 457 HRESULT UndoTo(IOleUndoUnit);
458 HRESULT RedoTo(IOleUndoUnit*); | 458 HRESULT RedoTo(IOleUndoUnit);
459 HRESULT EnumUndoable(IEnumOleUndoUnits**); | 459 HRESULT EnumUndoable(IEnumOleUndoUnits*);
460 HRESULT EnumRedoable(IEnumOleUndoUnits**); | 460 HRESULT EnumRedoable(IEnumOleUndoUnits*);
461 HRESULT GetLastUndoDescription(BSTR*); 461 HRESULT GetLastUndoDescription(BSTR*);
462 HRESULT GetLastRedoDescription(BSTR*); 462 HRESULT GetLastRedoDescription(BSTR*);
463 HRESULT Enable(BOOL); 463 HRESULT Enable(BOOL);
464 } 464 }
465 alias IOleUndoManager LPOLEUNDOMANAGER; 465 alias IOleUndoManager LPOLEUNDOMANAGER;
466 466
467 interface IQuickActivate : IUnknown { 467 interface IQuickActivate : IUnknown {
468 HRESULT QuickActivate(QACONTAINER*, QACONTROL*); 468 HRESULT QuickActivate(QACONTAINER*, QACONTROL*);
469 HRESULT SetContentExtent(LPSIZEL); 469 HRESULT SetContentExtent(LPSIZEL);
470 HRESULT GetContentExtent(LPSIZEL); 470 HRESULT GetContentExtent(LPSIZEL);
471 } 471 }