處理常式控制參數的登錄值
本文說明流程式控制制服務元件的參數。
原始產品版本: Windows Server 2012 R2
原始 KB 編號: 296930
摘要
您可以以手動方式處理管理功能或疑難排解目的的程式控制服務登錄值,這些值儲存在下列登錄機碼中:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ProcCon\Parameters
本文說明下列元件:
- 處理別名規則
- 處理常式執行規則
- 處理群組執行規則
預設進程執行規則字串
DfltMgmt: REG_SZ: {F0x0、A0x0、P0x8、L0x0、H0x0、S0x0、T0x0、U0x0、C0x0、M0x0、N0x0、}
其中:
F0x0 是此流程執行規則是否由群組管理的預設設定。 如果規則位於群組管理之下,則此值在所有情況下都會顯示為 F0X800。 當此值已設定時,管理此處理程式的群組文字值名稱會寫入下列登錄機碼:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ProcCon\Parameters\ProcessRules\your_process_execution_rule_alias_name\
- MemberOf:
- REG_SZ:
- your_process_group_execution_rule_name
A0x0 是處理器關聯的預設設定。 0值表示未套用任何相關性,而且此程式可以在系統中的任何可用處理器上執行。 所有值都是十六進位格式。 若要手動設定這些值,您必須編寫使用 API 呼叫的程式碼,但此程式已超出本文的範圍。
P0x8 是處理優先順序的預設值。 預設值為一般優先順序。 下列 [優先順序/值] 地圖會列出可用的設定,所有值都是十六進位的:
- P0x18 即時
- P0xd 高
- P0xa 高於正常值
- P0x8 標準
- 一般低於一般 P0x6
- P0x4 低
L0x0 是處理常式執行規則的最小工作集的預設設定。 值以十進位的十進位數轉換成十六進位。 例如,您可以將 GUI 介面設定為10000,以十進位為10240000。 對應的登錄專案值將會是 L0x9c4000。 GUI 介面中的任何專案等於或大於 9999999999 (或 9.31 + TB) 會導致「最小工作集」必須大於0但小於最大的工作集。 發生錯誤訊息。 同樣地,等於或大於0x2540BE3FF 的十六進位登錄專案會在下一次使用 GUI 介面時產生相同的錯誤訊息。
H0x0 是處理常式執行規則的最大工作集的預設設定。 值以十進位的十進位數轉換成十六進位。 例如,您可以將 GUI 介面設定為10000(十進位是10240000)。 對應的登錄專案值將會是 L0x9c4000。
S0x0、T0x0、U0x0、C0x0、M0x0、N0x0 目前未使用處理程式執行規則描述。
預設處理群組執行規則字串
DfltMgmt: REG_SZ: {F0x0、A0x0、P0x8、L0x0、H0x0、S0x5、T0x0、U0x0、C0x0、M0x0、N0x0、}
其中:
F0x0 涉及不同程式控制參數的數種不同設定。 若要手動設定此值,您必須編寫使用 API 呼叫的程式碼,但此程式已超出本文的範圍。
A0x0, P0x8, L0x0, H0x0. 這些參數的值的計算方式,與本文前面的「預設程式執行規則字串」一節相同。
S0x5 是預設排程類別值。 可用值介於0到9。 有效值為 S0x0、S0x1、S0x2、...。S0x9.
T0x0 是 "套用每個進程的使用者時間限制:" 的預設值。 這個值是在 GUI 中以 hh: mm: ss 的格式指定。 登錄值為十六進位格式,由作業系統計算。 若要取得十六進位轉換,您必須建立以程式碼為基礎的方法。 下列程式碼是範例程式碼,編譯時將會執行轉換,並在輸入0:00:00 格式的輸入時,輸出所需的十六進位值。
Microsoft 提供的程式設計範例僅供說明之用,並不具任何明示或暗示的責任擔保。 這包括 (但不限於) 任何目的之適售性及適用性的暗示責任擔保。 本文假設您熟悉示範的程式設計語言,也熟悉用以建立和偵錯程序的工具。 Microsoft 技術支援工程師可以協助說明特定程序的功能,但不會修改這些範例以提供附加功能或建構程序來滿足您的特定需求。
如需有關可用之支援選項的詳細資訊,以及如何與 Microsoft 聯繫,請流覽下列 Microsoft 網站:
輸出:
C:\Projects\timecv\Release>timecv Enter time in the following format (hh:mm:ss:) ->2:30:00 Registry value should be 0x14f46b0400
源:
#include "stdio.h" int main(int argc, char* argv[]) { __int64i64=0; intiHour=0,iMinute=0,iSecond=0; printf ("Enter time in the following format (hh:mm:ss:) ->"); scanf ("%i:%i:%i", &iHour,&iMinute,&iSecond); iHour *= 3600; iMinute *= 60; i64=(iHour+iMinute+iSecond); i64*=10000000; printf ("\nRegistry value should be 0x%I64x\n", i64); return 0; }
U0x0 是 "Apply group user time limit:" 的預設值。 這個值的指定及計算方式與上述 T0x0 描述中的相同。
C0x0 是「套用進程計數限制」的預設值。 這些值是由轉換為十六進位之十進位輸入值的簡單轉換所建立。 十進位數的最大值是1000000000以上的處理常式。
M0x0 是處理認可記憶體限制的預設值。 此值是以 kb 為單位所需值的十六進位轉換。 例如,如果要使用值10000,則在 GUI 中,登錄值會是 (10000 * 1024) 或10240000轉換成十六進位值0x9c4000。
N0x0 是處理群組認可記憶體限制的預設值,其計算方式與上述處理常式認可的記憶體限制相同。
注意
處理群組執行規則提供四項高級設定選項:
- 當群組中沒有進程時,結束進程群組。
- 在未處理的例外狀況上骰子。
- 無訊息 breakaway。
- Breakaway [確定]。
在登錄中無法手動編輯這些專案。 這些值必須透過本文未述的 API 程式設計呼叫來處理。