标签: .net pinvoke
如果Marshal.GetLastWin32Error公开了来自Win32的{{1}} GetLastError函数,那么为什么它重新调整为int,而Kernel32.DLL返回一个无符号的DWORD
Marshal.GetLastWin32Error
Win32
GetLastError
Kernel32.DLL
答案 0 :(得分:3)
因为无符号整数不是CLS compliant。在早期,VB.NET和J#无法处理它们,这是四种支持语言中的两种。这已得到修复,但仍有许多语言可以在CLR上运行,但不支持无符号整数,Java是最着名的例子。