I am running into an issue where my 32-bit command-line application, when started from Windows Command Prompt or other means, is set to only use the first 32 CPU cores on a 64-core system. Looking at that process's CPU affinity mask in Task Manager, I can see that only the first 32 CPUs are checked, and the last 32 CPUs are unchecked.
I made sure my code doesn't call SetProcessAffinityMask, but how can I see if any of the third party modules call this function? And would doing things like calling SetThreadPriority change the CPU affinity mask?