C#ULONG_PTR等效

时间:2009-12-21 12:40:48

标签: c# winapi interop types

我必须在C#中传递ULONG_PTR不安全的代码。

我理解ULONG_PTR的原因是为32位和64位操作系统提供单一代码库。

这是C#的UIntPtr的情况吗?将.Net UIntPtr作为ULONG_PTR参数传递时,我能否自信?

谢谢!

2 个答案:

答案 0 :(得分:6)

来自MSDN

  

IntPtr类型符合CLS标准,   虽然UIntPtr类型不是。只要   IntPtr类型用于常见的   语言运行时。 UIntPtr类型是   提供主要是为了维护   与IntPtr建筑对称   型

这两种类型都能够存储32位和64位指针。首选类型为IntPtr

答案 1 :(得分:2)

根据MSDN对它的描述我会说它应该是:

  

UIntPtr类型设计为整数,其大小是特定于平台的。也就是说,这种类型的实例预计在32位硬件和操作系统上为32位,在64位硬件和操作系统上为64位。