The following functions are used to enumerate processes.
| Function | Description |
| AttachThreadInput | Attaches the input processing mechanism of one thread to that of another thread. |
| CreateRemoteThread | Creates a thread that runs in the virtual address space of another process. |
| CreateThread | Creates a thread to execute within the virtual address space of the calling process. |
| ExitThread | Ends the calling thread. |
| GetCurrentThread | Retrieves a pseudo handle for the current thread. |
| GetCurrentThreadId | Retrieves the thread identifier of the calling thread. |
| GetExitCodeThread | Retrieves the termination status of the specified thread. |
| GetThreadId | Retrieves the thread identifier of the specified thread. |
| GetThreadIOPendingFlag | Determines whether a specified thread has any I/O requests pending. |
| GetThreadPriority | Retrieves the priority value for the specified thread. |
| GetThreadPriorityBoost | Retrieves the priority boost control state of the specified thread. |
| GetThreadTimes | Retrieves timing information for the specified thread. |
| OpenThread | Opens an existing thread object. |
| QueryIdleProcessorCycleTime | Retrieves the cycle time for the idle thread of each processor in the system. |
| QueryThreadCycleTime | Retrieves the cycle time for the specified thread. |
| ResumeThread | Decrements a thread's suspend count. |
| SetThreadAffinityMask | Sets a processor affinity mask for the specified thread. |
| SetThreadIdealProcessor | Specifies a preferred processor for a thread. |
| SetThreadPriority | Sets the priority value for the specified thread. |
| SetThreadPriorityBoost | Disables the ability of the system to temporarily boost the priority of a thread. |
| SetThreadStackGuarantee | Sets the stack guarantee for the calling thread. |
| Sleep | Suspends the execution of the current thread for a specified interval. |
| SleepEx | Suspends the current thread until the specified condition is met. |
| SuspendThread | Suspends the specified thread. |
| SwitchToThread | Causes the calling thread to yield execution to another thread that is ready to run on the current processor. |
| TerminateThread | Terminates a thread. |
| ThreadProc | An application-defined function that serves as the starting address for a thread. |
| TlsAlloc | Allocates a thread local storage (TLS) index. |
| TlsFree | Releases a TLS index. |
| TlsGetValue | Retrieves the value in the calling thread's TLS slot for a specified TLS index. |
| TlsSetValue | Stores a value in the calling thread's TLS slot for a specified TLS index. |
| WaitForInputIdle | Waits until the specified process is waiting for user input with no input pending, or until the time-out interval has elapsed. |
The following functions are used to set extended attributes for process and thread creation.
| Function | Description |
| ConvertFiberToThread | Converts the current fiber into a thread. |
| ConvertThreadToFiber | Converts the current thread into a fiber. |
| ConvertThreadToFiberEx | Converts the current thread into a fiber. |
| CreateFiber | Allocates a fiber object, assigns it a stack, and sets up execution to begin at the specified start address. |
| CreateFiberEx | Allocates a fiber object, assigns it a stack, and sets up execution to begin at the specified start address. |
| DeleteFiber | Deletes an existing fiber. |
| FiberProc | An application-defined function used with the
CreateFiber function. |
| FlsAlloc | Allocates a fiber local storage (FLS) index. |
| FlsFree | Releases an FLS index. |
| FlsGetValue | Retrieves the value in the calling fiber's FLS slot for a specified FLS index. |
| FlsSetValue | Stores a value in the calling fiber's FLS slot for a specified FLS index. |
| IsThreadAFiber | Determines whether the current thread is a fiber. |
| SwitchToFiber | Schedules a fiber. |