进程和线程

提供有关新创建的进程及其主线程的信息。

需要以下标头:

枚举

 
MACHINE_ATTRIBUTES

指定代码体系结构可在主机操作系统上运行的方式。 可以设置多个位。
PROCESS_INFORMATION_CLASS

指示特定的进程信息类。
PROCESS_MEMORY_EXHAUSTION_TYPE

表示不同的内存耗尽类型。
QUEUE_USER_APC_FLAGS

QUEUE_USER_APC_FLAGS枚举(processthreadsapi.h)指定用户模式异步过程调用 (APC) 对象的修饰符标志。
THREAD_INFORMATION_CLASS

THREAD_INFORMATION_CLASS枚举(processthreadsapi.h)指定支持的线程类型的集合。

功能

 
CreateProcessA

创建一个新进程及其主线程。 新进程在调用进程的安全上下文中运行。 (ANSI)
CreateProcessAsUserA

创建一个新进程及其主线程。 新进程在由指定令牌表示的用户的安全上下文中运行。 (ANSI)
CreateProcessAsUserW

创建一个新进程及其主线程。 新进程在由指定令牌表示的用户的安全上下文中运行。 (Unicode)
CreateProcessW

创建一个新进程及其主线程。 新进程在调用进程的安全上下文中运行。 (Unicode)
CreateRemoteThread

创建在另一个进程的虚拟地址空间中运行的线程。
CreateRemoteThreadEx

创建在另一个进程的虚拟地址空间中运行的线程,并选择性地指定扩展属性,例如处理器组相关性。
CreateThread

创建在调用进程的虚拟地址空间内执行的线程。
DeleteProcThreadAttributeList

删除用于进程和线程创建的属性的指定列表。
ExitProcess

结束调用进程及其所有线程。
ExitThread

结束调用线程。
FlushInstructionCache

刷新指定进程的指令缓存。
FlushProcessWriteBuffers

刷新运行当前进程的线程的每个处理器的写入队列。
GetCurrentProcess

检索当前进程的伪句柄。
GetCurrentProcessId

检索调用进程的进程标识符。
GetCurrentProcessorNumber

检索在调用此函数期间当前线程运行的处理器数。
GetCurrentProcessorNumberEx

检索运行调用线程的逻辑处理器的处理器组和编号。
GetCurrentProcessToken

检索伪句柄,该句柄可以用作引用与进程关联的访问令牌的速记方式。
GetCurrentThread

检索调用线程的伪句柄。
GetCurrentThreadEffectiveToken

检索伪句柄,该句柄可用于引用当前对线程生效的令牌,这是线程令牌(如果存在)和进程令牌,否则为进程令牌。
GetCurrentThreadId

检索调用线程的线程标识符。
GetCurrentThreadStackLimits

检索由系统为当前线程分配的堆栈的边界。
GetCurrentThreadToken

检索伪句柄,该句柄可用于引用分配给当前线程的模拟令牌。
GetExitCodeProcess

检索指定进程的终止状态。
GetExitCodeThread

检索指定线程的终止状态。
GetMachineTypeAttributes

查询当前系统上是否支持指定的体系结构(本机或任何形式的兼容性或仿真层)。
GetPriorityClass

检索指定进程的优先级类。 此值与进程的每个线程的优先级值一起确定每个线程的基本优先级级别。
GetProcessDefaultCpuSetMasks

检索由 SetProcessDefaultCpuSetMasks 或 SetProcessDefaultCpuSetSets 设置的进程默认集中 CPU 集的列表。
GetProcessDefaultCpuSets

检索 SetProcessDefaultCpuSets 设置的进程默认集中的 CPU 集列表。
GetProcessHandleCount

检索属于指定进程的打开句柄数。
GetProcessId

检索指定进程的进程标识符。
GetProcessIdOfThread

检索与指定线程关联的进程的进程标识符。
GetProcessInformation

