setprocessaffinitymask (kernel32)
Last changed: -81.148.38.179

.
Summary

C# Signature:

[DllImport("kernel32.dll")]
static extern bool SetProcessAffinityMask(IntPtr hProcess,
   UIntPtr dwProcessAffinityMask);

User-Defined Types:

None.

Notes:

Microsoft Example http://support.microsoft.com/default.aspx?scid=kb;EN-US;178650

Tips & Tricks:

Please add some!

Sample Code:

C#

//limit to one processor

IntPtr handle = Process.GetCurrentProcess().Handle;

UIntPtr affinityMask = new UIntPtr((uint)1);
Console.WriteLine("Handle {0}, Mask{1}",handle, affinityMask);

if(!SetProcessAffinityMask(handle, affinityMask))
    MessageBox.Show("Error code: " + Marshal.GetLastWin32Error());

Alternative Managed API:

System.Diagnostics.Process.ProcessorAffinity Property

MSDN reference http://msdn2.microsoft.com/en-us/library/system.diagnostics.process.processoraffinity.aspx

Documentation