-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi all, I am trying to pass a reference to a managed object to unmanaged code where I would like to handle it like a MonoObject, so I could use the momo_embed API to call methods of the managed object from unmanaged code.
What I have in mind is some kind of C#/C++ peership where each C# instance of a certain Object has a C++ peer object and the other way round. I tried something like this: C#: ... [DllImport("Simkernel",EntryPoint="SetCsharpPeer")] public static extern void MyClass_SetCsharpPeer( HandleRef jarg1, [MarshalAs(UnmanagedType.Struct)]HandleRef jarg2 ) ... MyClass::SetCsharpPeer(MonoObject* object) { csharpPeer = Object; ... } after calling SetCsharpPeer I try something like; ... MonoClass* klass = mono_object_get_class(csharpPeer); MonoMethod *m = NULL; gpointer iter = NULL; while((m = mono_class_get_methods (klass, &iter))) { ... } ... which results in SEGFAULT when calling mono_class_get_methods. I did not find anythig about how a csharp object should be marshalled to access it as a MonoObject in unmanaged code. So UnmanagedType.Struct was the best guess but since it does not seem to work i obviously have guessed wrong. Is there any way to do what I intend? If so, could anyone please point out how to do this or tell me where to learn about it? Thanks for your help and best regards, Andreas -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFFyF/PNfV8qlW7iaERAl7tAJ9R2JJvoq1//dVp8AbFG/NAJ9PoGACgjJWi lrkxs9a9Yt76hokrA+A0gTw= =ww7I -----END PGP SIGNATURE----- _______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list