Поделиться через


Функция SetThreadGroupAffinity (processtopologyapi.h)

Задает сходство группы процессоров для указанного потока.

Синтаксис

BOOL SetThreadGroupAffinity(
  [in]            HANDLE               hThread,
  [in]            const GROUP_AFFINITY *GroupAffinity,
  [out, optional] PGROUP_AFFINITY      PreviousGroupAffinity
);

Параметры

[in] hThread

Дескриптор потока.

Дескриптор должен иметь право доступа к THREAD_SET_INFORMATION. Дополнительные сведения см. в разделе Безопасность потоков и права доступа.

[in] GroupAffinity

Структура GROUP_AFFINITY , указывающая сходство группы процессоров, которая будет использоваться для указанного потока.

[out, optional] PreviousGroupAffinity

Указатель на структуру GROUP_AFFINITY для получения предыдущего сходства группы потока. Этот параметр может принимать значение NULL.

Возвращаемое значение

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Чтобы получить расширенные сведения об ошибке, используйте GetLastError.

Комментарии

Начиная с Windows 11 и Windows Server 2022, в системе с более чем 64 процессорами сходство процессов и потоков по умолчанию охватывает все процессоры в системе во всех группах процессоров. Функция SetThreadGroupAffinity ограничивает сходство потока процессорами по группе с одним процессором, указанной в заданной группе GroupAffinity. Эта группа также станет основной группой потока.

Чтобы скомпилировать приложение, использующее эту функцию, задайте _WIN32_WINNT >= 0x0601. Дополнительные сведения см. в разделе Использование заголовков Windows.

Требования

Требование Значение
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Целевая платформа Windows
Header processtopologyapi.h
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

GROUP_AFFINITY