C中DWORD和HANDLE类型有什么区别?

时间:2010-03-12 10:26:08

标签: c windows

我在C中有一个返回类型为DWORD的线程,但它由HANDLE类型指针处理。

这两种类型有什么区别?

我特地针对ANSI C问这个问题。

DWORDuint类型而HANDLEPVOID是正确的,而C允许直接DWORD投放到HANDLE。但这些类型有什么不同,或者我可以简单地说它们是相同的吗?

这是一个在讨论中提出的问题。我想知道正确答案是什么。

2 个答案:

答案 0 :(得分:4)

的Win32:

  • DWORD 32位无符号长
  • HANDLE void *(32位指针)

Win64的

  • DWORD 32位无符号长
  • HANDLE void *(64位指针)

不要只是假设你可以将一个投射到另一个。它适用于Win32,并在您将其移植到Win64时中断。

答案 1 :(得分:0)

HANDLE是PVOID或void * typedef, DWORD是一个uint32。取决于内存架构(例如x86& x64)?

是否为void * length