return array;
}
- public int GetOffset ()
+ public object GetOffset ()
{
return offset;
}
public struct CONNECTDATA
{
public int dwCookie;
- [MarshalAs (UnmanagedType.Interface)]
public object pUnk;
}
}
-2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
-
- * ArrayWithOffset.cs: fixed GetOffset to return int instead of
- object
- * CONNECTDATA.cs: added missing MarshalAs attribute
- * EXCEPINFO.cs: added missing MarshalAs attributes
- * ITypeLibConverter.cs:
- * ITypeLibImporterNotifySink.cs:
- * Marshal.cs: added missing MarshalAs attributues, and missing
- Out attributes
- * TypeLibConverter.cs: added missing MarshalAs attributes
- * UCOMIBindCtx.cs:
- * UCOMIConnectionPoint.cs:
- * UCOMIEnumConnectionPoints.cs:
- * UCOMIEnumConnections.cs: added missing PreserveSig attributes,
- added missing MarshalAs attributes
- * UCOMIEnumMoniker.cs: added missing PreserveSig attributes,
- added missing MarshalAs attributes
- * UCOMIEnumString.cs: added missing PreserveSig attributes,
- added missing MarshalAs attributes
- * UCOMIMoniker.cs: added missing MarshalAs attributes
- * UCOMIPersistFile.cs: added missing PreserveSig attribute,
- added missing MarshalAs attributes
- * UCOMIRunningObjectTable.cs: added missing MarshalAs attributes
- * UCOMIStream.cs: added missing MarshalAs attributes
- * UCOMITypeComp.cs: added missing MarshalAs attributes
- * UCOMITypeInfo.cs: added missing MarshalAs attributes
- * UCOMITypeLib.cs: added missing PreserveSig attributes, added
- missing MarshalAs attributes
-
2004-05-30 Gert Driesen (drieseng@users.sourceforge.net)
* SetWin32ContextInIDispatchAttribute.cs: only build
[ComVisible(false)]
public struct EXCEPINFO {
- [MarshalAs (UnmanagedType.BStr)]
public string bstrDescription;
- [MarshalAs (UnmanagedType.BStr)]
public string bstrHelpFile;
- [MarshalAs (UnmanagedType.BStr)]
public string bstrSource;
public int dwHelpContext;
public IntPtr pfnDeferredFillIn;
namespace System.Runtime.InteropServices
{
- [Serializable]
public class InvalidComObjectException : SystemException
{
private const int ErrorCode = -2146233049; // = 0x80131527
namespace System.Runtime.InteropServices
{
- [Serializable]
public class InvalidOleVariantTypeException : SystemException
{
private const int ErrorCode = -2146233039; // = 0x80131531
public extern static byte ReadByte (IntPtr ptr, int ofs);
[MonoTODO]
- public static byte ReadByte ([In, MarshalAs (UnmanagedType.AsAny)] object ptr, int ofs) {
+ public static byte ReadByte ([In] object ptr, int ofs) {
throw new NotImplementedException ();
}
public extern static short ReadInt16 (IntPtr ptr, int ofs);
[MonoTODO]
- public static short ReadInt16 ([In, MarshalAs(UnmanagedType.AsAny)] object ptr, int ofs) {
+ public static short ReadInt16 ([In] object ptr, int ofs) {
throw new NotImplementedException ();
}
public extern static int ReadInt32 (IntPtr ptr, int ofs);
[MonoTODO]
- public static int ReadInt32 ([In, MarshalAs(UnmanagedType.AsAny)] object ptr, int ofs) {
+ public static int ReadInt32 ([In] object ptr, int ofs) {
throw new NotImplementedException ();
}
public extern static long ReadInt64 (IntPtr ptr, int ofs);
[MonoTODO]
- public static long ReadInt64 ([In, MarshalAs (UnmanagedType.AsAny)] object ptr, int ofs) {
+ public static long ReadInt64([In] object ptr, int ofs) {
throw new NotImplementedException ();
}
public extern static IntPtr ReadIntPtr (IntPtr ptr, int ofs);
[MonoTODO]
- public static IntPtr ReadIntPtr ([In, MarshalAs (UnmanagedType.AsAny)] object ptr, int ofs) {
+ public static IntPtr ReadIntPtr([In] object ptr, int ofs) {
throw new NotImplementedException ();
}
public extern static void WriteByte (IntPtr ptr, int ofs, byte val);
[MonoTODO]
- public static void WriteByte ([In, Out, MarshalAs (UnmanagedType.AsAny)] object ptr, int ofs, byte val) {
+ public static void WriteByte([In,Out] object ptr, int ofs, byte val) {
throw new NotImplementedException ();
}
public extern static void WriteInt16 (IntPtr ptr, int ofs, short val);
[MonoTODO]
- public static void WriteInt16 ([In, Out, MarshalAs (UnmanagedType.AsAny)] object ptr, int ofs, short val) {
+ public static void WriteInt16([In,Out] object ptr, int ofs, short val) {
throw new NotImplementedException ();
}
public extern static void WriteInt16 (IntPtr ptr, int ofs, char val);
[MonoTODO]
- public static void WriteInt16([In, Out, MarshalAs(UnmanagedType.AsAny)] object ptr, int ofs, char val) {
+ public static void WriteInt16([In,Out] object ptr, int ofs, char val) {
throw new NotImplementedException ();
}
public extern static void WriteInt32 (IntPtr ptr, int ofs, int val);
[MonoTODO]
- public static void WriteInt32([In, Out, MarshalAs(UnmanagedType.AsAny)] object ptr, int ofs, int val) {
+ public static void WriteInt32([In,Out] object ptr, int ofs, int val) {
throw new NotImplementedException ();
}
public extern static void WriteInt64 (IntPtr ptr, int ofs, long val);
[MonoTODO]
- public static void WriteInt64 ([In, Out, MarshalAs (UnmanagedType.AsAny)] object ptr, int ofs, long val) {
+ public static void WriteInt64([In] object ptr, int ofs, long val) {
throw new NotImplementedException ();
}
public extern static void WriteIntPtr (IntPtr ptr, int ofs, IntPtr val);
[MonoTODO]
- public static void WriteIntPtr([In, Out, MarshalAs(UnmanagedType.AsAny)] object ptr, int ofs, IntPtr val) {
+ public static void WriteIntPtr([In] object ptr, int ofs, IntPtr val) {
throw new NotImplementedException ();
}
namespace System.Runtime.InteropServices
{
- [Serializable]
public class MarshalDirectiveException : SystemException
{
private const int ErrorCode = -2146233035; // = 0x80131535
namespace System.Runtime.InteropServices
{
- [Serializable]
public class SafeArrayRankMismatchException : SystemException
{
private const int ErrorCode = -2146233032; // = 0x80131538
namespace System.Runtime.InteropServices
{
- [Serializable]
public class SafeArrayTypeMismatchException : SystemException
{
private const int ErrorCode = -2146233037; // = 0x80131533
}
[MonoTODO ("implement")]
- public AssemblyBuilder ConvertTypeLibToAssembly ([MarshalAs(UnmanagedType.Interface)] object typeLib, string asmFileName, int flags, ITypeLibImporterNotifySink notifySink, byte[] publicKey, StrongNameKeyPair keyPair, bool unsafeInterfaces)
+ public AssemblyBuilder ConvertTypeLibToAssembly (object typeLib, string asmFileName, int flags, ITypeLibImporterNotifySink notifySink, byte[] publicKey, StrongNameKeyPair keyPair, bool unsafeInterfaces)
{
throw new NotImplementedException ();
}
[MonoTODO ("implement")]
- public AssemblyBuilder ConvertTypeLibToAssembly ([MarshalAs(UnmanagedType.Interface)] object typeLib, string asmFileName, TypeLibImporterFlags flags, ITypeLibImporterNotifySink notifySink, byte[] publicKey, StrongNameKeyPair keyPair, string asmNamespace, Version asmVersion)
+ public AssemblyBuilder ConvertTypeLibToAssembly (object typeLib, string asmFileName, TypeLibImporterFlags flags, ITypeLibImporterNotifySink notifySink, byte[] publicKey, StrongNameKeyPair keyPair, string asmNamespace, Version asmVersion)
{
throw new NotImplementedException ();
}
{
void EnumObjectParam (out UCOMIEnumString ppenum);
void GetBindOptions (ref BIND_OPTS pbindopts);
- void GetObjectParam ([MarshalAs (UnmanagedType.LPWStr)] string pszKey, [MarshalAs (UnmanagedType.Interface)] out object ppunk);
+ void GetObjectParam (string pszKey, out object ppunk);
void GetRunningObjectTable (out UCOMIRunningObjectTable pprot);
- void RegisterObjectBound ([MarshalAs(UnmanagedType.Interface)] object punk);
- void RegisterObjectParam ([MarshalAs (UnmanagedType.LPWStr)] string pszKey, [MarshalAs (UnmanagedType.Interface)] object punk);
+ void RegisterObjectBound (object punk);
+ void RegisterObjectParam (string pszKey, object punk);
void ReleaseBoundObjects ();
- void RevokeObjectBound ([MarshalAs(UnmanagedType.Interface)] object punk);
- void RevokeObjectParam ([MarshalAs(UnmanagedType.LPWStr)] string pszKey);
+ void RevokeObjectBound (object punk);
+ void RevokeObjectParam (string pszKey);
void SetBindOptions ([In] ref BIND_OPTS pbindopts);
}
}
[InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
public interface UCOMIConnectionPoint
{
- void Advise ([MarshalAs(UnmanagedType.Interface)] object pUnkSink, out int pdwCookie);
+ void Advise (object pUnkSink, out int pdwCookie);
void EnumConnections (out UCOMIEnumConnections ppEnum);
void GetConnectionInterface (out Guid pIID);
void GetConnectionPointContainer (out UCOMIConnectionPointContainer ppCPC);
{
void Clone (out UCOMIEnumConnectionPoints ppenum);
[PreserveSigAttribute]
- int Next (int celt, [Out, MarshalAs (UnmanagedType.LPArray, ArraySubType = (UnmanagedType) 80, SizeParamIndex = 0)] UCOMIConnectionPoint[] rgelt, out int pceltFetched);
+ int Next (int celt, [Out, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 0)] UCOMIConnectionPoint[] rgelt, out int pceltFetched);
[PreserveSigAttribute]
int Reset ();
[PreserveSigAttribute]
public interface UCOMIEnumConnections
{
void Clone (out UCOMIEnumConnections ppenum);
- [PreserveSigAttribute]
- int Next (int celt, [Out, MarshalAs(UnmanagedType.LPArray, ArraySubType=(UnmanagedType) 80, SizeParamIndex=0)] CONNECTDATA[] rgelt, out int pceltFetched);
- [PreserveSigAttribute]
+ int Next (int celt, [Out] CONNECTDATA[] rgelt, out int pceltFetched);
void Reset ();
- [PreserveSigAttribute]
int Skip (int celt);
}
}
public interface UCOMIEnumMoniker
{
void Clone (out UCOMIEnumMoniker ppenum);
- [PreserveSigAttribute]
- int Next (int celt, [Out, MarshalAs(UnmanagedType.LPArray, ArraySubType = (UnmanagedType) 80, SizeParamIndex = 0)] UCOMIMoniker[] rgelt, out int pceltFetched);
- [PreserveSigAttribute]
+ int Next (int celt, [Out] UCOMIMoniker[] rgelt, out int pceltFetched);
int Reset ();
- [PreserveSigAttribute]
int Skip (int celt);
}
}
public interface UCOMIEnumString
{
void Clone (out UCOMIEnumString ppenum);
- [PreserveSigAttribute]
- int Next (int celt, [Out, MarshalAs (UnmanagedType.LPArray, ArraySubType = (UnmanagedType) 80, SizeParamIndex = 0)] string[] rgelt, out int pceltFetched);
- [PreserveSigAttribute]
+ int Next (int celt, [Out] string[] rgelt, out int pceltFetched);
int Reset ();
- [PreserveSigAttribute]
int Skip (int celt);
}
}
[InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
public interface UCOMIMoniker
{
- void BindToObject (UCOMIBindCtx pbc, UCOMIMoniker pmkToLeft, [In] ref Guid riidResult, [MarshalAs (UnmanagedType.Interface)] out object ppvResult);
- void BindToStorage (UCOMIBindCtx pbc, UCOMIMoniker pmkToLeft, [In] ref Guid riid, [MarshalAs (UnmanagedType.Interface)] out object ppvObj);
+ void BindToObject (UCOMIBindCtx pbc, UCOMIMoniker pmkToLeft, [In] ref Guid riidResult, out object ppvResult);
+ void BindToStorage (UCOMIBindCtx pbc, UCOMIMoniker pmkToLeft, [In] ref Guid riid, out object ppvObj);
void CommonPrefixWith (UCOMIMoniker pmkOther, out UCOMIMoniker ppmkPrefix);
- void ComposeWith (UCOMIMoniker pmkRight, [MarshalAs (UnmanagedType.LPWStr)] bool fOnlyIfNotGeneric, out UCOMIMoniker ppmkComposite);
- void Enum ([MarshalAs(UnmanagedType.Bool)] bool fForward, out UCOMIEnumMoniker ppenumMoniker);
+ void ComposeWith (UCOMIMoniker pmkRight, bool fOnlyIfNotGeneric, out UCOMIMoniker ppmkComposite);
+ void Enum (bool fForward, out UCOMIEnumMoniker ppenumMoniker);
void GetClassID (out Guid pClassID);
- void GetDisplayName (UCOMIBindCtx pbc, UCOMIMoniker pmkToLeft, [MarshalAs (UnmanagedType.LPWStr)] out string ppszDisplayName);
+ void GetDisplayName (UCOMIBindCtx pbc, UCOMIMoniker pmkToLeft, out string ppszDisplayName);
void GetSizeMax (out long pcbSize);
void GetTimeOfLastChange (UCOMIBindCtx pbc, UCOMIMoniker pmkToLeft, out FILETIME pFileTime);
void Hash (out int pdwHash);
void IsRunning (UCOMIBindCtx pbc, UCOMIMoniker pmkToLeft, UCOMIMoniker pmkNewlyRunning);
void IsSystemMoniker (out int pdwMksys);
void Load (UCOMIStream pStm);
- void ParseDisplayName (UCOMIBindCtx pbc, UCOMIMoniker pmkToLeft, [MarshalAs (UnmanagedType.LPWStr)] string pszDisplayName, out int pchEaten, out UCOMIMoniker ppmkOut);
+ void ParseDisplayName (UCOMIBindCtx pbc, UCOMIMoniker pmkToLeft, string pszDisplayName, out int pchEaten, out UCOMIMoniker ppmkOut);
void Reduce (UCOMIBindCtx pbc, int dwReduceHowFar, ref UCOMIMoniker ppmkToLeft, out UCOMIMoniker ppmkReduced);
void RelativePathTo (UCOMIMoniker pmkOther, out UCOMIMoniker ppmkRelPath);
- void Save (UCOMIStream pStm, [MarshalAs (UnmanagedType.Bool)] bool fClearDirty);
+ void Save (UCOMIStream pStm, bool fClearDirty);
}
}
public interface UCOMIPersistFile
{
void GetClassID (out Guid pClassID);
- void GetCurFile ([MarshalAs(UnmanagedType.LPWStr)] out string ppszFileName);
- [PreserveSig]
+ void GetCurFile (out string ppszFileName);
int IsDirty ();
- void Load ([MarshalAs(UnmanagedType.LPWStr)] string pszFileName, int dwMode);
- void Save ([MarshalAs (UnmanagedType.LPWStr)] string pszFileName, [MarshalAs (UnmanagedType.Bool)] bool fRemember);
- void SaveCompleted ([MarshalAs (UnmanagedType.LPWStr)]string pszFileName);
+ void Load (string pszFileName, int dwMode);
+ void Save (string pszFileName, bool fRemember);
+ void SaveCompleted (string pszFileName);
}
}
public interface UCOMIRunningObjectTable
{
void EnumRunning (out UCOMIEnumMoniker ppenumMoniker);
- void GetObject (UCOMIMoniker pmkObjectName, [MarshalAs (UnmanagedType.Interface)] out object ppunkObject);
+ void GetObject (UCOMIMoniker pmkObjectName, out object ppunkObject);
void GetTimeOfLastChange (UCOMIMoniker pmkObjectName, out FILETIME pfiletime);
void IsRunning (UCOMIMoniker pmkObjectName);
void NoteChangeTime (int dwRegister, ref FILETIME pfiletime);
- void Register (int grfFlags, [MarshalAs (UnmanagedType.Interface)] object punkObject, UCOMIMoniker pmkObjectName, out int pdwRegister);
+ void Register (int grfFlags, object punkObject, UCOMIMoniker pmkObjectName, out int pdwRegister);
void Revoke (int dwRegister);
}
}
void Commit (int grfCommitFlags);
void CopyTo (UCOMIStream pstm, long cb, IntPtr pcbRead, IntPtr pcbWritten);
void LockRegion (long libOffset, long cb, int dwLockType);
- void Read ([Out, MarshalAs(UnmanagedType.LPArray, ArraySubType = (UnmanagedType) 80, SizeParamIndex = 1)] byte[] pv, int cb, IntPtr pcbRead);
+ void Read ([Out] byte[] pv, int cb, IntPtr pcbRead);
void Revert ();
void Seek (long dlibMove, int dwOrigin, IntPtr plibNewPosition);
void SetSize (long libNewSize);
void Stat (out STATSTG pstatstg, int grfStatFlag);
void UnlockRegion (long libOffset, long cb, int dwLockType);
- void Write ([MarshalAs(UnmanagedType.LPArray, ArraySubType = (UnmanagedType) 80, SizeParamIndex = 1)] byte[] pv, int cb, IntPtr pcbWritten);
+ void Write (byte[] pv, int cb, IntPtr pcbWritten);
}
}
namespace System.Runtime.InteropServices
{
+
[Guid("00020403-0000-0000-c000-000000000046")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface UCOMITypeComp {
- void Bind([MarshalAs(UnmanagedType.LPWStr)] string szName, int lHashVal, short wFlags, out UCOMITypeInfo ppTInfo, out DESCKIND pDescKind, out BINDPTR pBindPtr);
- void BindType([MarshalAs(UnmanagedType.LPWStr)] string szName, int lHashVal, out UCOMITypeInfo ppTInfo, out UCOMITypeComp ppTComp);
+ void Bind( string szName, int lHashVal, short wFlags, out UCOMITypeInfo ppTInfo, out DESCKIND pDescKind, out BINDPTR pBindPtr);
+ void BindType( string szName, int lHashVal, out UCOMITypeInfo ppTInfo, out UCOMITypeComp ppTComp);
}
}
+
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface UCOMITypeInfo {
void AddressOfMember (int memid, INVOKEKIND invKind, out IntPtr ppv);
- void CreateInstance ([MarshalAs (UnmanagedType.IUnknown)] object pUnkOuter, ref Guid riid, [MarshalAs (UnmanagedType.IUnknown)] out object ppvObj);
+ void CreateInstance (object pUnkOuter, ref Guid riid, out object ppvObj);
void GetContainingTypeLib (out UCOMITypeLib ppTLB, out int pIndex);
void GetDllEntry (int memid, INVOKEKIND invKind, out string pBstrDllName, out string pBstrName, out short pwOrdinal);
void GetDocumentation (int index, out string strName, out string strDocString, out int dwHelpContext, out string strHelpFile);
void GetFuncDesc (int index, out IntPtr ppFuncDesc);
- void GetIDsOfNames ([In, MarshalAs(UnmanagedType.LPArray, ArraySubType = (UnmanagedType.LPWStr), SizeParamIndex=1)] string[] rgszNames, int cNames, [Out, MarshalAs (UnmanagedType.LPArray, ArraySubType = (UnmanagedType) 80, SizeParamIndex=1)] int[] pMemId);
+ void GetIDsOfNames ([In] string[] rgszNames, int cNames, [Out] int[] pMemId);
void GetImplTypeFlags (int index, out int pImplTypeFlags);
void GetMops (int memid, out string pBstrMops);
- void GetNames (int memid, [Out, MarshalAs (UnmanagedType.LPArray, ArraySubType = (UnmanagedType) 80, SizeParamIndex=2)] string[] rgBstrNames, int cMaxNames, out int pcNames);
+ void GetNames (int memid, [Out] string[] rgBstrNames, int cMaxNames, out int pcNames);
void GetRefTypeInfo (int hRef, out UCOMITypeInfo ppTI);
void GetRefTypeOfImplType (int index, out int href);
void GetTypeAttr (out IntPtr ppTypeAttr);
void GetTypeComp (out UCOMITypeComp ppTComp);
void GetVarDesc (int index, out IntPtr ppVarDesc);
- void Invoke ([MarshalAs (UnmanagedType.IUnknown)] object pvInstance, int memid, short wFlags, ref DISPPARAMS pDispParams, out object pVarResult, out EXCEPINFO pExcepInfo, out int puArgErr);
+ void Invoke (object pvInstance, int memid, short wFlags, ref DISPPARAMS pDispParams, out object pVarResult, out EXCEPINFO pExcepInfo, out int puArgErr);
void ReleaseFuncDesc (IntPtr pFuncDesc);
void ReleaseTypeAttr (IntPtr pTypeAttr);
void ReleaseVarDesc (IntPtr pVarDesc);
[Guid("00020402-0000-0000-c000-000000000046")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface UCOMITypeLib {
- void FindName ([MarshalAs(UnmanagedType.LPWStr)] string szNameBuf, int lHashVal, [Out, MarshalAs (UnmanagedType.LPArray, ArraySubType = (UnmanagedType) 80)] UCOMITypeInfo[] ppTInfo, [Out, MarshalAs (UnmanagedType.LPArray, ArraySubType = (UnmanagedType) 80)] int[] rgMemId, ref short pcFound);
- void GetDocumentation (int index, out string strName, out string strDocString, out int dwHelpContext, out string strHelpFile);
- void GetLibAttr (out IntPtr ppTLibAttr);
- void GetTypeComp (out UCOMITypeComp ppTComp);
- void GetTypeInfo (int index, out UCOMITypeInfo ppTI);
- [PreserveSig]
- int GetTypeInfoCount ();
- void GetTypeInfoOfGuid (ref Guid guid, out UCOMITypeInfo ppTInfo);
- void GetTypeInfoType (int index, out TYPEKIND pTKind);
- [return: MarshalAs (UnmanagedType.Bool)]
- bool IsName ([MarshalAs(UnmanagedType.LPWStr)] string szNameBuf, int lHashVal);
- [PreserveSig]
- void ReleaseTLibAttr (IntPtr pTLibAttr);
+ void FindName( string szNameBuf, int lHashVal, [Out] UCOMITypeInfo[] ppTInfo, [Out] int[] rgMemId, ref short pcFound);
+ void GetDocumentation( int index, out string strName, out string strDocString, out int dwHelpContext, out string strHelpFile);
+ void GetLibAttr( out IntPtr ppTLibAttr);
+ void GetTypeComp( out UCOMITypeComp ppTComp);
+ void GetTypeInfo( int index, out UCOMITypeInfo ppTI);
+ int GetTypeInfoCount();
+ void GetTypeInfoOfGuid( ref Guid guid, out UCOMITypeInfo ppTInfo);
+ void GetTypeInfoType( int index, out TYPEKIND pTKind);
+ bool IsName( string szNameBuf, int lHashVal);
+ void ReleaseTLibAttr( IntPtr pTLibAttr);
}
}