Solved

Need help with compiling warnings that might cause memory error

Posted on 2006-11-13
3
701 Views
Last Modified: 2008-01-09
Hi I'm using vs2005.  I am getting a bunch of compiler warnings after I made
some changes to my code that was compiling clean.  I'm also getting memory
errors when I run my program and it's pinvoking some C++ code, which was
working also fine before.  I wonder if these warning are causing the problem.
 I would appreciate some help or suggestions on how to correct these.  Thanks.

Warning      37      At least one of the arguments for
'IADsExtension.PrivateGetIDsOfNames' cannot be marshaled by the runtime
marshaler.  Such arguments will therefore be passed as a pointer and may
require unsafe code to manipulate.
Warning      39      At least one of the arguments for
'IDirectoryObject.GetObjectAttributes' cannot be marshaled by the runtime
marshaler.  Such arguments will therefore be passed as a pointer and may
require unsafe code to manipulate.
Warning      38      At least one of the arguments for
'IDirectoryObject.GetObjectInformation' cannot be marshaled by the runtime
marshaler.  Such arguments will therefore be passed as a pointer and may
require unsafe code to manipulate.
Warning      40      At least one of the arguments for
'IDirectorySchemaMgmt.EnumAttributes' cannot be marshaled by the runtime
marshaler.  Such arguments will therefore be passed as a pointer and may
require unsafe code to manipulate.
Warning      41      At least one of the arguments for
'IDirectorySchemaMgmt.EnumClasses' cannot be marshaled by the runtime
marshaler.  Such arguments will therefore be passed as a pointer and may
require unsafe code to manipulate.
Warning      47      At least one of the arguments for 'IGetAppData.GetAppData' cannot
be marshaled by the runtime marshaler.  Such arguments will therefore be
passed as a pointer and may require unsafe code to manipulate.
Warning      46      At least one of the arguments for 'IGetAppData.GetApps' cannot be
marshaled by the runtime marshaler.  Such arguments will therefore be passed
as a pointer and may require unsafe code to manipulate.
Warning      48      At least one of the arguments for 'IGetAppData.GetCLSIDData'
cannot be marshaled by the runtime marshaler.  Such arguments will therefore
be passed as a pointer and may require unsafe code to manipulate.
Warning      27      At least one of the arguments for
'IPrivateDispatch.ADSIGetIDsOfNames' cannot be marshaled by the runtime
marshaler.  Such arguments will therefore be passed as a pointer and may
require unsafe code to manipulate.
Warning      32      At least one of the arguments for 'ITypeComp.RemoteBind' cannot
be marshaled by the runtime marshaler.  Such arguments will therefore be
passed as a pointer and may require unsafe code to manipulate.
Warning      29      At least one of the arguments for 'ITypeInfo.RemoteGetFuncDesc'
cannot be marshaled by the runtime marshaler.  Such arguments will therefore
be passed as a pointer and may require unsafe code to manipulate.
Warning      28      At least one of the arguments for 'ITypeInfo.RemoteGetTypeAttr'
cannot be marshaled by the runtime marshaler.  Such arguments will therefore
be passed as a pointer and may require unsafe code to manipulate.
Warning      30      At least one of the arguments for 'ITypeInfo.RemoteGetVarDesc'
cannot be marshaled by the runtime marshaler.  Such arguments will therefore
be passed as a pointer and may require unsafe code to manipulate.
Warning      36      At least one of the arguments for 'ITypeLib.RemoteGetLibAttr'
cannot be marshaled by the runtime marshaler.  Such arguments will therefore
be passed as a pointer and may require unsafe code to manipulate.
Warning      44      At least one of the arguments for 'TrackerServer.GetAppData'
cannot be marshaled by the runtime marshaler.  Such arguments will therefore
be passed as a pointer and may require unsafe code to manipulate.
Warning      43      At least one of the arguments for 'TrackerServer.GetApps' cannot
be marshaled by the runtime marshaler.  Such arguments will therefore be
passed as a pointer and may require unsafe code to manipulate.
Warning      45      At least one of the arguments for 'TrackerServer.GetCLSIDData'
cannot be marshaled by the runtime marshaler.  Such arguments will therefore
be passed as a pointer and may require unsafe code to manipulate.
Error      49      Invalid token '=' in class, struct, or interface member
declaration      C:\Projects\UnityAdmin\Main.cs      150
Warning      2      The private field
'UnityAdmin.FormMain.ERROR_OBJECT_ALREADY_EXISTS' is assigned but its value
is never used      C:\Projects\UnityAdmin\Main.cs      149
Warning      3      The private field 'UnityAdmin.frmConnectToDomain.domControllers'
is never used      C:\Projects\UnityAdmin\ConnectToDomain.cs      17
Warning      5      The type library importer could not convert the signature for the
member '__MIDL___MIDL_itf_ads_0000_0002.lpValue'.
Warning      7      The type library importer could not convert the signature for the
member '__MIDL___MIDL_itf_ads_0000_0003.lpValue'.
Warning      9      The type library importer could not convert the signature for the
member '__MIDL___MIDL_itf_ads_0000_0004.lpValue'.
Warning      14      The type library importer could not convert the signature for the
member '__MIDL___MIDL_itf_ads_0000_0011.Address'.
Warning      16      The type library importer could not convert the signature for the
member '__MIDL___MIDL_itf_ads_0000_0012.ReplicaAddressHints'.
Warning      18      The type library importer could not convert the signature for the
member '__MIDL___MIDL_itf_ads_0000_0013.Parameters'.
Warning      20      The type library importer could not convert the signature for the
member '__MIDL___MIDL_itf_ads_0000_0015.lpBinaryValue'.
Warning      21      The type library importer could not convert the signature for the
member '_ads_attr_info.pADsValues'.
Warning      10      The type library importer could not convert the signature for the
member '_ADS_CASEIGNORE_LIST.Next'.
Warning      23      The type library importer could not convert the signature for the
member '_ads_class_def.ppszMandatoryAttrs'.
Warning      25      The type library importer could not convert the signature for the
member '_ads_class_def.ppszNamingAttrs'.
Warning      24      The type library importer could not convert the signature for the
member '_ads_class_def.ppszOptionalAttrs'.
Warning      26      The type library importer could not convert the signature for the
member '_ads_class_def.ppszSuperClasses'.
Warning      12      The type library importer could not convert the signature for the
member '_ADS_OCTET_LIST.Data'.
Warning      11      The type library importer could not convert the signature for the
member '_ADS_OCTET_LIST.Next'.
Warning      19      The type library importer could not convert the signature for the
member 'ADS_DN_WITH_BINARY.lpBinaryValue'.
Warning      17      The type library importer could not convert the signature for the
member 'ADS_FAXNUMBER.Parameters'.
Warning      13      The type library importer could not convert the signature for the
member 'ADS_NETADDRESS.Address'.
Warning      6      The type library importer could not convert the signature for the
member 'ADS_NT_SECURITY_DESCRIPTOR.lpValue'.
Warning      4      The type library importer could not convert the signature for the
member 'ADS_OCTET_STRING.lpValue'.
Warning      8      The type library importer could not convert the signature for the
member 'ADS_PROV_SPECIFIC.lpValue'.
Warning      15      The type library importer could not convert the signature for the
member 'ADS_REPLICAPOINTER.ReplicaAddressHints'.
Warning      22      The type library importer could not convert the signature for the
member 'ads_search_column.pADsValues'.
Warning      31      The type library importer could not convert the signature for the
member 'tagARRAYDESC.rgbounds'.
Warning      42      The type library importer could not convert the signature for the
member 'tagBLOB.pBlobData'.
Warning      34      The type library importer could not convert the signature for the
member 'tagFUNCDESC.lprgelemdescParam'.
Warning      33      The type library importer could not convert the signature for the
member 'tagFUNCDESC.lprgscode'.
Warning      35      The type library importer could not convert the signature for the
member 'tagPARAMDESC.pparamdescex'.

