GetProcessAffinityMask提供了错误的值

时间:2010-11-24 04:02:35

标签: c++ windows winapi

我使用WIN API方法 GetProcessAffinityMask 来检索系统的进程和系统关联掩码。该方法执行时没有任何错误,但lpProcessAffinityMask和lpSystemAffinityMask的值为-1,这是错误的。

My Machine是AMD Opteron 6174 4 Physical,每个12核,因此整个系统有48个核心。我的操作系统是Windows Web Server 2008 R2 64位

1 个答案:

答案 0 :(得分:3)

看到OP没有提供有关OP正在运行的应用程序的信息,我正在做出有根据的猜测,即应用程序在WOW64下运行 - 因此限制为32个处理器(lpProcessAffinityMask是指向DWORD的指针)。因此,OP看到0xFFFFFFFF的结果。请参阅:http://msdn.microsoft.com/en-us/library/aa384228%28v=VS.85%29.aspx