GetUmsSystemThreadInformation 함수(winbase.h)
지정된 스레드가 UMS 스케줄러 스레드, UMS 작업자 스레드 또는 비 UMS 스레드인지 여부를 쿼리합니다.
경고
Windows 11 현재 사용자 모드 예약은 지원되지 않습니다. 오류로 모든 호출이 실패합니다 ERROR_NOT_SUPPORTED
.
구문
BOOL GetUmsSystemThreadInformation(
[in] HANDLE ThreadHandle,
[in, out] PUMS_SYSTEM_THREAD_INFORMATION SystemThreadInfo
);
매개 변수
[in] ThreadHandle
스레드에 대한 핸들입니다. 스레드 핸들에는 THREAD_QUERY_INFORMATION 액세스 권한이 있어야 합니다. 자세한 내용은 스레드 보안 및 액세스 권한을 참조하세요.
[in, out] SystemThreadInfo
지정된 스레드에 대한 정보를 수신하는 UMS_SYSTEM_THREAD_INFORMATION 구조체에 대한 포인터입니다.
호출자는 호출하기 전에 멤버를 UmsVersion
초기화해야 합니다.
반환 값
함수가 실패하면 반환 값은 0입니다.
확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
GetUmsSystemThreadInformation 함수는 디버거, 문제 해결 도구 및 프로파일링 애플리케이션에 사용하기 위한 것입니다. 예를 들어 스레드 격리 추적 또는 한 단계씩 실행 지침에는 프로세스의 다른 모든 스레드를 일시 중단하는 작업이 포함될 수 있습니다. 그러나 추적할 스레드가 UMS 작업자 스레드인 경우 UMS 스케줄러 스레드를 일시 중단하면 UMS 작업자 스레드를 실행하려면 UMS 스케줄러 스레드의 개입이 필요하기 때문에 교착 상태가 발생할 수 있습니다. 디버거는 스레드 종류를 확인하기 위해 일시 중단될 수 있는 각 스레드에 대해 GetUmsSystemThreadInformation 을 호출한 다음 디버그 중인 코드에 필요한 대로 일시 중단하거나 일시 중단할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | WINDOWS 7 SP1 [데스크톱 앱만], Windows 7(64비트만 해당) 및 KB977165 설치된 Windows Server 2008 R2 |
지원되는 최소 서버 | Windows Server 2008 R2 SP1 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winbase.h(Windows.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |
API 세트 | api-ms-win-core-ums-l1-1-0(Windows 7에서 도입) |