Differences From Artifact [2b588d001c37b323]:
- File
src/win32/oaidl.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 [3b6a16e1b16e8ad3]:
- File
src/win32/oaidl.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.
89 89 struct SAFEARR_BSTR {
90 90 ULONG Size;
91 91 wireBSTR* aBstr;
92 92 }
93 93
94 94 struct SAFEARR_UNKNOWN {
95 95 ULONG Size;
96 - IUnknown** apUnknown;
96 + IUnknown* apUnknown;
97 97 }
98 98
99 99 struct SAFEARR_DISPATCH {
100 100 ULONG Size;
101 101 LPDISPATCH* apDispatch;
102 102 }
103 103
................................................................................
129 129 struct SAFEARR_BRECORD {
130 130 ULONG Size;
131 131 wireBRECORD* aRecord;
132 132 }
133 133
134 134 struct SAFEARR_HAVEIID {
135 135 ULONG Size;
136 - IUnknown** apUnknown;
136 + IUnknown* apUnknown;
137 137 IID iid;
138 138 }
139 139
140 140 struct SAFEARRAYUNION {
141 141 ULONG sfType;
142 142 union _u {
143 143 SAFEARR_BSTR BstrStr;
................................................................................
156 156
157 157 struct _wireSAFEARRAY {
158 158 USHORT cDims;
159 159 USHORT fFeatures;
160 160 ULONG cbElements;
161 161 ULONG cLocks;
162 162 SAFEARRAYUNION uArrayStructs;
163 - SAFEARRAYBOUND rgsabound[1];
163 + SAFEARRAYBOUND[1] rgsabound;
164 164 }
165 165 alias _wireSAFEARRAY* wireSAFEARRAY;
166 166
167 167 alias wireSAFEARRAY* wirePSAFEARRAY;
168 168
169 169 struct SAFEARRAY {
170 170 USHORT cDims;
171 171 USHORT fFeatures;
172 172 ULONG cbElements;
173 173 ULONG cLocks;
174 174 PVOID pvData;
175 - SAFEARRAYBOUND rgsabound[1];
175 + SAFEARRAYBOUND[1] rgsabound;
176 176 }
177 177 alias SAFEARRAY* LPSAFEARRAY;
178 178
179 179 struct VARIANT {
180 180 union {
181 181 struct {
182 182 VARTYPE vt;
................................................................................
255 255 FLOAT fltVal;
256 256 DOUBLE dblVal;
257 257 VARIANT_BOOL boolVal;
258 258 SCODE scode;
259 259 CY cyVal;
260 260 DATE date;
261 261 wireBSTR bstrVal;
262 - IUnknown* punkVal;
262 + IUnknown punkVal;
263 263 LPDISPATCH pdispVal;
264 264 wirePSAFEARRAY parray;
265 265 wireBRECORD brecVal;
266 266 BYTE* pbVal;
267 267 SHORT* piVal;
268 268 LONG* plVal;
269 269 FLOAT* pfltVal;
270 270 DOUBLE* pdblVal;
271 271 VARIANT_BOOL* pboolVal;
272 272 SCODE* pscode;
273 273 CY* pcyVal;
274 274 DATE* pdate;
275 275 wireBSTR* pbstrVal;
276 - IUnknown** ppunkVal;
276 + IUnknown* ppunkVal;
277 277 LPDISPATCH* ppdispVal;
278 278 wirePSAFEARRAY* pparray;
279 279 wireVARIANT* pvarVal;
280 280 CHAR cVal;
281 281 USHORT uiVal;
282 282 ULONG ulVal;
283 283 ULONGLONG ullVal;
................................................................................
311 311 }
312 312 VARTYPE vt;
313 313 }
314 314
315 315 struct ARRAYDESC {
316 316 TYPEDESC tdescElem;
317 317 USHORT cDims;
318 - SAFEARRAYBOUND rgbounds[1];
318 + SAFEARRAYBOUND[1] rgbounds;
319 319 }
320 320
321 321 struct PARAMDESCEX {
322 322 ULONG cBytes;
323 323 VARIANTARG varDefaultValue;
324 324 }
325 325 alias PARAMDESCEX* LPPARAMDESCEX;
................................................................................
497 497 VARFLAG_FUIDEFAULT = 512,
498 498 VARFLAG_FNONBROWSABLE = 1024,
499 499 VARFLAG_FREPLACEABLE = 2048,
500 500 VARFLAG_FIMMEDIATEBIND = 4096
501 501 }
502 502
503 503 struct CLEANLOCALSTORAGE {
504 - IUnknown* pInterface;
504 + IUnknown pInterface;
505 505 PVOID pStorage;
506 506 DWORD flags;
507 507 }
508 508
509 509 struct CUSTDATAITEM {
510 510 GUID guid;
511 511 VARIANTARG varValue;
................................................................................
542 542 }
543 543 alias IDispatch LPDISPATCH;
544 544
545 545 interface IEnumVARIANT : IUnknown {
546 546 HRESULT Next(ULONG, VARIANT*, ULONG*);
547 547 HRESULT Skip(ULONG);
548 548 HRESULT Reset();
549 - HRESULT Clone(IEnumVARIANT**);
549 + HRESULT Clone(IEnumVARIANT*);
550 550 }
551 551 alias IEnumVARIANT LPENUMVARIANT;
552 552
553 553 interface ITypeComp : IUnknown {
554 554 HRESULT Bind(LPOLESTR, ULONG, WORD, LPTYPEINFO*, DESCKIND*, LPBINDPTR);
555 555 HRESULT BindType(LPOLESTR, ULONG, LPTYPEINFO*, LPTYPECOMP*);
556 556 }
................................................................................
597 597 HRESULT GetAllVarCustData(UINT, CUSTDATA*);
598 598 HRESULT GetAllImplTypeCustData(UINT, CUSTDATA*);
599 599 }
600 600 alias ITypeInfo2 LPTYPEINFO2;
601 601
602 602 interface ITypeLib : IUnknown {
603 603 UINT GetTypeInfoCount();
604 - HRESULT GetTypeInfo(UINT, ITypeInfo**);
604 + HRESULT GetTypeInfo(UINT, ITypeInfo*);
605 605 HRESULT GetTypeInfoType(UINT, TYPEKIND*);
606 - HRESULT GetTypeInfoOfGuid(REFGUID, ITypeInfo**);
606 + HRESULT GetTypeInfoOfGuid(REFGUID, ITypeInfo*);
607 607 HRESULT GetLibAttr(TLIBATTR**);
608 - HRESULT GetTypeComp(ITypeComp*);
608 + HRESULT GetTypeComp(ITypeComp);
609 609 HRESULT GetDocumentation(INT, BSTR*, BSTR*, DWORD*, BSTR*);
610 610 HRESULT IsName(LPOLESTR, ULONG, BOOL*);
611 - HRESULT FindName(LPOLESTR, ULONG, ITypeInfo**, MEMBERID*, USHORT*);
611 + HRESULT FindName(LPOLESTR, ULONG, ITypeInfo*, MEMBERID*, USHORT*);
612 612 void ReleaseTLibAttr(TLIBATTR*);
613 613 }
614 614 alias ITypeLib LPTYPELIB;
615 615
616 616 interface ITypeLib2 : ITypeLib {
617 617 HRESULT GetCustData(REFGUID, VARIANT*);
618 618 HRESULT GetLibStatistics(ULONG*, ULONG*);
................................................................................
633 633 interface ICreateErrorInfo : IUnknown {
634 634 HRESULT SetGUID(REFGUID);
635 635 HRESULT SetSource(LPOLESTR);
636 636 HRESULT SetDescription(LPOLESTR);
637 637 HRESULT SetHelpFile(LPOLESTR);
638 638 HRESULT SetHelpContext(DWORD);
639 639 }
640 -alias ICreateErrorInfo* LPCREATEERRORINFO;
640 +alias ICreateErrorInfo LPCREATEERRORINFO;
641 641
642 642 interface ISupportErrorInfo : IUnknown {
643 643 HRESULT InterfaceSupportsErrorInfo(REFIID);
644 644 }
645 645 alias ISupportErrorInfo LPSUPPORTERRORINFO;
646 646
647 647 interface IRecordInfo : IUnknown {
648 648 HRESULT RecordInit(PVOID);
649 649 HRESULT RecordClear(PVOID);
650 650 HRESULT RecordCopy(PVOID, PVOID);
651 651 HRESULT GetGuid(GUID*);
652 652 HRESULT GetName(BSTR*);
653 653 HRESULT GetSize(ULONG*);
654 - HRESULT GetTypeInfo(ITypeInfo**);
654 + HRESULT GetTypeInfo(ITypeInfo*);
655 655 HRESULT GetField(PVOID, LPCOLESTR, VARIANT*);
656 656 HRESULT GetFieldNoCopy(PVOID, LPCOLESTR, VARIANT*, PVOID*);
657 657 HRESULT PutField (ULONG, PVOID, LPCOLESTR, VARIANT*);
658 658 HRESULT PutFieldNoCopy(ULONG, PVOID, LPCOLESTR, VARIANT*);
659 659 HRESULT GetFieldNames(ULONG*, BSTR*);
660 660 BOOL IsMatchingType();
661 661 PVOID RecordCreate();