KeRevertToUserAffinityThreadEx 함수(wdm.h)
KeRevertToUserAffinityThreadEx 루틴은 현재 스레드의 이전 선호도를 복원합니다.
통사론
void KeRevertToUserAffinityThreadEx(
[in] KAFFINITY Affinity
);
매개 변수
[in] Affinity
현재 스레드의 새 시스템 선호도를 지정하는 KAFFINITY형식화된 변수입니다. 이 매개 변수를 KeSetSystemAffinityThreadEx 루틴에 대한 이전 호출에서 반환된 값으로 설정합니다.
반환 값
없음
발언
KeRevertToUserAffinityThreadEx 현재 스레드의 선호도를 변경합니다. 선호도 값은 스레드를 실행할 수 있는 프로세서 집합을 식별하는 마스크입니다. 성공하면 루틴은 스레드가 이 집합의 프로세서에서 실행되도록 예약합니다.
선호도 값이 0이 아니면 KeRevertToUserAffinityThreadEx 스레드의 선호도 마스크를 선호도 값으로 설정합니다. 선호도 값이 0이면 KeRevertToUserAffinityThreadEx 스레드의 원래 사용자 선호도 마스크를 복원합니다. 이 원래 사용자 선호도 마스크는 KeSetSystemAffinityThreadEx대한 이전 호출로 스레드 개체에 저장되었습니다. KeRevertToUserAffinityThreadEx 호출은 KeSetSystemAffinityThreadEx호출 앞에 오는 경우가 아니면 적용되지 않습니다.
선호도 값이 0이 아닌 경우 루틴은 현재 스레드의 선호도 마스크를 선호도 값으로 변경합니다.
- 선호도 값은 유효합니다(즉, 논리 프로세서에 해당하는 마스크 비트만 설정됨).
- 선호도 값에 지정된 프로세서 중 하나 이상이 활성화되어 있습니다.
Windows 7 이상 버전의 Windows는 프로세서 그룹을 지원합니다. 프로세서 그룹에 대한 정보를 처리하도록 설계된 드라이버는 KeRevertToUserAffinityThreadEx대신 프로세서 그룹을 지정하는 KeRevertToUserGroupAffinityThread 루틴을 사용해야 합니다. 그러나 Windows 7 이상 버전의 Windows에서 KeRevertToUserAffinityThreadEx 구현하면 프로세서 그룹을 지원하지 않는 이전 버전의 Windows용으로 작성된 드라이버에 대한 호환성이 제공됩니다. 이 구현에서 0이 아닌 선호도 값은 스레드를 실행할 수 있는 그룹 0의 논리 프로세서 집합을 지정하는 선호도 마스크입니다. 선호도 0이면 스레드는 원래 사용자 모드 그룹 번호 및 선호도 마스크로 되돌아갑니다.
KeRevertToUserAffinityThreadEx IRQL <= APC_LEVEL 호출이 성공하면 새(되돌리기) 선호도 마스크가 즉시 적용됩니다. 호출이 반환되면 호출 스레드가 이미 새 선호도 마스크에 지정된 프로세서에서 실행되고 있습니다. KeRevertToUserAffinityThreadEx IRQL = DISPATCH_LEVEL 호출이 성공하면 호출자가 DISPATCH_LEVEL 아래 IRQL을 낮출 때까지 보류 중인 프로세서 변경이 지연됩니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista 이상 버전의 Windows에서 사용할 수 있습니다. |
대상 플랫폼 | 보편적 |
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL(주의 섹션 참조). |
DDI 규정 준수 규칙 | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |