2007-01-03 Miguel de Icaza <miguel@novell.com>
[mono.git] / mcs / class / corlib / System.Runtime.InteropServices / ChangeLog
1 2007-01-03  Miguel de Icaza  <miguel@novell.com>
2
3         * SafeHandle.cs: Do not use locks in SafeHandle to protect the
4         access to the refcount, use Interlocked.CompareExchange.  The
5         locks were the source of problems with domain finalization when
6         this code was enabled.
7
8         This should fix Matt Hargett's bug report with a full `make check'
9         that reported variations of:
10
11         ** (../../class/lib/net_2_0/nunit-console.exe:29644): WARNING **:
12         Finalization of domain <domainname> timed out.
13
14         Also, it is a lot lighther.
15
16 2006-12-21  Miguel de Icaza  <miguel@novell.com>
17
18         * CriticalHandle.cs: Add Dispose(bool disposing) method, and
19         refactor. 
20
21 2006-12-15  Gert Driesen  <drieseng@users.sourceforge.net>
22
23         * Marshal.cs: Use SystemDefaultCharSize to determine whether to
24         use Ansi or Unicode variant of StringToCoTaskMem.
25
26 2006-12-15  Miguel de Icaza  <miguel@novell.com>
27
28         * Marshal.cs (SecureStringToCoTaskMemAnsi, SecureStringToBSTR,
29         SecureStringToCoTaskMemUnicode, ZeroFreeCoTaskMemAnsi,
30         ZeroFreeCoTaskMemUnicode, ZeroFreeGlobalAllocAnsi,
31         ZeroFreeGlobalAllocUnicode): Implement.
32
33         (StringToCoTaskAuto): return the same as Ansi.  
34
35         The ANSI code is out of sync with Mono, which treats ANSI as
36         UTF-8. 
37
38         Code formatting changes
39
40 2006-12-11  Miguel de Icaza  <miguel@novell.com>
41
42         * SafeHandle.cs: Fix a handful of bugs, and add tests for them.
43         Only release the handle if its owned by us.  Also throw
44         ObjectDisposedException's
45
46         Implement finalizer.
47
48         DangerousAddRef will now throw an exception if the object was
49         disposed.
50
51 2006-12-02  Miguel de Icaza  <miguel@novell.com>
52
53         * SafeHandle.cs: Implement this class.
54         
55 2006-10-06  Jonathan Chambers  <joncham@gmail.com>
56
57         * ExtensibleClassFactory.cs: Implement RegisterObjectCreationCallback.
58         
59 2006-08-31 Robert Jordan  <robertj@gmx.net>
60
61         * Marshal.cs: Replaced the *Auto internal calls with managed
62         variants. Fixed SystemDefaultCharSize to return an OS dependent
63         value.
64
65 2006-08-09  Jonathan Chambers  <joncham@gmail.com>
66
67         * Marshal.cs: Implement GetIDispatchForObject.
68         
69 2006-08-07  Gert Driesen  <drieseng@users.sourceforge.net>
70
71         * Marshal.cs: Added stubs for GetTypeLibGuid (ITypeLib), GetTypeLibLcid
72         (ITypeLib), GetTypeLibName (ITypeLib).
73
74 2006-07-28  Jonathan Chambers  <joncham@gmail.com>
75
76         * Marshal.cs: Implemented CreateWrapperOfType and ReleaseComObject.
77         
78 2006-07-15  Jonathan Chambers  <joncham@gmail.com>
79
80         * Marshal.cs: Begin implementing COM Interop. Implemented
81         AddRef, GetComInterfaceForObject, GetComObjectData, GetIUnknownForObject,
82         GetObjectForIUnknown, GetTypedObjectForIUnknown, IsComObject, QueryInterface
83         Release, SetComObjectData, and ThrowExceptionForHR.
84         
85 2006-06-07  Jonathan Chambers  <jonathan.chambers@ansys.com>
86
87         * Marshal.cs: Implement GetComSlotForMethodInfo
88
89 2006-06-05  Jonathan Chambers  <jonathan.chambers@ansys.com>
90
91         * Marshal.cs: Implement VARIANT marshalling methods
92
93 2006-05-20  Zac Bowling <zac@zacbowling.com>
94         * VarEnum.cs: ComVisible Attribute (2.0)
95         * InterfaceTypeAttribute.cs: ComVisible Attribute (2.0)
96         * UCOMITypeInfo.cs: ComImport Attribute (1.x)
97         * UCOMITypeComp.cs: ComImport Attribute (1.x)
98         * MarshalAsAttribute.cs: ComVisible Attribute (2.0)
99         * StructLayoutAttribute.cs: ComVisible Attribute (2.0)
100         * ProgIdAttribute.cs: ComVisible Attribute (2.0)
101         * PrimaryInteropAssemblyAttribute.cs: ComVisible Attribute (2.0)
102         * ImporterEventKind.cs: ComVisible Attribute (2.0)
103         * UCOMIPersistFile.cs: ComImport Attribute (1.x)
104         * SetWin32ContextInIDispatchAttribute.cs: Obselete and ComVisible
105         Attribute (2.0)
106         * IRegistrationServices.cs: ComVisible Attribute and CAS Attributes (2.0)
107         * InAttribute.cs: ComVisible Attribute (2.0)
108         * UCOMIMoniker.cs: ComImport Attribute (1.x)
109         * MarshalDirectiveException.cs: ComVisible Attribute (2.0)
110         * IDLDESC.cs: ComVisible Attribute (1.x)
111         * FUNCFLAGS.cs: ComVisible Attribute (1.x)
112         * UCOMIConnectionPointContainer.cs: ComImport Attribute (1.x)
113         * TypeLibExporterFlags.cs: ComVisible Attribute (2.0)
114         * ICustomMarshaler.cs: ComVisible Attribute (2.0)
115         * LayoutKind.cs: ComVisible Attribute (2.0) + Serializable + Clean
116         * ICustomAdapter.cs: ComVisible Attribute (2.0)
117         * UnmanagedFunctionPointerAttribute.cs: ComVisible Attribute and Param
118         Signature of UnmanagedFunctionPointerAttribute(...)
119         * FUNCKIND.cs: ComVisble Attribute (1.x)
120         * TypeLibVersionAttribute.cs: ComVisible Attribute (2.0) + Missing in
121         2.0
122         * TypeLibVarAttribute.cs: ComVisible Attribute (2.0)
123         * ITypeLibConverter.cs: ComVisible Attribute (2.0)
124         * UCOMIRunningObjectTable.cs: ComImport Attribute (1.x)
125         * IDispatchImplAttribute.cs: Obsolete + ComVisible Attribute (2.0)
126         * ITypeLibImporterNotifySink.cs: ComVisible Attribute (2.0)
127         * PreserveSigAttribute.cs: ComVisible Attribute (2.0)
128         * SYSKIND.cs: ComVisible Attribute (1.x) 
129         * UCOMIEnumVARIANT.cs: ComImport Attribute (1.x)
130         * UCOMIEnumString.cs: ComImport Attribute (1.x) and Expose to 1.x (not
131         a 2.0 exclusive class)
132         * OutAttribute.cs: ComVisible Attribute (2.0)
133         * InvalidComObjectException.cs: ComVisible Attribute (2.0)
134         * SEHException.cs: ComVisible Attribute (2.0)
135         * UCOMIConnectionPoint.cs: ComImport Attribute (1.x)
136         * TypeLibImporterFlags.cs: ComVisible Attribute (2.0) and
137         Serializable
138         * OptionalAttribute.cs: ComVisible Attribute (2.0)
139         * TYPEDESC.cs: ComVisible Attribute (1.x)
140         * UCOMIEnumMoniker.cs: ComImport Attribute (1.x) and Expose to 1.x
141         (not a 2.0 exclusive class)
142         * TypeLibTypeFlags.cs: ComVisible Attribute (2.0)
143         * ITypeLibExporterNotifySink.cs: ComVisible Attribute (2.0)
144         * HandleRef.cs: ComVisible.cs and add ToIntPtr (2.0)
145         * DllImportAttribute.cs: ComVisible Attribute (2.0)
146         * TypeLibTypeAttribute.cs: ComVisible Attribute (2.0)
147         * UnknownWrapper.cs: Serializable, ComVisible Attribute (2.0)
148         * IDFLAGS.cs: ComVisible Attribute (1.x only)
149         * RegistrationClassContext.cs: License + Flags attribute (2.0)
150         * GCHandle.cs: ComVisible Attribute + Operator Overrides (2.0)
151         * TypeLibImportClassAttribute.cs: ComVisible Attribute (2.0)
152         * IMPLYTPEFLAGS.cs: ComVisible Attribute (1.x)
153         * ImportedFromTypeLibAttribute.cs: ComVisible (2.0)
154         * UCOMIBindCtx.cs: Obsolete Attribute (2.0)
155         * FUNCDESC.cs: ComVisible Attribute (1.x)
156         * RegistrationConnectionType.cs: Flags Attribute (2.0)
157         * IDispatchImplType.cs: Obsolete + ComVisible Attribute (2.0)
158         * TypeLibConverter.cs: ComVisible (2.0)
159         * INVOKEKIND.cs: ComVisible Attribute (1.x)
160         * GCHandleType.cs: ComVisible Attribute (2.0) + Serializable
161         * ICustomFactory.cs: ComVisible Attribute (2.0)
162         * FieldOffsetAttribute.cs: ComVisible Attribute (2.0)
163         * LIBFLAGS.cs: ComVisible Attribute (1.x)
164         * ComSourceInterfacesAttributes.cs: ComVisible Attribute (2.0)
165         * STATSTG.cs: ComVisible Attribute (1.x)
166         * InvalidOleVariantTypeException.cs: ComVisible Attribute (2.0)
167         * TypeLibVarFlags.cs: ComVisible Attribute (2.0)
168         * TYPEFLAGS.cs: ComVisible Attribute (1.x)
169         * SafeArrayRankMismatchException.cs: ComVisible Attribute (2.0)
170         * TYPEATTR.cs: ComVisible Attribute (1.x)
171         * GuidAttribute.cs: ComVisible Attribute (2.0)
172         * UCOMIEnumConnectionPoints.cs: ComImport Attribute (1.x) + Expose to
173         1.x (not a 2.0 exclusive)
174         * SafeArrayTypeMismatchException.cs: ComVisible Attribute (2.0)
175         * ObjectCreationDelegate.cs: ComVisible Attribute (2.0)
176         * ITypeLibExporterNameProvider.cs: ComVisible Attribute (2.0) and
177         MarshelAs VarEnum Type.
178         * UCOMIStream.cs: ComImport Attribute (1.x)
179         * TypeLibFuncFlags.cs ComVisible Attribute (2.0)
180         * UnmanagedType.cs: ComVisible Attribute (2.0) + clean up
181         * UCOMIEnumConnections.cs: ComImport Attribute (1.0)
182         * LCIDConversionAttribute.cs: ComVisible Attribute (2.0)
183         * TypeLibFuncAttribute.cs: ComVisible Attribute (2.0)
184
185 2006-05-02  Jonathan Chambers  <jonathan.chambers@ansys.com>
186
187         * Marshal.cs: Implement BSTR methods
188
189 2006-01-12  Ben Maurer  <bmaurer@andrew.cmu.edu>
190
191         * SafeHandle.cs: Update to RTM api
192
193 2005-11-17  Zoltan Varga  <vargaz@gmail.com>
194
195         * DefaultParameterValueAttribute.cs: New file.
196
197 2005-10-28  Sebastien Pouliot  <sebastien@ximian.com>
198
199         * Marshal.cs: Added null check in SecureStringTo* methods and make 
200         them throw a NotSupportedException otherwise (as existing code must
201         deal with this anyway). Fixed Uni -> Unicode method name changes.
202
203 2005-09-25  Sebastien Pouliot  <sebastien@ximian.com>
204
205         * UCOMIBindCtx.cs, UCOMIConnectionPoint.cs, 
206         UCOMIConnectionPointContainer.cs, UCOMIEnumConnectionPoints.cs,
207         UCOMIEnumConnections.cs, UCOMIEnumMoniker.cs, UCOMIEnumString.cs,
208         UCOMIEnumVARIANT.cs, UCOMIMoniker.cs, UCOMIPersistFile.cs, 
209         UCOMIRunningObjectTable.cs, UCOMIStream.cs, UCOMITypeComp.cs,
210         UCOMITypeInfo.cs, UCOMITypeLib.cs: Remove [ComImport] from the default
211         profile (this is new in 2.0) and reduce corcompare extras by 15.
212
213 2005-09-21  Kornél Pál  <kornelpal@hotmail.com>
214
215         * UCOMIEnumConnections.cs, UCOMIEnumMoniker.cs, UCOMIEnumString.cs,
216           UCOMIStream.cs, UCOMITypeInfo.cs, UCOMITypeLib.cs, UnmanagedType.cs:
217           Removed UnmanagedType_80 that was required because mcs bug #75945
218           was not discovered.
219
220 2005-08-12  Gert Driesen  <drieseng@users.sourceforge.net>
221
222         * SetWin32ContextInIDispatchAttribute.cs: Make this attribute also
223         available in 1.0 profile (.NET 1.1).
224         * VariantWrapper.cs: Class is also exposed in .NET 1.1. Only 
225         serializable in 2.0 profile.
226
227 2005-08-10  Zoltan Varga  <vargaz@freemail.hu>
228
229         * SafeHandle.cs: New file.
230
231 2005-08-06  Gert Driesen  <drieseng@users.sourceforge.net>
232
233         * _Activator.cs: ComVisible should only be set in 2.0 profile.
234         Added TypeLibImportClass attribute.
235         * _Assembly.cs: ComVisible should only be set in 2.0 profile. Added
236         TypeLibImportClass attribute. Fixes InterfaceType to match MS.NET.
237         * _AssemblyBuilder.cs: ComVisible should only be set in 2.0 profile.
238         Added TypeLibImportClass attribute.
239         * _AssemblyName.cs: ComVisible should only be set in 2.0 profile.
240         Added TypeLibImportClass attribute.
241         * _Attribute.cs: ComVisible should only be set in 2.0 profile.
242         Added TypeLibImportClass attribute.
243         * _ConstructorBuilder.cs: ComVisible should only be set in 2.0 profile.
244         Added TypeLibImportClass attribute.
245         * _ConstructorInfo.cs: Fixed InterfaceType to match MS.NET. Added
246         TypeLibImportClass attribute. Added missing methods.
247         * _CustomAttributeBuilder.cs: ComVisible should only be set in 2.0 profile.
248         Added TypeLibImportClass attribute.
249         * _EnumBuilder.cs: ComVisible should only be set in 2.0 profile.
250         Added TypeLibImportClass attribute.
251         * _EventBuilder.cs: ComVisible should only be set in 2.0 profile.
252         Added TypeLibImportClass attribute.
253         * _EventInfo.cs: Fixed InterfaceType to match MS.NET. Added
254         TypeLibImportClass attribute. Added missing methods.
255         * _FieldBuilder.cs: ComVisible should only be set in 2.0 profile.
256         Added TypeLibImportClass attribute.
257         * _FieldInfo.cs: Fixed InterfaceType to match MS.NET. Added
258         TypeLibImportClass attribute. Added missing methods.
259         * _ILGenerator.cs: ComVisible should only be set in 2.0 profile.
260         Added TypeLibImportClass attribute.
261         * _LocalBuilder.cs: ComVisible should only be set in 2.0 profile.
262         Added TypeLibImportClass attribute.
263         * _MemberInfo.cs: Fixed InterfaceType to match MS.NET. Added
264         TypeLibImportClass attribute. Added missing methods. 
265         * _MethodBase.cs: Fixed InterfaceType to match MS.NET. Added
266         TypeLibImportClass attribute. Added missing methods.
267         * _MethodInfo.cs: Fixed InterfaceType to match MS.NET. Added
268         TypeLibImportClass attribute. Added missing methods.
269         * _MethodBuilder.cs: ComVisible should only be set in 2.0 profile.
270         Added TypeLibImportClass attribute.
271         * _MethodRental.cs: ComVisible should only be set in 2.0 profile.
272         Added TypeLibImportClass attribute.
273         * _Module.cs: ComVisible should only be set in 2.0 profile.
274         Added TypeLibImportClass attribute.
275         * _ModuleBuilder.cs: ComVisible should only be set in 2.0 profile.
276         Added TypeLibImportClass attribute.
277         * _ParameterBuilder.cs: ComVisible should only be set in 2.0 profile.
278         Added TypeLibImportClass attribute.
279         * _ParameterInfo.cs: ComVisible should only be set in 2.0 profile.
280         Added TypeLibImportClass attribute.
281         * _PropertyBuilder.cs: ComVisible should only be setin 2.0 profile.
282         Added TypeLibImportClass attribute.
283         * _PropertyInfo.cs: Fixed InterfaceType to match MS.NET. Added
284         TypeLibImportClass attribute. Added missing methods.
285         * _SignatureHelper.cs: ComVisible should only be set in 2.0 profile.
286         Added TypeLibImportClass attribute.
287         * _Type.cs: Added TypeLibImportClass attribute. Fixed InterfaceType 
288         to match MS.NET. Added missing method to match MS.NET.
289         * _Thread.cs: ComVisible should only be set in 2.0 profile.
290         Added TypeLibImportClass attribute.
291         * _TypeBuilder:cs: ComVisible should only be set in 2.0 profile.
292         Added TypeLibImportClass attribute.
293         * Marshal.cs: Removed MarshalAs attribute from parameter to fix
294         API compatibility with MS.NET.
295         * TypeLibImportClassAttribute.cs: Added.
296
297 2005-07-06  Zoltan Varga  <vargaz@freemail.hu>
298
299         * GCHandle.cs: Add 2.0 FromIntPtr/ToIntPtr methods.
300
301 2005-06-08  Sebastien Pouliot  <sebastien@ximian.com>
302
303         * RuntimeEnvironment.cs: I get better results when calling Demand.
304
305 2005-06-07  Sebastien Pouliot  <sebastien@ximian.com>
306
307         * RuntimeEnvironment.cs: Implemented TODO. Added security for CAS.
308
309 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
310
311         * _Exception.cs: That one wasn't backported to 1.1 SP1 by MS. This
312         should fix a lot of extra reported in the API status pages.
313
314 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
315
316         * Marshal.cs: Add some missing 2.0 attributes.
317
318 2005-05-15  Andreas Nahr  <ClassDevelopment@A-SoftTech.com>
319
320         * _Attribute.cs
321         * _ConstructorInfo.cs
322         * _EventInfo.cs
323         * _Exception.cs
324         * _FieldInfo.cs
325         * _MemberInfo.cs
326         * _MethodBase.cs
327         * _MethodInfo.cs
328         * _PropertyInfo.cs
329         * _Type.cs: Chance to .Net 1.1
330         * _Activator.cs
331         * _Assembly.cs
332         * _AssemblyBuilder.cs
333         * _AssemblyName.cs
334         * _ConstructorBuilder.cs
335         * _CustomAttributeBuilder.cs
336         * _EnumBuilder.cs
337         * _EventBuilder.cs
338         * _FieldBuilder.cs
339         * _ILGenerator.cs
340         * _LocalBuilder.cs
341         * _MethodBuilder.cs
342         * _MethodRental.cs
343         * _Module.cs
344         * _ModuleBuilder.cs
345         * _ParameterBuilder.cs
346         * _ParameterInfo.cs
347         * _PropertyBuilder.cs
348         * _SignatureHelper.cs
349         * _Thread.cs
350         * _TypeBuilder.cs: Added
351
352 2005-04-22  Sebastien Pouliot  <sebastien@ximian.com>
353
354         * _Attribute.cs: New. Interface for attributes in 2.0.
355
356 2005-04-13  Marek Safar  <marek.safar@seznam.cz>
357
358         * DefaultCharSetAttribute.cs: Removed useless using.
359
360 2005-03-31  Alp Toker  <alp@atoker.com>
361
362         * GCHandle.cs: Clearer ArgumentException text in the case of a
363         null-valued IntPtr argument.
364
365 2005-03-04  Kazuki Oikawa  <kazuki@panicode.com>
366
367         * _Exception.cs
368         * BIND_OPTS.cs
369         * BINDPTR.cs
370         * CALLCONV.cs
371         * ComDefaultInterfaceAttribute.cs
372         * ComObjectInUseException.cs
373         * ComSourceInterfacesAttribute.cs
374         * CONNECTDATA.cs
375         * CriticalHandle.cs
376         * DefaultCharSetAttribute.cs
377         * DESCKIND.cs
378         * DISPPARAMS.cs
379         * ELEMDESC.cs
380         * EXCEPINFO.cs
381         * ExposeAsClassToComAttribute.cs
382         * FILETIME.cs
383         * FUNCDESC.cs
384         * FUNCFLAGS.cs
385         * FUNCKIND.cs
386         * GCHandle.cs
387         * ICustomAdapter.cs
388         * IDLDESC.cs
389         * IDLFLAG.cs
390         * IMPLTYPEFLAGS.cs
391         * INVOKEKIND.cs
392         * ITypeLibConverter.cs
393         * ITypeLibExporterNameProvider.cs
394         * ITypeLibExporterNotifySink.cs
395         * LIBFLAGS.cs
396         * PARAMDESC.cs
397         * PARAMFLAG.cs
398         * PrimaryInteropAssemblyAttribute.cs
399         * STATSTG.cs
400         * SYSKIND.cs
401         * TYPEATTR.cs
402         * TYPEDESC.cs
403         * TYPEFLAGS.cs
404         * TYPEKIND.cs
405         * TYPELIBATTR.cs
406         * TypeLibExporterFlags.cs
407         * TypeLibImporterFlags.cs
408         * UCOMIBindCtx.cs
409         * UCOMIConnectionPoint.cs
410         * UCOMIConnectionPointContainer.cs
411         * UCOMIEnumConnectionPoints.cs
412         * UCOMIEnumConnections.cs
413         * UCOMIEnumMoniker.cs
414         * UCOMIEnumString.cs
415         * UCOMIEnumVARIANT.cs
416         * UCOMIMoniker.cs
417         * UCOMIPersistFile.cs
418         * UCOMIRunningObjectTable.cs
419         * UCOMIStream.cs
420         * UCOMITypeComp.cs
421         * UCOMITypeInfo.cs
422         * UCOMITypeLib.cs
423         * UnmanagedFunctionPointerAttribute.cs
424         * VARDESC.cs
425         * VARFLAGS.cs
426         * VariantWrapper.cs: Added missing attributes.
427
428 2005-03-03  Kazuki Oikawa  <kazuki@panicode.com>
429
430         * _ConstructorInfo.cs
431         * _EventInfo.cs
432         * _FieldInfo.cs
433         * _MemberInfo.cs
434         * _MethodBase.cs
435         * _MethodInfo.cs
436         * _PropertyInfo.cs
437         * _Type.cs
438         * BStrWrapper.cs
439         * ComDefaultInterfaceAttribute.cs
440         * ComObjectInUseException.cs
441         * CriticalHandle.cs
442         * DefaultCharSetAttribute.cs
443         * ExposeAsClassToComAttribute.cs
444         * RegistrationClassContext.cs
445         * RegistrationConnectionType.cs: Add
446
447 2005-02-21  Zoltan Varga  <vargaz@freemail.hu>
448
449         * UnmanagedFunctionPointerAttribute.cs: Add #region directives.
450
451 2005-02-21  Kazuki Oikawa  <kazuki@panicode.com>
452
453         * BIND_OPTS.cs, CONNECTEDATA.cs, DISPPARAMS.cs, ELEMDESC.cs,
454         EXCEPINFO.cs, FILETIME.cs, FUNCDESC.cs, STATSTG.cs, TYPEATTR.cs,
455         TYPELIBATTR.cs, UCOMIBindCtx.cs, UCOMIConnectionPoint.cs,
456         UCOMIEnumConnectionPoints.cs, UCOMIEnumConnections.cs,
457         UCOMIEnumMoniker.cs, UCOMIEnumString.cs, UCOMIEnumVARIANT.cs,
458         UCOMIMoniker.cs, UCOMIPersistFile.cs, UCOMIRunningObjectTable.cs,
459         UCOMIStream.cs, UCOMITypeInfo.cs, UCOMITypeLib.cs, VARDESC.cs:
460         Corrected the order of the fields and the methods.
461
462         * BIND_OPTS.cs, CALLCONV.cs, FILETIME.cs, FUNCDESC.cs, FUNCFLAGS.cs,
463         FUNCKIND.cs, IDLFLAG.cs, IMPLTYPEFLAGS.cs, LIBFLAGS.cs, PARAMFLAG.cs,
464         STATSTG.cs, SYSKIND.cs, TYPEFLAGS.cs, VarEnum.cs, VARFLAGS.cs:
465         Added missing attributes.
466
467 Wed Feb 16 16:20:56 CET 2005 Paolo Molaro <lupus@ximian.com>
468
469         * GCHandle.cs: check the domain of an handle target is correct.
470         Make the unallocated value 0, since that is the default value
471         for valuetypes.
472
473 2005-02-10  Marek Safar  <marek.safar@seznam.cz>
474
475         * TypeLibVarAttribute.cs,
476         * TypeLibTypeAttribute.cs,
477         * ComSourceInterfacesAttribute.cs: Fix AttributeUsage flags.
478
479 Sat Jan 29 12:48:03 CET 2005 Paolo Molaro <lupus@ximian.com>
480
481         * GCHandle.cs: update for runtime changes: the unallocated handle
482         is -1, now.
483
484 2004-11-25  Raja R Harinath  <rharinath@novell.com>
485
486         * UnmanagedType.cs (mono_bootstrap_NativeTypeMax): Rename from
487         __mono_bootstrap_NativeTypeMax.  CSC doesn't like
488         [CLSCompliant(false)] on enum member.
489
490 2004-09-30  Zoltan Varga  <vargaz@freemail.hu>
491
492         * Marshal.cs: Implement GetDelegateForFunctionPointer.
493
494 2004-09-29  Zoltan Varga  <vargaz@freemail.hu>
495
496         * UnmanagedFunctionPointerAttribute.cs: New file.
497
498         * Marshal.cs: Make GetFunctionPointerForDelegate icall private.
499
500         * MarshalAsAttribute.cs: Add 2.0 IidParamIndex field.
501
502 2004-09-28  Zoltan Varga  <vargaz@freemail.hu>
503
504         * Marshal.cs: Add some ReliabilityContractAttributes.
505         
506         * Marshal.cs (GetFunctionPointerForDelegate): Implement.
507
508         * Marshal.cs: Add stubs for missing 2.0 methods.
509
510 2004-09-24  Zoltan Varga  <vargaz@freemail.hu>
511
512         * DllImportAttribute.cs: Reorder fields and mark this class as visible
513         to the runtime.
514
515 2004-09-08  Marek Safar  <marek.safar@seznam.cz>
516
517         * Marshal.cs: Class is static in NET_2_0.
518
519 2004-07-29  Lluis Sanchez Gual  <lluis@novell.com>
520
521         * RuntimeEnvironment.cs: Implemented SystemConfigurationFile and
522           GetSystemVersion().
523
524 Wed Jul 14 19:28:57 CEST 2004 Paolo Molaro <lupus@ximian.com>
525
526         * GCHandle.cs: throw exception if the result from AddrOfPinnedObject()
527         is -1 (special value returned by the runtime).
528
529 2004-07-07  Sebastien Pouliot  <sebastien@ximian.com>
530
531         * _Exception.cs: New interface in Fx 2.0 to preserve member's order
532         for COM interop.
533
534 2004-06-22  Raja R Harinath  <rharinath@novell.com>
535
536         Fix bootstrap with mcs 0.31.
537         * UnmanagedType.cs (UnmanagedType.__mono_bootstrap_NativeTypeMax): 
538         New bootstrap-only constant.
539
540 2004-06-18  Raja R Harinath  <rharinath@novell.com>
541
542         Fix breaking build (see tests/test-272.cs).  Since corlib is a
543         bootstrap library, we have to keep this fix even if the in-tree
544         mcs compiler is fixed.
545         * UCOMIEnumConnections.cs: Replace '(UnmanagedType) 80' in
546         attribute field initialization with Consts.UnmanagedType_80.
547         * UCOMIEnumMoniker.cs: Likewise.
548         * UCOMIEnumString.cs: Likewise.
549         * UCOMIStream.cs: Likewise.
550         * UCOMITypeInfo.cs: Likewise.
551         * UCOMITypeLib.cs: Likewise.
552
553 2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
554
555         * BINDPTR.cs: have layout and charset match MS.NET
556         * CONNECTDATA.cs: have layout and charset match MS.NET
557         * DISPPARAMS.cs: have layout and charset match MS.NET
558         * ELEMDESC.cs: have layout and charset match MS.NET
559         * EXCEPINFO.cs: have layout and charset match MS.NET
560         * IDLDESC.cs: have layout and charset match MS.NET
561         * PARAMDESC.cs: have layout and charset match MS.NET
562         * STATSTG.cs: have layout and charset match MS.NET
563         * TYPEATTR.cs: have layout and charset match MS.NET
564         * TYPEDESC.cs: have layout and charset match MS.NET
565         * TYPELIBATTR.cs: have layout and charset match MS.NET
566         * VARDESC.cs: have layout and charset match MS.NET
567
568 2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
569
570         * ArrayWithOffset.cs: fixed GetOffset to return int instead of
571         object
572         * CONNECTDATA.cs: added missing MarshalAs attribute
573         * EXCEPINFO.cs: added missing MarshalAs attributes
574         * ITypeLibConverter.cs: added missing MarshalAs attributes
575         * ITypeLibImporterNotifySink.cs: added missing MarshalAs attributes
576         * Marshal.cs: added missing MarshalAs attributues, and missing
577         Out attributes
578         * TypeLibConverter.cs: added missing MarshalAs attributes
579         * UCOMIBindCtx.cs: added missing MarshalAs attributes
580         * UCOMIConnectionPoint.cs: added missing MarshalAs attributes
581         * UCOMIEnumConnectionPoints.cs: added missing MarshalAs attributes
582         * UCOMIEnumConnections.cs: added missing PreserveSig attributes,
583         added missing MarshalAs attributes
584         * UCOMIEnumMoniker.cs: added missing PreserveSig attributes,
585         added missing MarshalAs attributes
586         * UCOMIEnumString.cs: added missing PreserveSig attributes,
587         added missing MarshalAs attributes
588         * UCOMIMoniker.cs: added missing MarshalAs attributes
589         * UCOMIPersistFile.cs: added missing PreserveSig attribute,
590         added missing MarshalAs attributes
591         * UCOMIRunningObjectTable.cs: added missing MarshalAs attributes
592         * UCOMIStream.cs: added missing MarshalAs attributes
593         * UCOMITypeComp.cs: added missing MarshalAs attributes
594         * UCOMITypeInfo.cs: added missing MarshalAs attributes
595         * UCOMITypeLib.cs: added missing PreserveSig attributes, added
596         missing MarshalAs attributes
597
598 2004-06-17  Gert Driesen <drieseng@users.sourceforge.net>
599
600         * MarshalDirectiveException.cs: marked serializable to match MS.NET
601         * SafeArrayRankMismatchException.cs: marked serializable to match
602         MS.NET
603         * SafeArrayTypeMismatchException.cs: marked serializable to match
604         MS.NET
605
606 2004-06-17  Gert Driesen <drieseng@users.sourceforge.net>
607
608         * InvalidComObjectException.cs: marked serializable to match MS.NET
609         * InvalidOleVarianTypeException.cs: marked serializable to match
610         MS.NET
611
612 2004-06-17  Gert Driesen <drieseng@users.sourceforge.net>
613
614         * BestFitMappingAttribute.cs: removed serializable attribute
615         to match MS.NET
616
617 2004-05-30  Gert Driesen (drieseng@users.sourceforge.net)
618
619         * SetWin32ContextInIDispatchAttribute.cs: only build
620         for NET_2_0 profile
621         * VariantWrapper.cs: only build for NET_2_0 profile
622
623 2004-05-29  Gert Driesen (drieseng@users.sourceforge.net)
624
625         * SetWin32ContextInIDispatchAttribute.cs: added
626         * VariantWrapper.cs: added
627
628 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
629
630         * AutomationProxyAttribute.cs
631         * BestFitMappingAttribute.cs
632         * ClassInterfaceAttribute.cs
633         * CoClassAttribute.cs
634         * ComAliasNameAttribute.cs
635         * ComCompatibleVersionAttribute.cs
636         * ComConversionLossAttribute.cs
637         * ComEventInterfaceAttribute.cs
638         * ComImportAttribute.cs
639         * ComRegisterFunctionAttribute.cs
640         * ComSourceInterfaceAttribute.cs
641         * ComUnregisterFunctionAttribute.cs
642         * Comvisible.cs
643         * DispIdAttribute.cs
644         * DllImportAttribute.cs
645         * FieldOffsetAttribute.cs
646         * GuidAttribute.cs
647         * IDispatchImplAttribute.cs
648         * ImportedFromTypeLibAttribute.cs
649         * InAttribute.cs
650         * InterfaceTypeAttribute.cs
651         * LCIDConversionAttribute.cs
652         * MarshalAsAttribute.cs
653         * OptionalAttribute.cs
654         * OutAttribute.cs
655         * PreserveSigAttribute.cs
656         * PrimaryInteropAssemblyAttribute.cs
657         * ProgIdAttribute.cs
658         * StructLayoutAttribute.cs
659         * TypeLibFuncAttribute.Cs
660         * TypeLibTypeAttribute.cs
661         * TypeLibVarAttribute.cs
662         * TypeLibVersionAttribute.cs now that Inherited is 
663         false by default on AttributeUsageAttribute (as it 
664         should be) we need to explicitly set Inherited to 
665         false for those attributes should where it should be
666         false.
667
668 2004-05-06  Mike Shaver  <shaver@off.net>
669         * Marshal.cs: Implement StringToCoTaskMem{Ansi,Uni}
670
671 2004-05-05  Zoltan Varga  <vargaz@freemail.hu>
672
673         * Marshal.cs: Applied patch from vladimir@pobox.com (Vladimir Vukicevic). Implement UnsafeAddrOfPinnedArrayElement.
674
675 2004-01-30  Zoltan Varga  <vargaz@freemail.hu>
676
677         * Marshal.cs: Implement AllocCoTaskMem and FreeCoTaskMem.
678
679 2003-11-26  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
680
681         * DispatchWrapper.cs: Added and implemented
682         * ErrorWrapper.cs: Fixed bug
683         * Marshal.cs: Added missing members
684
685 2003-11-18  Jackson Harper <jackson@ximian.com>
686
687         * CurrencyWrapper.cs: Fix file name.
688         
689 2003-11-18  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
690
691         * BestFitMappingAttribute.cs: Signature fix
692         * Marshal.cs: Add attribute, fix signatures
693         * MarshalAsAttribute.cs: Add head, add entry
694         * DllImportAttribute.cs: Added v1.1 entries
695         * TypeLibConverter.cs: Added, stubbed
696         * RegistrationServices.cs: Added, stubbed
697         * ExtensibleClassFactory.cs: Added, stubbed
698         * ErrorWrapper.cs: Added, implemented
699         * CurrencyWrapper.cs: Added, implemented
700
701 2003-11-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
702
703         * IRegistrationServices.cs:
704         * ITypeLibConverter.cs:
705         * ITypeLibExporterNameProvider.cs:
706         * ITypeLibExporterNotifySink.cs:
707         * ITypeLibImporterNotifySink.cs: Added missing attribute
708         * UCOMIBindCtx.cs: Added missing attribute, fixed in attribute
709         * UCOMIConnectionPoint.cs:
710         * UCOMIConnectionPointContainer.cs:
711         * UCOMIEnumConnectionPoints.cs:
712         * UCOMIEnumConnections.cs:
713         * UCOMIEnumMoniker.cs:
714         * UCOMIEnumString.cs:
715         * UCOMIEnumVARIANT.cs:
716         * UCOMIMoniker.cs:
717         * UCOMIPersistFile.cs:
718         * UCOMIRunningObjectTable.cs:
719         * UCOMIStream.cs:
720         * UCOMITypeComp.cs:
721         * UCOMITypeInfo.cs:
722         * UCOMITypeLib.cs: Added missing attribute
723
724 2003-08-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
725
726         * UCOMIBindCtx.cs: Added and implemented
727         * UCOMIConnectionPoint.cs: Added and implemented
728         * UCOMIConnectionPointContainer.cs: Added and implemented
729         * UCOMIEnumConnectionPoints.cs: Added and implemented
730         * UCOMIEnumConnections.cs: Added and implemented
731         * UCOMIEnumMoniker.cs: Added and implemented
732         * UCOMIEnumString.cs: Added and implemented
733         * UCOMIEnumVARIANT.cs: Added and implemented
734         * UCOMIMoniker.cs: Added and implemented
735         * UCOMIPersistFile.cs: Added and implemented
736         * UCOMIRunningObjectTable.cs: Added and implemented
737         * UCOMIStream.cs: Added and implemented
738
739         * UCOMTypeComp.cs: renamed
740         * UCOMTypeInfo.cs: renamed
741         * UCOMTypeLib.cs: renamed
742
743         * ITypeLibConverter.cs: Fixed interface signature
744
745         * ComSourceInterfacesAttribute.cs: Added and implemented
746         * IDispatchImplAttribute.cs: Added and implemented
747         * InvalidComObjectException.cs: Added and implemented
748         * InvalidOleVariantTypeException.cs: Added and implemented
749         * MarshalDirectiveException.cs: Added and implemented
750         * SafeArrayRankMismatchException.cs: Added and implemented
751         * SafeArrayTypeMismatchException.cs: Added and implemented
752         * SEHException.cs: Added attribute
753         * UnknownWrapper.cs: Added and implemented
754
755         * BIND_OPTS.cs:
756         * CONNECTDATA.cs:
757         * ELEMDESC.cs:
758         * FILETIME.cs:
759         * FUNCDESC.cs:
760         * IDLDESC.cs:
761         * PARAMDESC.cs:
762         * STATSTG.cs:
763         * TYPEATTR.cs:
764         * TYPEDESC.cs:
765         * TYPELIBATTR.cs:
766         * VARDESC.cs: Added and implemented
767
768         * CALLCONV.cs:
769         * FUNCFLAGS.cs:
770         * FUNCKIND.cs:
771         * IDispatchImplType.cs:
772         * IDLFLAG.cs:
773         * IMPLTYPEFLAGS.cs:
774         * LIBFLAGS.cs:
775         * PARAMFLAG.cs:
776         * SYSKIND.cs:
777         * TYPEFLAGS.cs: 
778         * TypeLibImporterFlags.cs:
779         * VARFLAGS.cs: Added and implemented
780
781 2003-07-12  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
782
783         * ComCompatibleVersionAttribute.cs: Added and implemented
784         * TypeLibVersionAttribute.cs: Added and implemented
785
786 Wed Jun 18 12:49:54 CEST 2003 Paolo Molaro <lupus@ximian.com>
787
788         * Marshal.cs: implemented Prelink with icalls.
789
790 2003-04-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
791
792         * RuntimeEnvironment.cs: New file. Stubbed by Dominik Fretz
793         (roboto@gmx.net).
794
795 2003-03-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
796
797         * ExternalException.cs: doesn't need a field to keep the result code.
798         * SEHException.cs: implemented.
799
800 2003-03-03  Tim Coleman <tim@timcoleman.com>
801         * HandleRef.cs: Add this struct
802
803 2003-01-05  Sebastien Pouliot <spouliot@videotron.ca>
804
805         * COMException.cs: New. Minimal (incomplete - i'm not using COM)
806         implementation because this is thrown when dealing with Software 
807         Publisher Certificates (SPC) in X509Certificate.
808
809 2002-08-22  Nick Drochak  <ndrochak@gol.com>
810
811         * OutAttribute.cs: TypeID isn't overriden from Attribute here.
812         * PInvokeMap.cs: Non-existent enum.  Must be from beta days.
813
814 2002-06-24  root  <dietmar@ximian.com>
815
816         * Marshal.cs: impl. Copy()
817
818 Fri Jun 14 16:18:50 CEST 2002 Paolo Molaro <lupus@ximian.com>
819
820         * UnmanagedType.cs, Marshal.cs: minor fixes.
821
822 Wed Jun 12 16:32:13 CEST 2002 Paolo Molaro <lupus@ximian.com>
823
824         * Marshal.c: stubbed out all the methods and filled in some
825         implementation.
826         * BINDPTR.cs, ComMemberType.cs, DESCKIND.cs, DISPPARAMS.cs,
827         EXCEPINFO.cs, INVOKEKIND.cs, TYPEKIND.cs, UCOMTypeInfo.cs,
828         UCOMTypeLib.cs: enums, interfaces and structs needed in Marshal class.
829
830 Tue Jun 4 18:05:30 CEST 2002 Paolo Molaro <lupus@ximian.com>
831
832         * GCHandle.cs: changed to fit spec and implementation needs.
833
834 Tue May 14 16:35:13 CEST 2002 Paolo Molaro <lupus@ximian.com>
835
836         * CharSet.cs: added missing None enum item.
837
838 2002-04-26  Joe Shaw  <joe@ximian.com>
839
840         * Marshal.cs (StructureToPtr): stub this out.
841
842 2002-04-23  Joe Shaw  <joe@ximian.com>
843
844         * Marshal.cs: Stub out a few functions to get gtk# to build.
845
846 2002-04-22  Duncan Mak  <duncan@ximian.com>
847
848         * ImporterEventKind.cs: 
849         * TypeLibFuncFlags.cs:
850         * TypeLibTypeFlags.cs:
851         * TypeLibVarFlags.cs: Fixed various typos and added missing elements.
852
853         * ComConventionLossAttribute.cs: Removed, there's a typo.
854         * ComConversionLossAttribute.cs: Same attribute, slight change of name.
855
856         * PreserveSigAttribute.cs:
857         * ImportedFromTypeLibAttribute.cs: Added missing AttributeUsage
858         attribute.
859
860         * TypeLibFuncAttribute.cs:
861         * TypeLibTypeAttribute.cs:
862         * TypeLibVarAttribute.cs: Added missing constructors. 
863         
864         
865 2002-04-22  Duncan Mak  <duncan@ximian.com>
866
867         * AutomationProxyAttribute.cs: 
868         * CoClassAttribute.cs: 
869         * ComAliasNameAttribute.cs: 
870         * ComConventionLossAttribute.cs: 
871         * ComEventInterfaceAttribute.cs: 
872         * ComImportAttribute.cs: 
873         * ComRegisterFunctionAttribute.cs: 
874         * ComUnregisterFunctionAttribute.cs: 
875         * DispIdAttribute.cs: 
876         * ImportedFromTypeLibAttribute.cs: 
877         * LCIDConversionAttribute.cs: 
878         * PreserveSigAttribute.cs: 
879         * PrimaryInteropAssemblyAttribute.cs: 
880         * ProgIdAttribute.cs: 
881         * TypeLibFuncAttribute.cs: 
882         * TypeLibFuncFlags.cs: 
883         * TypeLibTypeAttribute.cs: 
884         * TypeLibTypeFlags.cs: 
885         * TypeLibVarAttribute.cs: 
886         * TypeLibVarFlags.cs:  Added to CVS.
887
888 2002-04-08  Nick Drochak  <ndrochak@gol.com>
889
890         * Marshal.cs: Make class public.
891         * ComVisible.cs: New File.
892
893 2002-03-24  Nick Drochak  <ndrochak@gol.com>
894
895         * ClassInterfaceAttribute.cs:
896         * ClassInterfaceType.cs: New Files.
897
898 2002-02-27  Duncan Mak  <duncan@ximian.com>
899
900         * ExporterEventKind.cs:
901         * ITypeLibConverter.cs:
902         * ITypeLibImporterNotifySink.cs: Added to CVS for Kevin Winchester <kwin@ns.sympatico.ca>.
903
904 2002-02-26  Duncan Mak  <duncan@ximian.com>
905
906         * ComInterfaceType.cs: Added to CVS.
907
908         * AssemblyRegistrationFlags.cs:
909         * GuidAttribute.cs:
910         * ICustomAdapter.cs:
911         * ICustomFactory.cs:
912         * ICustomMarshaler.cs: 
913         * IRegistrationServices.cs:
914         * ITypeLibExporterNameProvider.cs:
915         * ITypeLibImporterNotifySink.cs:
916         * InterfaceTypeAttribute.cs:
917         * TypeLibExporterFlags.cs: Committed for Kevin Winchester <kwin@ns.sympatico.ca>.
918         
919         * GCHandle.cs: Added to CVS. Patch from Ajay kumar Dwivedi.
920
921         * GCHandleType.cs: Committed patch from Ajay.
922
923         * ImporterEventKind.cs: Added to CVS.
924
925 2002-01-24  Miguel de Icaza  <miguel@ximian.com>
926
927         * StructLayoutAttribute.cs: Flag attribute as targetting structs
928         or classes. 
929         
930         * InAttribute.cs: Flag attribute as targettting a paramter
931
932         * OutAttribute.cs: ditto.
933         
934         * DllImportAttribute.cs: Flag attribute as targetting methods.
935         
936         * MarshalAsAttribute.cs: Flag attribute as targetting fields,
937         parameters and returnvalues.
938
939 2002-01-23  Dick Porter  <dick@ximian.com>
940
941         * Marshal.cs: Added GetLastWin32Error()
942
943         * ExternalException.cs: Implemented
944
945 2002-01-17  Miguel de Icaza  <miguel@ximian.com>
946
947         * ExternalException.cs: Add ExternalException.
948
949 2002-01-05  Ravi Pratap  <ravi@ximian.com>
950
951         * OutAttribute.cs : Decorate with MonoTODO.
952         
953 Thu Dec 20 15:46:31 CET 2001 Paolo Molaro <lupus@ximian.com>
954
955         * FieldOffsetAttribute.cs, InAttribute.cs, MarshalAsAttribute.cs,
956         OptionalAttribute.cs, StructLayoutAttribute.cs, VarEnum.cs:
957         more stuff needed by the compiler.
958
959 Thu Dec 13 20:22:18 CET 2001 Paolo Molaro <lupus@ximian.com>
960
961         * DllImportAttribute.cs: added.
962         * MethodImplOptions.cs: removed: this is already in CompilerServices.
963
964 Wed Nov 14 17:02:57 CET 2001 Paolo Molaro <lupus@ximian.com>
965
966         * CallingConvention.cs: add missing Winapi.
967
968 2001-07-20  Miguel de Icaza  <miguel@ximian.com>
969
970         * OutAttribute.cs: New file.
971
972 2001-07-18  Michael Lambert <michaellambert@email.com>
973
974         * CallingConvention.cs.cs, CharSet.cs, GCHandleType.cs, LayoutKind.cs: Add.