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