다음을 통해 공유


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에서 도입)