我需要C#中C ++的等效ULONG_PTR
。
This让我感到紧张。我不能在32位应用程序中处理64位指针吗?
<小时/> 如果怀疑XY问题:我需要在C#中使用OVERLAPPED
结构。它包含ULONG_PTR
。看起来像这样:
typedef struct _OVERLAPPED
{
ULONG_PTR Internal;
ULONG_PTR InternalHigh;
union
{
struct
{
DWORD Offset;
DWORD OffsetHigh;
} DUMMYSTRUCTNAME;
PVOID Pointer;
} DUMMYUNIONNAME;
HANDLE hEvent;
} OVERLAPPED, *LPOVERLAPPED;
答案 0 :(得分:3)
32位系统中的所有指针都是32位,64位系统中的所有指针都是64位本地指针。 64位可以为期望32位的传统应用程序模拟32位指针。
在32位系统中,您不能使用64位指针。如果可以的话,64位系统的用途是:)
您可以对遇到的任何指针使用System.IntPtr
。