2024年3月22日发(作者:)

`SetProcessAffinityMask` 是一个 Windows API 函数,用于设置

当前进程的 CPU 亲和性。该函数的参数定义如下:

```c

BOOL SetProcessAffinityMask(

HANDLE hProcess,

DWORD dwProcessAffinityMask

);

```

参数说明:

1. `hProcess`:一个句柄,标识要设置 CPU 亲和性的进程。通常,

你可以使用 `GetCurrentProcess` 函数来获取当前进程的句柄。

2. `dwProcessAffinityMask`:一个 32 位的掩码,用于设置进程

的 CPU 亲和性。掩码中的每一位都代表一个 CPU 核心,其中 0 表

示该核心不可用,1 表示该核心可用。例如,如果你希望进程只运

行在第一个 CPU 核心上,可以将掩码设置为 `0x00000001`。

返回值:

* 如果函数成功执行,返回值为非零值。

* 如果函数执行失败,返回值为零。要获取扩展的错误信息,可以

调用 `GetLastError` 函数。

使用 `SetProcessAffinityMask` 可以帮助你控制进程在哪些 CPU

核心上运行,这在多核处理器上尤其有用,可以优化性能或实现特

定的功能。但请注意,该函数只在 Windows 系统上可用。