[Mono-bugs] [Bug 469217] Pointers can not reference marshaled structures.
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Sun Jan 25 13:18:53 EST 2009
https://bugzilla.novell.com/show_bug.cgi?id=469217
User eugeny.grishul at gmail.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=469217#c2
--- Comment #2 from Eugeny Grishul <eugeny.grishul at gmail.com> 2009-01-25 11:18:50 MST ---
I found ability to pass pointers in Mono docs:
http://www.mono-project.com/Interop_with_Native_Libraries
struct Item {
[DllImport ("library")]
public static unsafe extern
bool CreateItem (out Item* item);
[DllImport ("library")]
public static unsafe extern void DestroyItem (Item* item);
[DllImport ("library")]
public static unsafe extern int GetInfo (Item* item);
}
I provide more clear example(tested on MS .NET 3.5+SP1):
using System.Runtime.InteropServices;
namespace MonoTest
{
unsafe class Program
{
static void Main( string[] args )
{
printf( ( SomeStruct* ) Marshal.StringToHGlobalAnsi( "this text
appears only in MS.NET VES!\r\n" ).ToPointer() );
}
unsafe struct SomeStruct
{
public System.IntPtr _ptr;
}
[DllImport( "msvcrt.dll" )]
static extern void printf( SomeStruct* arr );
}
}
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the mono-bugs
mailing list