共用方式為


進程和線程函式

本主題描述進程和線程函式。

分派佇列函式

下列函式會建立 DispatcherQueueController

功能 描述
CreateDispatcherQueueController 建立 DispatcherQueueController,以管理另一個線程上依優先順序執行佇列工作的 DispatcherQueue 存留期。

 

進程函式

下列函式會與 行程搭配使用。

功能 描述
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 設定受保護的原則。

 

線程函式

下列函式會與 線程搭配使用,

功能 描述
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 等候指定的進程等待使用者輸入,且沒有任何輸入擱置,或直到逾時間隔經過為止。

 

進程和線程擴充屬性函式

下列函式可用來設定進程和線程建立的擴充屬性。

功能 描述
DeleteProcThreadAttributeList 刪除進程和線程建立的指定屬性清單。
InitializeProcThreadAttributeList 初始化進程和線程建立的指定屬性清單。
UpdateProcThreadAttribute 更新指定屬性清單中的指定屬性,以便建立進程和線程。

 

WOW64 函式

下列函式會與 WOW64搭配使用。

功能 描述
IsWow64Message 判斷從目前線程佇列讀取的最後一則訊息是否源自 WOW64 進程。
IsWow64Process 判斷指定的進程是否在 WOW64 下執行。
IsWow64Process2 判斷指定的進程是否在 WOW64 下執行;也會傳回其他機器程式和架構資訊。
Wow64SuspendThread 暫停指定的 WOW64 線程。

 

Job 物件函式

下列函式會與 作業物件搭配使用,

功能 描述
AssignProcessToJobObject 將進程與現有的作業對象產生關聯。
CreateJobObject 建立或開啟作業物件。
IsProcessInJob 判斷進程是否在指定的作業中執行。
OpenJobObject 開啟現有的作業物件。
QueryInformationJobObject 從作業物件擷取限制和作業狀態資訊。
SetInformationJobObject 設定作業物件的限制。
TerminateJobObject 終止目前與作業相關聯的所有進程。
UserHandleGrantAccess 將用戶物件的句柄授與或拒絕對具有使用者介面限制之作業的存取權。

 

線程集區函式

下列函式會與 線程集區搭配使用,

功能 描述
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 指定線程集區會在目前回呼完成時釋放的 Mutex。
ReleaseSemaphoreWhenCallbackReturns 指定線程集區會在目前回呼完成時釋放的旗號。
SetEventWhenCallbackReturns 指定線程集區會在目前回呼完成時設定的事件。
SetThreadpoolCallbackCleanupGroup 將指定的清除群組與指定的回呼環境產生關聯。
SetThreadpoolCallbackLibrary 確保只要有未完成的回呼,指定的 DLL 仍會繼續載入。
SetThreadpoolCallbackPersistent 指定回呼應該在永續性線程上執行。
SetThreadpoolCallbackPool 設定產生回呼時要使用的線程集區。
SetThreadpoolCallbackPriority 指定回呼函式相對於相同線程集區中其他工作專案的優先順序。
SetThreadpoolCallbackRunsLong 表示與此回呼環境相關聯的回呼可能不會快速傳回。
SetThreadpoolStackInformation 設定指定線程集區中新線程的堆疊保留和認可大小。
SetThreadpoolThreadMaximum 設定指定線程集區可以配置給處理回呼的線程數目上限。
SetThreadpoolThreadMinimum 設定指定線程集區必須提供給處理回呼的最小線程數目。
SetThreadpoolTimerEx 設定定時器物件。 背景工作線程會在指定的逾時到期後呼叫定時器物件的回呼。
SetThreadpoolTimer 設定定時器物件。 背景工作線程會在指定的逾時到期後呼叫定時器物件的回呼。
SetThreadpoolWait 設定 wait 物件。 背景工作線程會在句柄收到訊號或指定的逾時到期之後,呼叫等候物件的回呼函式。
SetThreadpoolWaitEx 設定 wait 物件。 背景工作線程會在句柄收到訊號或指定的逾時到期之後,呼叫等候物件的回呼函式。
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 等候一或所有指定的對象處於訊號狀態或逾時間隔。

 

線程排序服務函式

下列函式會與 線程排序服務搭配使用,

功能 描述
AvQuerySystemResponsiveness 擷取多媒體類別排程器服務所使用的系統響應性設定。
AvRtCreateThreadOrderingGroup 建立線程排序群組。
AvRtCreateThreadOrderingGroupEx 建立線程排序群組,並將伺服器線程與工作產生關聯。
AvRtDeleteThreadOrderingGroup 刪除呼叫端所建立的指定線程排序群組。
AvRtJoinThreadOrderingGroup 將用戶端線程聯結至線程排序群組。
AvRtLeaveThreadOrderingGroup 可讓用戶端線程離開線程排序群組。
AvRtWaitOnThreadOrderingGroup 讓線程排序群組的用戶端線程等到應該執行為止。

 

多媒體類別排程器服務函式

下列函式會與 多媒體類別排程器服務搭配使用。

功能 描述
AvRevertMmThreadCharacteristics 表示線程不再執行與指定工作相關聯的工作。
AvSetMmMaxThreadCharacteristics 將呼叫線程與指定的工作產生關聯。
AvSetMmThreadCharacteristics 將呼叫線程與指定的工作產生關聯。
AvSetMmThreadPriority 相對於執行相同工作的其他線程,調整呼叫線程的線程優先順序。

 

Fiber 函式

下列函式會搭配 fibers使用。

功能 描述
ConvertFiberToThread 將目前的光纖轉換成線程。
ConvertThreadToFiber 將目前的線程轉換成光纖。
ConvertThreadToFiberEx 將目前的線程轉換成光纖。
CreateFiber 配置 Fiber 物件、將它指派給堆疊,並設定執行以從指定的開始地址開始。
CreateFiberEx 配置 Fiber 物件、將它指派給堆疊,並設定執行以從指定的開始地址開始。
DeleteFiber 刪除現有的光纖。
FiberProc 搭配 CreateFiber 函式使用的應用程式定義函式。
FlsAlloc 配置光纖本機記憶體 (FLS) 索引。
FlsFree 釋放 FLS 索引。
FlsGetValue 擷取所指定 FLS 索引之呼叫光纖 FLS 位置中的值。
FlsSetValue 針對指定的 FLS 索引,將值儲存在呼叫光纖的 FLS 位置中。
IsThreadAFiber 判斷目前線程是否為 Fiber。
SwitchToFiber 排程光纖。

 

NUMA 支援函式

下列函式提供 NUMA支援。

功能 描述
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排程器線程的控制。

 

過時的函式