【发布时间】:2012-08-28 23:09:10
【问题描述】:
SafeHandleZeroOrMinusOneIsInvalid 或类似类不能用于面向 .NET 4.0 和 Windows 应用商店应用的可移植类库。
有人知道为什么或如何使用它或使用不同的类吗?
是的,我想在可移植类库中添加一些不安全的东西。
【问题讨论】:
-
不幸的是,这是不可能的。可移植类库是 BCL 的一个很小的子集,不允许您使用 Win32 API 调用。
-
但是 SafeHandle 本身是可用的,而且我认为 PInvoke 也是可用的,所以可以复制 SafeHandleZeroOrMinusOnesIsInvalid 的源代码。实际上,我需要的基本上是一个 SafeHandle 类,用于使用可移植类库中的 Marshal.AllocHGlobal 管理本机内存:msdn.microsoft.com/en-us/library/s69bkh17.aspx
-
Portable 允许在针对支持它的平台(在本例中为 .NET 和 Windows Store 应用程序)时调用 Win32 API
标签: .net unsafe portable-class-library