我用了
public static Object PtrToStructure(
IntPtr ptr,
Type structureType
)
在形式
private static object ReadStruct(byte[] buffer, Type t)
{
GCHandle handle =
GCHandle.Alloc(buffer,
GCHandleType.Pinned);
Object temp =
Marshal.PtrToStructure(
handle.AddrOfPinnedObject(),
t);
handle.Free();
return temp;
}
在.NET 4.0数据编组。 Silverlight不支持这种方法。 根据下面的文章中,.NET方法简直就是一个天然的Win32函数的包装。 一个例子给出用于Marshal.AllocHGlobal(从Kernel32.dll中的Win32函数LocalAlloc)
http://blogs.msdn.com/b/silverlight_sdk/archive/2011/09/27/pinvoke-in-silverlight5-and-net-framework.aspx
这些都是新的水域,因为SL5刚启用PInvoke的受信任的应用程序(在浏览器为好)那是什么累得PtrToStructure包,是有什么在SL5使用该防止Win32函数?