检索有关指定进程的信息。 (GetProcessInformation)
GetProcessMitigationPolicy

检索调用过程的缓解策略设置。
GetProcessPriorityBoost

检索指定进程的优先级提升控制状态。
GetProcessShutdownParameters

检索当前调用进程的关闭参数。
GetProcessTimes

检索指定进程的计时信息。
GetProcessVersion

检索指定进程需要在其中运行的系统的主版本号和次要版本号。
GetStartupInfoW

检索在创建调用进程时指定的 STARTUPINFO 结构的内容。
GetSystemCpuSetInformation

允许应用程序查询系统上的可用 CPU 集及其当前状态。
GetSystemTimes

检索系统计时信息。 在多处理器系统上,返回的值是所有处理器中指定时间的总和。
GetThreadContext

检索指定线程的上下文。
GetThreadDescription

通过调用 SetThreadDescription 检索分配给线程的说明。
GetThreadId

检索指定线程的线程标识符。
GetThreadIdealProcessorEx

检索指定线程的理想处理器的处理器编号。
GetThreadInformation

检索有关指定线程的信息。 (GetThreadInformation)
GetThreadIOPendingFlag

确定指定的线程是否有任何 I/O 请求挂起。
GetThreadPriority

检索指定线程的优先级值。 此值与线程进程的优先级类一起确定线程的基优先级级别。
GetThreadPriorityBoost

检索指定线程的优先级提升控制状态。
GetThreadSelectedCpuSetMasks

如果使用 SetThreadSelectedCpuSetMasks 或 SetThreadSelectedCpuSets 设置任何分配,则返回指定线程的显式 CPU 集分配。
GetThreadSelectedCpuSets

如果使用 SetThreadSelectedCpuSets API 设置任何分配,则返回指定线程的显式 CPU 集分配。
GetThreadTimes

检索指定线程的计时信息。
InitializeProcThreadAttributeList

初始化用于进程和线程创建的属性的指定列表。
IsProcessCritical

确定指定的进程是否被视为关键进程。
IsProcessorFeaturePresent

确定当前计算机是否支持指定的处理器功能。
OpenProcess

打开现有的本地进程对象。
OpenProcessToken

打开与进程关联的访问令牌。
OpenThread

打开现有线程对象。
OpenThreadToken

打开与线程关联的访问令牌。
ProcessIdToSessionId

检索与指定进程关联的远程桌面服务会话。
QueryProcessAffinityUpdateMode

检索指定进程的相关性更新模式。
QueryProtectedPolicy

查询与受保护策略关联的值。
QueueUserAPC

将用户模式异步过程调用 (APC) 对象添加到指定线程的 APC 队列。 (QueueUserAPC)
QueueUserAPC2

将用户模式异步过程调用 (APC) 对象添加到指定线程的 APC 队列。 (QueueUserAPC2)
ResumeThread

递减线程的暂停计数。 当暂停计数递减为零时,将恢复线程的执行。
SetPriorityClass

设置指定进程的优先级类。 此值与进程的每个线程的优先级值一起决定了每个线程的基本优先级级别。
SetProcessAffinityUpdateMode

设置指定进程的相关性更新模式。
SetProcessDefaultCpuSetMasks

SetProcessDefaultCpuSetMasks 函数(processthreadsapi.h)为指定进程中的线程设置默认 CPU 集分配。
SetProcessDefaultCpuSets

SetProcessDefaultCpuSets 函数(processthreadsapi.h)为指定进程中的线程设置默认 CPU 集分配。
SetProcessDynamicEnforcedCetCompatibleRanges

设置指定进程的动态强制 CETCOMPAT 范围。
SetProcessInformation

设置指定进程的信息。
SetProcessMitigationPolicy

为调用过程设置缓解策略。 缓解策略使进程能够针对各种类型的攻击强化自身。
SetProcessPriorityBoost

禁用或启用系统暂时提升指定进程的线程优先级的能力。
SetProcessShutdownParameters

