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