프로세스 및 스레드 함수
이 항목에서는 프로세스 및 스레드 함수에 대해 설명합니다.
- 디스패치 큐 함수
- 프로세스 함수
- 프로세스 열거형 함수
- 정책 함수
- 스레드 함수
- 프로세스 및 스레드 확장 특성 함수
- WOW64 함수
- 작업 개체 함수
- 스레드 풀 함수
- 스레드 순서 지정 서비스 함수
- 멀티미디어 클래스 스케줄러 서비스 함수
- 파이버 함수
- NUMA 지원 함수
- 프로세서 함수
- 사용자 모드 예약 함수
- 사용되지 않는 함수
디스패치 큐 함수
다음 함수는 DispatcherQueueController를 만듭니다.
함수 | Description |
---|---|
CreateDispatcherQueueController | 다른 스레드에서 대기 중인 작업을 우선 순위순으로 실행하는 DispatcherQueue의 수명을 관리하는 DispatcherQueueController를 만듭니다. |
프로세스 함수
프로세스 와 함께 사용되는 함수는 다음과 같습니다.
함수 | Description |
---|---|
CreateProcess | 새 프로세스와 해당 기본 스레드를 만듭니다. |
CreateProcessAsUser | 새 프로세스와 해당 기본 스레드를 만듭니다. 새 프로세스는 지정된 토큰으로 표시되는 사용자의 보안 컨텍스트에서 실행됩니다. |
CreateProcessWithLogonW | 새 프로세스와 해당 기본 스레드를 만듭니다. 그런 다음 새 프로세스는 지정된 자격 증명(사용자, 도메인 및 암호)의 보안 컨텍스트에서 지정된 실행 파일을 실행합니다. |
CreateProcessWithTokenW | 새 프로세스와 해당 기본 스레드를 만듭니다. 새 프로세스는 지정된 토큰의 보안 컨텍스트에서 실행됩니다. |
ExitProcess | 호출 프로세스와 모든 스레드를 종료합니다. |
FlushProcessWriteBuffers | 현재 프로세스의 스레드를 실행하는 각 프로세서의 쓰기 큐를 플러시합니다. |
FreeEnvironmentStrings | 환경 문자열 블록을 해제합니다. |
GetCommandLine | 현재 프로세스에 대한 명령줄 문자열을 검색합니다. |
GetCurrentProcess | 현재 프로세스에 대한 의사 핸들을 검색합니다. |
GetCurrentProcessId | 호출 프로세스의 프로세스 식별자를 검색합니다. |
GetCurrentProcessorNumber | 이 함수를 호출하는 동안 현재 스레드가 실행 중인 프로세서의 수를 검색합니다. |
GetEnvironmentStrings | 현재 프로세스에 대한 환경 블록을 검색합니다. |
GetEnvironmentVariable | 호출 프로세스의 환경 블록에서 지정된 변수의 값을 검색합니다. |
GetExitCodeProcess | 지정된 프로세스의 종료 상태 검색합니다. |
GetGuiResources | 지정된 프로세스에서 사용 중인 GUI(그래픽 사용자 인터페이스) 개체에 대한 핸들 수를 검색합니다. |
GetLogicalProcessorInformation | 논리 프로세서 및 관련 하드웨어에 대한 정보를 검색합니다. |
GetPriorityClass | 지정된 프로세스의 우선 순위 클래스를 검색합니다. |
GetProcessAffinityMask | 지정된 프로세스에 대한 프로세스 선호도 마스크와 시스템의 시스템 선호도 마스크를 검색합니다. |
GetProcessGroupAffinity | 지정된 프로세스의 프로세서 그룹 선호도를 검색합니다. |
GetProcessHandleCount | 지정된 프로세스에 속하는 열린 핸들의 수를 검색합니다. |
GetProcessId | 지정된 프로세스의 프로세스 식별자를 검색합니다. |
GetProcessIoCounters | 지정된 프로세스에서 수행하는 모든 I/O 작업에 대한 회계 정보를 검색합니다. |
GetProcessMitigationPolicy | 호출 프로세스에 대한 완화 정책 설정을 검색합니다. |
GetProcessPriorityBoost | 지정된 프로세스의 우선 순위 상승 제어 상태를 검색합니다. |
GetProcessShutdownParameters | 현재 호출하는 프로세스에 대한 종료 매개 변수를 검색합니다. |
GetProcessTimes | 지정된 프로세스에 대한 타이밍 정보를 검색합니다. |
GetProcessVersion | 지정된 프로세스가 실행될 것으로 예상되는 시스템의 주 버전 및 부 버전 번호를 검색합니다. |
GetProcessWorkingSetSize | 지정된 프로세스의 최소 및 최대 작업 집합 크기를 검색합니다. |
GetProcessWorkingSetSizeEx | 지정된 프로세스의 최소 및 최대 작업 집합 크기를 검색합니다. |
GetProcessorSystemCycleTime | 지정된 그룹의 각 프로세서가 DPC(지연 프로시저 호출) 및 ISR(인터럽트 서비스 루틴)을 실행하는 데 소요된 주기 시간을 검색합니다. |
GetStartupInfo | 호출 프로세스를 만들 때 지정된 STARTUPINFO 구조체의 내용을 검색합니다. |
IsImmersiveProcess | 프로세스가 Windows 스토어 앱에 속하는지 여부를 확인합니다. |
NeedCurrentDirectoryForExePath | 지정된 실행 파일의 검색 경로에 현재 디렉터리를 포함할지 여부를 결정합니다. |
OpenProcess | 기존 로컬 프로세스 개체를 엽니다. |
QueryFullProcessImageName | 지정된 프로세스에 대한 실행 파일 이미지의 전체 이름을 검색합니다. |
QueryProcessAffinityUpdateMode | 지정된 프로세스의 선호도 업데이트 모드를 검색합니다. |
QueryProcessCycleTime | 지정된 프로세스의 모든 스레드에 대한 주기 시간의 합계를 검색합니다. |
SetEnvironmentVariable | 현재 프로세스에 대한 환경 변수의 값을 설정합니다. |
SetPriorityClass | 지정된 프로세스의 우선 순위 클래스를 설정합니다. |
SetProcessAffinityMask | 지정된 프로세스의 스레드에 대한 프로세서 선호도 마스크를 설정합니다. |
SetProcessAffinityUpdateMode | 지정된 프로세스의 선호도 업데이트 모드를 설정합니다. |
SetProcessInformation | 지정된 프로세스에 대한 정보를 설정합니다. |
SetProcessMitigationPolicy | 호출 프로세스에 대한 완화 정책을 설정합니다. |
SetProcessPriorityBoost | 지정된 프로세스의 스레드 우선 순위를 일시적으로 높일 수 있는 시스템 기능을 사용하지 않도록 설정합니다. |
SetProcessRestrictionExemption | 데스크톱 프로세스가 Windows 스토어 앱 환경과 상호 작용하지 못하도록 하는 제한에서 호출 프로세스를 제외합니다. 이 함수는 개발 및 디버깅 도구에서 사용됩니다. |
SetProcessShutdownParameters | 현재 호출하는 프로세스에 대한 종료 매개 변수를 설정합니다. |
SetProcessWorkingSetSize | 지정된 프로세스의 최소 및 최대 작업 집합 크기를 설정합니다. |
SetProcessWorkingSetSizeEx | 지정된 프로세스의 최소 및 최대 작업 집합 크기를 설정합니다. |
TerminateProcess | 지정된 프로세스와 모든 스레드를 종료합니다. |
프로세스 열거형 함수
다음 함수는 프로세스를 열거하는 데 사용됩니다.
함수 | 설명 |
---|---|
EnumProcesses | 시스템의 각 프로세스 개체에 대한 프로세스 식별자를 검색합니다. |
Process32First | 시스템 스냅샷 발생한 첫 번째 프로세스에 대한 정보를 검색합니다. |
Process32Next | 시스템 스냅샷 기록된 다음 프로세스에 대한 정보를 검색합니다. |
WTSEnumerateProcesses | 지정된 터미널 서버의 활성 프로세스에 대한 정보를 검색합니다. |
정책 함수
다음 함수는 프로세스 전체 정책과 함께 사용됩니다.
함수 | 설명 |
---|---|
QueryProtectedPolicy | 보호된 정책과 연결된 값을 쿼리합니다. |
SetProtectedPolicy | 보호된 정책을 설정합니다. |
스레드 함수
다음 함수는 스레드와 함께 사용됩니다.
함수 | Description |
---|---|
AttachThreadInput | 한 스레드의 입력 처리 메커니즘을 다른 스레드의 입력 처리 메커니즘에 연결합니다. |
CreateRemoteThread | 다른 프로세스의 가상 주소 공간에서 실행되는 스레드를 만듭니다. |
CreateRemoteThreadEx | 다른 프로세스의 가상 주소 공간에서 실행되는 스레드를 만들고 필요에 따라 프로세서 그룹 선호도와 같은 확장 특성을 지정합니다. |
CreateThread | 호출 프로세스의 가상 주소 공간 내에서 실행할 스레드를 만듭니다. |
ExitThread | 호출 스레드를 종료합니다. |
GetCurrentThread | 현재 스레드에 대한 의사 핸들을 검색합니다. |
GetCurrentThreadId | 호출 스레드의 스레드 식별자를 검색합니다. |
GetExitCodeThread | 지정된 스레드의 종료 상태 검색합니다. |
GetProcessIdOfThread | 지정된 스레드와 연결된 프로세스의 프로세스 식별자를 검색합니다. |
GetThreadDescription | SetThreadDescription을 호출하여 스레드에 할당된 설명을 검색합니다. |
GetThreadGroupAffinity | 지정된 스레드의 프로세서 그룹 선호도를 검색합니다. |
GetThreadId | 지정된 스레드의 스레드 식별자를 검색합니다. |
GetThreadIdealProcessorEx | 지정된 스레드에 적합한 프로세서의 프로세서 번호를 검색합니다. |
GetThreadInformation | 지정된 스레드에 대한 정보를 검색합니다. |
GetThreadIOPendingFlag | 지정된 스레드에 보류 중인 I/O 요청이 있는지 여부를 확인합니다. |
GetThreadPriority | 지정된 스레드의 우선 순위 값을 검색합니다. |
GetThreadPriorityBoost | 지정된 스레드의 우선 순위 상승 제어 상태를 검색합니다. |
GetThreadTimes | 지정된 스레드에 대한 타이밍 정보를 검색합니다. |
OpenThread | 기존 스레드 개체를 엽니다. |
QueryIdleProcessorCycleTime | 시스템에 있는 각 프로세서의 유휴 스레드에 대한 주기 시간을 검색합니다. |
QueryThreadCycleTime | 지정된 스레드의 주기 시간을 검색합니다. |
ResumeThread | 스레드의 일시 중단 횟수를 감소합니다. |
SetThreadAffinityMask | 지정된 스레드에 대한 프로세서 선호도 마스크를 설정합니다. |
SetThreadDescription | 스레드에 설명을 할당합니다. |
SetThreadGroupAffinity | 지정된 스레드에 대한 프로세서 그룹 선호도를 설정합니다. |
SetThreadIdealProcessor | 스레드에 대한 기본 프로세서를 지정합니다. |
SetThreadIdealProcessorEx | 지정된 스레드에 이상적인 프로세서를 설정하고 필요에 따라 이전 이상적인 프로세서를 검색합니다. |
SetThreadInformation | 지정된 스레드에 대한 정보를 설정합니다. |
SetThreadPriority | 지정된 스레드의 우선 순위 값을 설정합니다. |
SetThreadPriorityBoost | 스레드의 우선 순위를 일시적으로 높일 수 있는 시스템 기능을 사용하지 않도록 설정합니다. |
SetThreadStackGuarantee | 호출 스레드에 대한 스택 보장을 설정합니다. |
절전 | 지정된 간격 동안 현재 스레드의 실행을 일시 중단합니다. |
SleepEx | 지정된 조건이 충족될 때까지 현재 스레드를 일시 중단합니다. |
SuspendThread | 지정된 스레드를 일시 중단합니다. |
SwitchToThread | 호출 스레드가 현재 프로세서에서 실행할 준비가 되어 있는 다른 스레드에 실행 명령을 내리도록 합니다. |
TerminateThread | 스레드를 종료합니다. |
ThreadProc | 스레드의 시작 주소 역할을 하는 애플리케이션 정의 함수입니다. |
TlsAlloc | TLS(스레드 로컬 스토리지) 인덱스를 할당합니다. |
TlsFree | TLS 인덱스를 해제합니다. |
TlsGetValue | 지정된 TLS 인덱스에 대한 호출 스레드의 TLS 슬롯에서 값을 검색합니다. |
TlsSetValue | 지정된 TLS 인덱스의 호출 스레드 TLS 슬롯에 값을 저장합니다. |
WaitForInputIdle | 지정된 프로세스가 입력이 보류 중이 아니거나 시간 제한 간격이 경과할 때까지 사용자 입력을 대기할 때까지 기다립니다. |
프로세스 및 스레드 확장 특성 함수
다음 함수는 프로세스 및 스레드 만들기에 대한 확장 특성을 설정하는 데 사용됩니다.
함수 | Description |
---|---|
DeleteProcThreadAttributeList | 프로세스 및 스레드 만들기에 대해 지정된 특성 목록을 삭제합니다. |
InitializeProcThreadAttributeList | 프로세스 및 스레드 만들기에 대해 지정된 특성 목록을 초기화합니다. |
UpdateProcThreadAttribute | 프로세스 및 스레드 만들기를 위해 지정된 특성 목록에서 지정된 특성을 업데이트. |
WOW64 함수
WOW64와 함께 사용되는 함수는 다음과 같습니다.
함수 | 설명 |
---|---|
IsWow64Message | 현재 스레드의 큐에서 읽은 마지막 메시지가 WOW64 프로세스에서 시작되었는지 여부를 결정합니다. |
IsWow64Process | 지정된 프로세스가 WOW64에서 실행 중인지 여부를 확인합니다. |
IsWow64Process2 | 지정된 프로세스가 WOW64에서 실행 중인지 여부를 확인합니다. 또한 추가 머신 프로세스 및 아키텍처 정보를 반환합니다. |
Wow64SuspendThread | 지정된 WOW64 스레드를 일시 중단합니다. |
작업 개체 함수
다음 함수는 작업 개체와 함께 사용됩니다.
함수 | Description |
---|---|
AssignProcessToJobObject | 프로세스를 기존 작업 개체와 연결합니다. |
CreateJobObject | 작업 개체를 만들거나 엽니다. |
IsProcessInJob | 프로세스가 지정된 작업에서 실행 중인지 여부를 확인합니다. |
OpenJobObject | 기존 작업 개체를 엽니다. |
QueryInformationJobObject | 작업 개체에서 제한 및 작업 상태 정보를 검색합니다. |
SetInformationJobObject | 작업 개체에 대한 제한을 설정합니다. |
TerminateJobObject | 현재 작업과 연결된 모든 프로세스를 종료합니다. |
UserHandleGrantAccess | 사용자 인터페이스 제한이 있는 작업에 User 개체에 대한 핸들에 대한 액세스 권한을 부여하거나 거부합니다. |
스레드 풀 함수
다음 함수는 스레드 풀과 함께 사용됩니다.
함수 | Description |
---|---|
CallbackMayRunLong | 콜백이 빠르게 반환되지 않을 수 있음을 나타냅니다. |
CancelThreadpoolIo | StartThreadpoolIo 함수에서 알림을 취소합니다. |
CloseThreadpool | 지정된 스레드 풀을 닫습니다. |
CloseThreadpoolCleanupGroup | 지정된 정리 그룹을 닫습니다. |
CloseThreadpoolCleanupGroupMembers | 지정된 정리 그룹의 멤버를 해제하고, 모든 콜백 함수가 완료될 때까지 기다린 다음, 선택적으로 미해결 콜백 함수를 취소합니다. |
CloseThreadpoolIo | 지정된 I/O 완성 개체를 해제합니다. |
CloseThreadpoolTimer | 지정된 타이머 개체를 해제합니다. |
CloseThreadpoolWait | 지정된 대기 개체를 해제합니다. |
CloseThreadpoolWork | 지정된 작업 개체를 해제합니다. |
CreateThreadpool | 콜백을 실행할 새 스레드 풀을 할당합니다. |
CreateThreadpoolCleanupGroup | 애플리케이션이 하나 이상의 스레드 풀 콜백을 추적하는 데 사용할 수 있는 정리 그룹을 만듭니다. |
CreateThreadpoolIo | 새 I/O 완성 개체를 만듭니다. |
CreateThreadpoolTimer | 새 타이머 개체를 만듭니다. |
CreateThreadpoolWait | 새 대기 개체를 만듭니다. |
CreateThreadpoolWork | 새 작업 개체를 만듭니다. |
DestroyThreadpoolEnvironment | 지정된 콜백 환경을 삭제합니다. 새 스레드 풀 개체를 만드는 데 콜백 환경이 더 이상 필요하지 않은 경우 이 함수를 호출합니다. |
DisassociateCurrentThreadFromCallback | 현재 실행 중인 콜백 함수와 콜백을 시작한 개체 간의 연결을 제거합니다. 현재 스레드는 더 이상 개체를 대신하여 콜백을 실행하는 것으로 계산되지 않습니다. |
FreeLibraryWhenCallbackReturns | 현재 콜백이 완료될 때 스레드 풀이 언로드할 DLL을 지정합니다. |
InitializeThreadpoolEnvironment | 콜백 환경을 초기화합니다. |
IsThreadpoolTimerSet | 지정된 타이머 개체가 현재 설정되어 있는지 여부를 확인합니다. |
LeaveCriticalSectionWhenCallbackReturns | 현재 콜백이 완료될 때 스레드 풀이 해제할 중요 섹션을 지정합니다. |
QueryThreadpoolStackInformation | 지정된 스레드 풀의 스레드에 대한 스택 예약 및 커밋 크기를 검색합니다. |
ReleaseMutexWhenCallbackReturns | 현재 콜백이 완료될 때 스레드 풀이 해제할 뮤텍스를 지정합니다. |
ReleaseSemaphoreWhenCallbackReturns | 현재 콜백이 완료될 때 스레드 풀이 해제할 세마포를 지정합니다. |
SetEventWhenCallbackReturns | 현재 콜백이 완료될 때 스레드 풀이 설정할 이벤트를 지정합니다. |
SetThreadpoolCallbackCleanupGroup | 지정된 정리 그룹을 지정된 콜백 환경과 연결합니다. |
SetThreadpoolCallbackLibrary | 지정된 DLL이 미해결 콜백이 있는 한 로드된 상태로 유지되도록 합니다. |
SetThreadpoolCallbackPersistent | 콜백이 영구 스레드에서 실행되도록 지정합니다. |
SetThreadpoolCallbackPool | 콜백을 생성할 때 사용할 스레드 풀을 설정합니다. |
SetThreadpoolCallbackPriority | 동일한 스레드 풀의 다른 작업 항목을 기준으로 콜백 함수의 우선 순위를 지정합니다. |
SetThreadpoolCallbackRunsLong | 이 콜백 환경과 연결된 콜백이 빠르게 반환되지 않을 수 있음을 나타냅니다. |
SetThreadpoolStackInformation | 지정된 스레드 풀의 새 스레드에 대한 스택 예약 및 커밋 크기를 설정합니다. |
SetThreadpoolThreadMaximum | 지정된 스레드 풀이 콜백을 처리하기 위해 할당할 수 있는 최대 스레드 수를 설정합니다. |
SetThreadpoolThreadMinimum | 지정된 스레드 풀이 콜백을 처리하는 데 사용할 수 있도록 해야 하는 최소 스레드 수를 설정합니다. |
SetThreadpoolTimerEx | 타이머 개체를 설정합니다. 작업자 스레드는 지정된 시간 제한이 만료된 후 타이머 개체의 콜백을 호출합니다. |
SetThreadpoolTimer | 타이머 개체를 설정합니다. 작업자 스레드는 지정된 시간 제한이 만료된 후 타이머 개체의 콜백을 호출합니다. |
SetThreadpoolWait | 대기 개체를 설정합니다. 작업자 스레드는 핸들이 신호를 받은 후 또는 지정된 시간 제한이 만료된 후 대기 개체의 콜백 함수를 호출합니다. |
SetThreadpoolWaitEx | 대기 개체를 설정합니다. 작업자 스레드는 핸들이 신호를 받은 후 또는 지정된 시간 제한이 만료된 후 대기 개체의 콜백 함수를 호출합니다. |
StartThreadpoolIo | 스레드 풀에 지정된 I/O 완료 개체에 대해 I/O 작업이 시작될 수 있음을 알 수 있습니다. 작업자 스레드는 이 개체에 바인딩된 파일 핸들에서 작업이 완료된 후 I/O 완성 개체의 콜백 함수를 호출합니다. |
SubmitThreadpoolWork | 스레드 풀에 작업 개체를 게시합니다. 작업자 스레드는 작업 개체의 콜백 함수를 호출합니다. |
TpInitializeCallbackEnviron | 스레드 풀에 대한 콜백 환경을 초기화합니다. |
TpDestroyCallbackEnviron | 지정된 콜백 환경을 삭제합니다. 새 스레드 풀 개체를 만드는 데 콜백 환경이 더 이상 필요하지 않은 경우 이 함수를 호출합니다. |
TpSetCallbackActivationContext | 콜백 환경에 활성화 컨텍스트를 할당합니다. |
TpSetCallbackCleanupGroup | 지정된 정리 그룹을 지정된 콜백 환경과 연결합니다. |
TpSetCallbackFinalizationCallback | 콜백 환경이 종료될 때 호출할 함수를 나타냅니다. |
TpSetCallbackLongFunction | 이 콜백 환경과 연결된 콜백이 빠르게 반환되지 않을 수 있음을 나타냅니다. |
TpSetCallbackNoActivationContext | 콜백 환경에 활성화 컨텍스트가 없음을 나타냅니다. |
TpSetCallbackPersistent | 콜백이 영구 스레드에서 실행되도록 지정합니다. |
TpSetCallbackPriority | 동일한 스레드 풀의 다른 작업 항목을 기준으로 콜백 함수의 우선 순위를 지정합니다. |
TpSetCallbackRaceWithDll | 지정된 DLL이 미해결 콜백이 있는 한 로드된 상태로 유지되도록 합니다. |
TpSetCallbackThreadpool | 콜백 환경에 스레드 풀을 할당합니다. |
TrySubmitThreadpoolCallback | 스레드 풀 작업자 스레드가 지정된 콜백 함수를 호출하도록 요청합니다. |
WaitForThreadpoolIoCallbacks | 미해결 I/O 완료 콜백이 완료될 때까지 기다렸다가 선택적으로 아직 실행하기 시작하지 않은 보류 중인 콜백을 취소합니다. |
WaitForThreadpoolTimerCallbacks | 미해결 타이머 콜백이 완료될 때까지 기다렸다가 선택적으로 아직 실행하기 시작하지 않은 보류 중인 콜백을 취소합니다. |
WaitForThreadpoolWaitCallbacks | 미해결 대기 콜백이 완료될 때까지 대기하고 선택적으로 아직 실행하기 시작하지 않은 보류 중인 콜백을 취소합니다. |
WaitForThreadpoolWorkCallbacks | 미해결 작업 콜백이 완료될 때까지 기다렸다가 선택적으로 아직 실행하기 시작하지 않은 보류 중인 콜백을 취소합니다. |
다음 함수는 원래 스레드 풀링 API의 일부입니다.
함수 | 설명 |
---|---|
BindIoCompletionCallback | 스레드 풀이 소유한 I/O 완료 포트를 지정된 파일 핸들과 연결합니다. 이 파일과 관련된 I/O 요청이 완료되면 I/O가 아닌 작업자 스레드가 지정된 콜백 함수를 실행합니다. |
QueueUserWorkItem | 스레드 풀의 작업자 스레드에 작업 항목을 큐에 대기합니다. |
RegisterWaitForSingleObject | 스레드 풀의 대기 스레드가 개체를 대기하도록 지시합니다. |
UnregisterWaitEx | 지정된 개체 중 하나 또는 전부가 신호 상태 또는 시간 제한 간격이 경과할 때까지 기다립니다. |
스레드 순서 지정 서비스 함수
다음 함수는 스레드 순서 지정 서비스와 함께 사용됩니다.
함수 | Description |
---|---|
AvQuerySystemResponsiveness | 멀티미디어 클래스 스케줄러 서비스에서 사용하는 시스템 응답성 설정을 검색합니다. |
AvRtCreateThreadOrderingGroup | 스레드 순서 그룹을 만듭니다. |
AvRtCreateThreadOrderingGroupEx | 스레드 순서 그룹을 만들고 서버 스레드를 작업에 연결합니다. |
AvRtDeleteThreadOrderingGroup | 호출자가 만든 지정된 스레드 순서 그룹을 삭제합니다. |
AvRtJoinThreadOrderingGroup | 클라이언트 스레드를 스레드 순서 지정 그룹에 조인합니다. |
AvRtLeaveThreadOrderingGroup | 클라이언트 스레드가 스레드 순서 그룹을 떠날 수 있도록 합니다. |
AvRtWaitOnThreadOrderingGroup | 스레드 순서 그룹의 클라이언트 스레드가 실행될 때까지 기다릴 수 있도록 합니다. |
멀티미디어 클래스 Scheduler 서비스 함수
다음 함수는 멀티미디어 클래스 스케줄러 서비스와 함께 사용됩니다.
함수 | Description |
---|---|
AvRevertMmThreadCharacteristics | 스레드가 지정된 작업과 연결된 작업을 더 이상 수행하지 않음을 나타냅니다. |
AvSetMmMaxThreadCharacteristics | 호출 스레드를 지정된 태스크와 연결합니다. |
AvSetMmThreadCharacteristics | 호출 스레드를 지정된 작업에 연결합니다. |
AvSetMmThreadPriority | 동일한 작업을 수행하는 다른 스레드를 기준으로 호출 스레드의 스레드 우선 순위를 조정합니다. |
파이버 함수
다음 함수는 파이버와 함께 사용됩니다.
함수 | Description |
---|---|
ConvertFiberToThread | 현재 파이버를 스레드로 변환합니다. |
ConvertThreadToFiber | 현재 스레드를 파이버로 변환합니다. |
ConvertThreadToFiberEx | 현재 스레드를 파이버로 변환합니다. |
CreateFiber | 파이버 개체를 할당하고, 스택을 할당하고, 지정된 시작 주소에서 실행을 시작하도록 설정합니다. |
CreateFiberEx | 파이버 개체를 할당하고, 스택을 할당하고, 지정된 시작 주소에서 실행을 시작하도록 설정합니다. |
DeleteFiber | 기존 파이버를 삭제합니다. |
FiberProc | CreateFiber 함수와 함께 사용되는 애플리케이션 정의 함수입니다. |
FlsAlloc | FLS(파이버 로컬 스토리지) 인덱스를 할당합니다. |
FlsFree | FLS 인덱스를 해제합니다. |
FlsGetValue | 지정된 FLS 인덱스에 대한 호출 파이버의 FLS 슬롯에서 값을 검색합니다. |
FlsSetValue | 지정된 FLS 인덱스에 대한 호출 파이버의 FLS 슬롯에 값을 저장합니다. |
IsThreadAFiber | 현재 스레드가 파이버인지 여부를 확인합니다. |
SwitchToFiber | 섬유를 예약합니다. |
NUMA 지원 함수
다음 함수는 NUMA 지원을 제공합니다.
함수 | Description |
---|---|
AllocateUserPhysicalPagesNuma | 지정된 프로세스의 가상 주소 공간 내에서 메모리 영역을 예약하거나 커밋하고 실제 메모리에 대한 NUMA 노드를 지정합니다. |
GetLogicalProcessorInformation | 논리 프로세서 및 관련 하드웨어에 대한 정보를 검색합니다. |
GetNumaAvailableMemoryNode | 지정된 노드에서 사용할 수 있는 메모리 양을 검색합니다. |
GetNumaAvailableMemoryNodeEx | 지정된 노드에서 사용할 수 있는 메모리 양을 USHORT 값으로 검색합니다. |
GetNumaHighestNodeNumber | 현재 가장 많은 수의 노드를 검색합니다. |
GetNumaNodeNumberFromHandle | 파일 핸들에 대한 기본 디바이스와 연결된 NUMA 노드를 검색합니다. |
GetNumaNodeProcessorMask | 지정된 노드의 프로세서 마스크를 검색합니다. |
GetNumaNodeProcessorMaskEx | 지정된 NUMA 노드의 프로세서 마스크를 USHORT 값으로 검색합니다. |
GetNumaProcessorNode | 지정된 프로세서의 노드 번호를 검색합니다. |
GetNumaProcessorNodeEx | 지정된 논리 프로세서의 노드 번호를 USHORT 값으로 검색합니다. |
GetNumaProximityNode | 지정된 근접 식별자에 대한 노드 번호를 검색합니다. |
GetNumaProximityNodeEx | 지정된 근접 식별자에 대한 USHORT 값으로 노드 번호를 검색합니다. |
VirtualAllocExNuma | 지정된 프로세스의 가상 주소 공간 내에서 메모리 영역을 예약하거나 커밋하고 실제 메모리에 대한 NUMA 노드를 지정합니다. |
프로세서 함수
다음 함수는 논리 프로세서 및 프로세서 그룹과 함께 사용됩니다.
함수 | 설명 |
---|---|
GetActiveProcessorCount | 프로세서 그룹 또는 시스템의 활성 프로세서 수를 반환합니다. |
GetActiveProcessorGroupCount | 시스템의 활성 프로세서 그룹 수를 반환합니다. |
GetCurrentProcessorNumber | 이 함수를 호출하는 동안 현재 스레드가 실행 중인 프로세서의 수를 검색합니다. |
GetCurrentProcessorNumberEx | 호출 스레드가 실행 중인 논리 프로세서의 프로세서 그룹 및 번호를 검색합니다. |
GetLogicalProcessorInformation | 논리 프로세서 및 관련 하드웨어에 대한 정보를 검색합니다. |
GetLogicalProcessorInformationEx | 논리 프로세서 및 관련 하드웨어의 관계에 대한 정보를 검색합니다. |
GetMaximumProcessorCount | 프로세서 그룹 또는 시스템에 있을 수 있는 논리 프로세서의 최대 수를 반환합니다. |
GetMaximumProcessorGroupCount | 시스템에 있을 수 있는 프로세서 그룹의 최대 수를 반환합니다. |
QueryIdleProcessorCycleTime | 시스템의 각 프로세서의 유휴 스레드에 대한 주기 시간을 검색합니다. |
QueryIdleProcessorCycleTimeEx | 지정된 프로세서 그룹의 각 논리 프로세서에서 유휴 스레드에 대해 누적된 주기 시간을 검색합니다. |
User-Mode 예약 함수
다음 함수는 UMS(사용자 모드 예약)와 함께 사용됩니다.
함수 | 설명 |
---|---|
CreateUmsCompletionList | UMS 완료 목록을 만듭니다. |
CreateUmsThreadContext | UMS 작업자 스레드를 나타내는 UMS 스레드 컨텍스트를 만듭니다. |
DeleteUmsCompletionList | 지정된 UMS 완료 목록을 삭제합니다. 목록은 비어 있어야 합니다. |
DeleteUmsThreadContext | 지정된 UMS 스레드 컨텍스트를 삭제합니다. 스레드를 종료해야 합니다. |
DequeueUmsCompletionListItems | 지정된 UMS 완료 목록에서 UMS 작업자 스레드를 검색합니다. |
EnterUmsSchedulingMode | 호출 스레드를 UMS 스케줄러 스레드로 변환합니다. |
ExecuteUmsThread | 지정된 UMS 작업자 스레드를 실행합니다. |
GetCurrentUmsThread | 호출하는 UMS 스레드의 UMS 스레드 컨텍스트를 반환합니다. |
GetNextUmsListItem | UMS 스레드 컨텍스트 목록에서 다음 UMS 스레드 컨텍스트를 반환합니다. |
GetUmsCompletionListEvent | 지정된 UMS 완료 목록과 연결된 이벤트에 대한 핸들을 검색합니다. |
GetUmsSystemThreadInformation | 지정된 스레드가 UMS 스케줄러 스레드, UMS 작업자 스레드 또는 비 UMS 스레드인지 여부를 쿼리합니다. |
QueryUmsThreadInformation | 지정된 UMS 작업자 스레드에 대한 정보를 검색합니다. |
SetUmsThreadInformation | 지정된 UMS 작업자 스레드에 대한 애플리케이션별 컨텍스트 정보를 설정합니다. |
UmsSchedulerProc | UMS 완료 목록과 연결된 애플리케이션 정의 UMS 스케줄러 진입점 함수입니다. |
UmsThreadYield | 호출하는 UMS 작업자 스레드가 실행 중인 UMS 스케줄러 스레드에 대한 제어를 생성합니다. |
사용되지 않는 함수
- NtGetCurrentProcessorNumber
- NtQueryInformationProcess
- NtQueryInformationThread
- WinExec
- ZwQueryInformationProcess