设置当前调用进程的关闭参数。 此函数为进程设置相对于系统中其他进程的关闭顺序。
SetProtectedPolicy

设置受保护的策略。
SetThreadContext

设置指定线程的上下文。
SetThreadDescription

向线程分配说明。
SetThreadIdealProcessor

设置线程的首选处理器。 系统尽可能在其首选处理器上计划线程。
SetThreadIdealProcessorEx

设置指定线程的理想处理器,并选择性地检索以前的理想处理器。
SetThreadInformation

设置指定线程的信息。
SetThreadPriority

设置指定线程的优先级值。 此值与线程进程的优先级类一起确定线程的基本优先级级别。
SetThreadPriorityBoost

禁用或启用系统暂时提升线程优先级的功能。
SetThreadSelectedCpuSetMasks

设置指定线程的所选 CPU 集分配。 如果设置了进程默认分配,则此分配将替代进程默认分配。 (SetThreadSelectedCpuSetMasks)
SetThreadSelectedCpuSets

设置指定线程的所选 CPU 集分配。 如果设置了进程默认分配,则此分配将替代进程默认分配。 (SetThreadSelectedCpuSets)
SetThreadStackGuarantee

设置与调用线程或光纤关联的堆栈的最小大小,该线程或光纤将在任何堆栈溢出异常期间可用。
SuspendThread

挂起指定的线程。
SwitchToThread

使调用线程向准备在当前处理器上运行的另一个线程生成执行。 操作系统选择要执行的下一个线程。
TerminateProcess

终止指定的进程及其所有线程。
TerminateThread

终止线程。
TlsAlloc

分配线程本地存储 (TLS) 索引。 进程的任何线程随后都可以使用此索引来存储和检索线程本地值,因为每个线程都会收到其自己的索引槽。
TlsFree

释放线程本地存储 (TLS) 索引,使其可供重复使用。
TlsGetValue

检索指定 TLS 索引的调用线程本地存储(TLS)槽中的值。 进程的每个线程都有自己的每个 TLS 索引的槽。
TlsGetValue2

检索指定 TLS 索引的调用线程本地存储(TLS)槽中的值。 进程的每个线程都有自己的每个 TLS 索引的槽。
TlsSetValue

将值存储在指定 TLS 索引的调用线程的线程本地存储 (TLS) 槽中。 进程的每个线程都有自己的每个 TLS 索引的槽。
UpdateProcThreadAttribute

更新进程和线程创建的属性列表中的指定属性。

结构

 
APP_MEMORY_INFORMATION

表示单个时间点的应用内存使用情况。 此结构由PROCESS_INFORMATION_CLASS类使用。
MEMORY_PRIORITY_INFORMATION

指定线程或进程的内存优先级。
OVERRIDE_PREFETCH_PARAMETER

PROCESS_INFORMATION

包含有关新创建的进程及其主线程的信息。 它与 CreateProcess、CreateProcessAsUser、CreateProcessWithLogonW 或 CreateProcessWithTokenW 函数一起使用。
PROCESS_LEAP_SECOND_INFO

指定系统如何处理正跃秒。
PROCESS_MEMORY_EXHAUSTION_INFO

允许应用程序将进程配置为在分配无法提交内存时终止。 此结构由PROCESS_INFORMATION_CLASS类使用。
PROCESS_POWER_THROTTLING_STATE

指定限制策略,以及如何在进程受电源管理约束时将其应用到目标进程。
PROCESS_PROTECTION_LEVEL_INFORMATION

指定是否启用受保护的进程灯(PPL)。
STARTUPINFOA

指定创建时进程的窗口工作站、桌面、标准句柄和主窗口的外观。 (ANSI)
STARTUPINFOW

指定创建时进程的窗口工作站、桌面、标准句柄和主窗口的外观。 (Unicode)
THREAD_POWER_THROTTLING_STATE

指定限制策略,以及当该线程受电源管理约束时如何将其应用到目标线程。