--
Thanks.
0
Comment
Question by:lapucca
  • 2
3 Comments
 
LVL 39

Expert Comment

by:itsmeandnobodyelse
ID: 17937755
Did you mix C# code with managed/unmanaged C++ code?

>>>> Main.cs

the .cs extension is reserved for C# code ???


Unfortunately I don't know of C# and little of managed C++. But AFAIK you should try to use pure managed code if you don't want to dive into a swamp called 'marshalling'.

Regards, Alex

0
 

Author Comment

by:lapucca
ID: 17944424
Yes Alex, I am pinvoking dll that are written in C++.  I also pinvok dll written in C.  All these dlls can not be written in C# so I can only try to deal with it.  thank you.
0
 
LVL 39

Accepted Solution

by:
itsmeandnobodyelse earned 500 total points
ID: 17944906
>>>> All these dlls can not be written in C#

Yes, but I think they can't be written in managed C++ as well. You have to write them in unmanaged C++ or in C and call them from managed C++ or C# by means of the marshaler.

Regards, Alex
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

In days of old, returning something by value from a function in C++ was necessarily avoided because it would, invariably, involve one or even two copies of the object being created and potentially costly calls to a copy-constructor and destructor. A…
Many modern programming languages support the concept of a property -- a class member that combines characteristics of both a data member and a method.  These are sometimes called "smart fields" because you can add logic that is applied automaticall‚Ķ
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now