Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1180 lines
23 KiB

  1. /*++
  2. Copyright (c) 1990, 1991 Microsoft Corporation
  3. Module Name:
  4. cmdat3.c
  5. Abstract:
  6. This module contains registry "static" data which we don't
  7. want pulled into the loader.
  8. Author:
  9. Bryan Willman (bryanwi) 19-Oct-93
  10. Environment:
  11. Kernel mode.
  12. Revision History:
  13. --*/
  14. #include "cmp.h"
  15. #pragma hdrstop
  16. #include "dpfiltercm.h"
  17. //
  18. // ***** INIT *****
  19. //
  20. //
  21. // Data for CmGetSystemControlValues
  22. //
  23. //
  24. // ----- CmControlVector -----
  25. //
  26. #ifdef ALLOC_DATA_PRAGMA
  27. #pragma data_seg("INIT")
  28. #endif
  29. //
  30. // Local examples
  31. //
  32. WCHAR CmDefaultLanguageId[ 12 ] = { 0 };
  33. ULONG CmDefaultLanguageIdLength = sizeof( CmDefaultLanguageId );
  34. ULONG CmDefaultLanguageIdType = REG_NONE;
  35. WCHAR CmInstallUILanguageId[ 12 ] = { 0 };
  36. ULONG CmInstallUILanguageIdLength = sizeof( CmInstallUILanguageId );
  37. ULONG CmInstallUILanguageIdType = REG_NONE;
  38. //
  39. // suite data
  40. //
  41. WCHAR CmSuiteBuffer[128] = {0};
  42. ULONG CmSuiteBufferLength = sizeof(CmSuiteBuffer);
  43. ULONG CmSuiteBufferType = REG_NONE;
  44. //
  45. // Verify driver list data
  46. //
  47. extern LONG CmRegistryLogSizeLimit;
  48. extern WCHAR MmVerifyDriverBuffer[];
  49. extern ULONG MmVerifyDriverBufferLength;
  50. extern ULONG MmVerifyDriverBufferType;
  51. extern ULONG MmVerifyDriverLevel;
  52. extern LOGICAL MmDontVerifyRandomDrivers;
  53. extern ULONG IopAutoReboot;
  54. extern ULONG ObpProtectionMode;
  55. extern ULONG ObpAuditBaseDirectories;
  56. extern ULONG ObpAuditBaseObjects;
  57. extern ACCESS_MASK SepProcessAccessesToAudit;
  58. extern ULONG CmNtGlobalFlag;
  59. extern SIZE_T MmAllocationFragment;
  60. extern SIZE_T MmSizeOfPagedPoolInBytes;
  61. extern SIZE_T MmSizeOfNonPagedPoolInBytes;
  62. extern ULONG MmMaximumNonPagedPoolPercent;
  63. extern ULONG MmLargeSystemCache;
  64. #if defined (_X86_)
  65. extern ULONG MmLargeStackSize;
  66. #endif
  67. extern ULONG MmAllocationPreference;
  68. extern ULONG MmNumberOfSystemPtes;
  69. extern ULONG MmLowMemoryThreshold;
  70. extern ULONG MmHighMemoryThreshold;
  71. extern ULONG MmConsumedPoolPercentage;
  72. extern ULONG MmSecondaryColors;
  73. extern ULONG MmDisablePagingExecutive;
  74. extern ULONG MmModifiedPageLifeInSeconds;
  75. extern LOGICAL MmSpecialPoolCatchOverruns;
  76. #if 0
  77. extern ULONG MmCompressionThresholdRatio;
  78. #endif
  79. extern ULONG MmSpecialPoolTag;
  80. extern ULONG MmDynamicPfn;
  81. extern ULONG MmMirroring;
  82. extern SIZE_T MmSystemViewSize;
  83. extern SIZE_T MmSessionViewSize;
  84. extern SIZE_T MmSessionPoolSize;
  85. extern SIZE_T MmSessionImageSize;
  86. extern ULONG MmEnforceWriteProtection;
  87. extern ULONG MmLargePageMinimum;
  88. extern LOGICAL MmSnapUnloads;
  89. extern LOGICAL MmTrackLockedPages;
  90. extern LOGICAL MmMakeLowMemory;
  91. extern LOGICAL MmProtectFreedNonPagedPool;
  92. extern ULONG MmTrackPtes;
  93. extern ULONG CmRegistrySizeLimit;
  94. extern ULONG CmRegistrySizeLimitLength;
  95. extern ULONG CmRegistrySizeLimitType;
  96. extern ULONG PspDefaultPagedLimit;
  97. extern ULONG PspDefaultNonPagedLimit;
  98. extern ULONG PspDefaultPagefileLimit;
  99. extern ULONG ExResourceTimeoutCount;
  100. extern ULONG MmCritsectTimeoutSeconds;
  101. extern SIZE_T MmHeapSegmentReserve;
  102. extern SIZE_T MmHeapSegmentCommit;
  103. extern SIZE_T MmHeapDeCommitTotalFreeThreshold;
  104. extern SIZE_T MmHeapDeCommitFreeBlockThreshold;
  105. extern ULONG ExpAdditionalCriticalWorkerThreads;
  106. extern ULONG ExpAdditionalDelayedWorkerThreads;
  107. extern ULONG MmProductType;
  108. extern ULONG CmBrand;
  109. extern ULONG ExpHydraEnabled;
  110. extern ULONG ExpMultiUserTS;
  111. extern LOGICAL IoCountOperations;
  112. extern ULONG IopLargeIrpStackLocations;
  113. extern ULONG IovpVerifierLevel;
  114. extern ULONG MmZeroPageFile;
  115. extern ULONG ExpNtExpirationData[3];
  116. extern ULONG ExpNtExpirationDataLength;
  117. extern ULONG ExpMaxTimeSeperationBeforeCorrect;
  118. extern ULONG PopSimulate;
  119. extern ULONG PopIdleDefaultMinThrottle;
  120. extern ULONG PopIdleThrottleCheckRate;
  121. extern ULONG PopIdleThrottleCheckTimeout;
  122. extern ULONG PopIdleFrom0Delay;
  123. extern ULONG PopIdleFrom0IdlePercent;
  124. extern ULONG PopIdle0TimeCheck;
  125. extern ULONG PopIdleTimeCheck;
  126. extern ULONG PopIdleTo0Percent;
  127. extern ULONG PopIdleDefaultDemotePercent;
  128. extern ULONG PopIdleDefaultDemoteTime;
  129. extern ULONG PopIdleDefaultPromotePercent;
  130. extern ULONG PopIdleDefaultPromoteTime;
  131. extern ULONG PopPerfTimeDelta;
  132. extern ULONG PopPerfCriticalTimeDelta;
  133. extern ULONG PopPerfCriticalFrequencyDelta;
  134. extern ULONG PopPerfIncreasePercentModifier;
  135. extern ULONG PopPerfIncreaseAbsoluteModifier;
  136. extern ULONG PopPerfDecreasePercentModifier;
  137. extern ULONG PopPerfDecreaseAbsoluteModifier;
  138. extern ULONG PopPerfIncreaseTimeValue;
  139. extern ULONG PopPerfIncreaseMinimumTime;
  140. extern ULONG PopPerfDecreaseTimeValue;
  141. extern ULONG PopPerfDecreaseMinimumTime;
  142. extern ULONG PopPerfDegradeThrottleMinCapacity;
  143. extern ULONG PopPerfDegradeThrottleMinFrequency;
  144. extern ULONG PopPerfMaxC3Frequency;
  145. extern ULONG KiEnableTimerWatchdog;
  146. extern ULONG ObpTraceNoDeregister;
  147. extern WCHAR ObpTracePoolTagsBuffer[];
  148. extern ULONG ObpTracePoolTagsLength;
  149. extern ULONG ObpCaseInsensitive;
  150. extern ULONG ViSearchedNodesLimitFromRegistry;
  151. extern ULONG ViRecursionDepthLimitFromRegistry;
  152. extern ULONG MmMinimumStackCommitInBytes;
  153. extern ULONG ObpLUIDDeviceMapsDisabled;
  154. #if defined(_AMD64_) || defined(_IA64_)
  155. extern ULONG KiEnableAlignmentFaultExceptions;
  156. #endif
  157. extern ULONG KiMaximumDpcQueueDepth;
  158. extern ULONG KiMinimumDpcRate;
  159. extern ULONG KiAdjustDpcThreshold;
  160. extern ULONG KiIdealDpcRate;
  161. extern LARGE_INTEGER ExpLastShutDown;
  162. ULONG shutdownlength = 0;
  163. #if defined (_X86_)
  164. extern ULONG KiFastSystemCallDisable;
  165. extern ULONG KeVerifyNumaPageShift;
  166. extern ULONG KeVerifyNumaPageMask;
  167. extern ULONG KeVerifyNumaAffinityShift;
  168. extern ULONG KeVerifyNumaAffinity;
  169. extern ULONG KeVerifyNumaNodeCount;
  170. #endif
  171. #if defined(_IA64_)
  172. extern ULONG KiExceptionDeferralMode;
  173. #endif
  174. //Debugger Retries
  175. extern KD_CONTEXT KdpContext;
  176. //
  177. // WMI Control Variables
  178. extern ULONG WmipMaxKmWnodeEventSize;
  179. #if defined (_IA64_)
  180. extern ULONG WmipDisableMCAPopups;
  181. #endif
  182. extern ULONG WmiTraceAlignment;
  183. // Initial user-mode process to start and arguments.
  184. extern WCHAR NtInitialUserProcessBuffer[];
  185. extern ULONG NtInitialUserProcessBufferLength;
  186. extern ULONG NtInitialUserProcessBufferType;
  187. //
  188. // CmpUlongPtrLength is used for registry values that are 4-byte on 32-bit
  189. // machines and can be 64-bit on 64-bit machines.
  190. //
  191. ULONG CmpUlongPtrLength = sizeof (ULONG_PTR);
  192. //
  193. // Vector - see ntos\inc\cm.h for definition
  194. //
  195. CM_SYSTEM_CONTROL_VECTOR CmControlVector[] = {
  196. { L"Session Manager",
  197. L"ProtectionMode",
  198. &ObpProtectionMode,
  199. NULL,
  200. NULL
  201. },
  202. { L"Session Manager",
  203. L"LUIDDeviceMapsDisabled",
  204. &ObpLUIDDeviceMapsDisabled,
  205. NULL,
  206. NULL
  207. },
  208. { L"LSA",
  209. L"AuditBaseDirectories",
  210. &ObpAuditBaseDirectories,
  211. NULL,
  212. NULL
  213. },
  214. { L"LSA",
  215. L"AuditBaseObjects",
  216. &ObpAuditBaseObjects,
  217. NULL,
  218. NULL
  219. },
  220. { L"LSA\\audit",
  221. L"ProcessAccessesToAudit",
  222. &SepProcessAccessesToAudit,
  223. NULL,
  224. NULL
  225. },
  226. { L"TimeZoneInformation",
  227. L"ActiveTimeBias",
  228. &ExpLastTimeZoneBias,
  229. NULL,
  230. NULL
  231. },
  232. { L"TimeZoneInformation",
  233. L"Bias",
  234. &ExpAltTimeZoneBias,
  235. NULL,
  236. NULL
  237. },
  238. { L"TimeZoneInformation",
  239. L"RealTimeIsUniversal",
  240. &ExpRealTimeIsUniversal,
  241. NULL,
  242. NULL
  243. },
  244. { L"Session Manager",
  245. L"GlobalFlag",
  246. &CmNtGlobalFlag,
  247. NULL,
  248. NULL
  249. },
  250. { L"Session Manager\\Memory Management",
  251. L"DontVerifyRandomDrivers",
  252. &MmDontVerifyRandomDrivers,
  253. NULL,
  254. NULL
  255. },
  256. { L"Session Manager\\Memory Management",
  257. L"PagedPoolQuota",
  258. &PspDefaultPagedLimit,
  259. NULL,
  260. NULL
  261. },
  262. { L"Session Manager\\Memory Management",
  263. L"NonPagedPoolQuota",
  264. &PspDefaultNonPagedLimit,
  265. NULL,
  266. NULL
  267. },
  268. { L"Session Manager\\Memory Management",
  269. L"PagingFileQuota",
  270. &PspDefaultPagefileLimit,
  271. NULL,
  272. NULL
  273. },
  274. { L"Session Manager\\Memory Management",
  275. L"AllocationPreference",
  276. &MmAllocationPreference,
  277. NULL,
  278. NULL
  279. },
  280. { L"Session Manager\\Memory Management",
  281. L"DynamicMemory",
  282. &MmDynamicPfn,
  283. NULL,
  284. NULL
  285. },
  286. { L"Session Manager\\Memory Management",
  287. L"Mirroring",
  288. &MmMirroring,
  289. NULL,
  290. NULL
  291. },
  292. { L"Session Manager\\Memory Management",
  293. L"SystemViewSize",
  294. &MmSystemViewSize,
  295. NULL,
  296. NULL
  297. },
  298. { L"Session Manager\\Memory Management",
  299. L"SessionViewSize",
  300. &MmSessionViewSize,
  301. NULL,
  302. NULL
  303. },
  304. { L"Session Manager\\Memory Management",
  305. L"SessionImageSize",
  306. &MmSessionImageSize,
  307. NULL,
  308. NULL
  309. },
  310. { L"Session Manager\\Memory Management",
  311. L"SessionPoolSize",
  312. &MmSessionPoolSize,
  313. NULL,
  314. NULL
  315. },
  316. #if 0
  317. { L"Session Manager\\Memory Management",
  318. L"CompressionThresholdPercentage",
  319. &MmCompressionThresholdRatio,
  320. NULL,
  321. NULL
  322. },
  323. #endif
  324. { L"Session Manager\\Memory Management",
  325. L"PoolUsageMaximum",
  326. &MmConsumedPoolPercentage,
  327. NULL,
  328. NULL
  329. },
  330. { L"Session Manager\\Memory Management",
  331. L"MapAllocationFragment",
  332. &MmAllocationFragment,
  333. NULL,
  334. NULL
  335. },
  336. { L"Session Manager\\Memory Management",
  337. L"PagedPoolSize",
  338. &MmSizeOfPagedPoolInBytes,
  339. &CmpUlongPtrLength,
  340. NULL
  341. },
  342. { L"Session Manager\\Memory Management",
  343. L"NonPagedPoolSize",
  344. &MmSizeOfNonPagedPoolInBytes,
  345. &CmpUlongPtrLength,
  346. NULL
  347. },
  348. { L"Session Manager\\Memory Management",
  349. L"NonPagedPoolMaximumPercent",
  350. &MmMaximumNonPagedPoolPercent,
  351. NULL,
  352. NULL
  353. },
  354. { L"Session Manager\\Memory Management",
  355. L"LargeSystemCache",
  356. &MmLargeSystemCache,
  357. NULL,
  358. NULL
  359. },
  360. #if defined (_X86_)
  361. { L"Session Manager\\Memory Management",
  362. L"LargeStackSize",
  363. &MmLargeStackSize,
  364. NULL,
  365. NULL
  366. },
  367. #endif
  368. { L"Session Manager\\Memory Management",
  369. L"SystemPages",
  370. &MmNumberOfSystemPtes,
  371. NULL,
  372. NULL
  373. },
  374. { L"Session Manager\\Memory Management",
  375. L"LowMemoryThreshold",
  376. &MmLowMemoryThreshold,
  377. NULL,
  378. NULL
  379. },
  380. { L"Session Manager\\Memory Management",
  381. L"HighMemoryThreshold",
  382. &MmHighMemoryThreshold,
  383. NULL,
  384. NULL
  385. },
  386. { L"Session Manager\\Memory Management",
  387. L"DisablePagingExecutive",
  388. &MmDisablePagingExecutive,
  389. NULL,
  390. NULL
  391. },
  392. { L"Session Manager\\Memory Management",
  393. L"ModifiedPageLife",
  394. &MmModifiedPageLifeInSeconds,
  395. NULL,
  396. NULL
  397. },
  398. { L"Session Manager\\Memory Management",
  399. L"SecondLevelDataCache",
  400. &MmSecondaryColors,
  401. NULL,
  402. NULL
  403. },
  404. { L"Session Manager\\Memory Management",
  405. L"ClearPageFileAtShutdown",
  406. &MmZeroPageFile,
  407. NULL,
  408. NULL
  409. },
  410. { L"Session Manager\\Memory Management",
  411. L"PoolTag",
  412. &MmSpecialPoolTag,
  413. NULL,
  414. NULL
  415. },
  416. { L"Session Manager\\Memory Management",
  417. L"PoolTagOverruns",
  418. &MmSpecialPoolCatchOverruns,
  419. NULL,
  420. NULL
  421. },
  422. { L"Session Manager\\Memory Management",
  423. L"SnapUnloads",
  424. &MmSnapUnloads,
  425. NULL,
  426. NULL
  427. },
  428. { L"Session Manager\\Memory Management",
  429. L"ProtectNonPagedPool",
  430. &MmProtectFreedNonPagedPool,
  431. NULL,
  432. NULL
  433. },
  434. { L"Session Manager\\Memory Management",
  435. L"TrackLockedPages",
  436. &MmTrackLockedPages,
  437. NULL,
  438. NULL
  439. },
  440. { L"Session Manager\\Memory Management",
  441. L"TrackPtes",
  442. &MmTrackPtes,
  443. NULL,
  444. NULL
  445. },
  446. { L"Session Manager\\Memory Management",
  447. L"VerifyDrivers",
  448. MmVerifyDriverBuffer,
  449. &MmVerifyDriverBufferLength,
  450. &MmVerifyDriverBufferType
  451. },
  452. { L"Session Manager\\Memory Management",
  453. L"VerifyDriverLevel",
  454. &MmVerifyDriverLevel,
  455. NULL,
  456. NULL
  457. },
  458. { L"Session Manager\\Memory Management",
  459. L"LargePageMinimum",
  460. &MmLargePageMinimum,
  461. NULL,
  462. NULL
  463. },
  464. { L"Session Manager\\Memory Management",
  465. L"EnforceWriteProtection",
  466. &MmEnforceWriteProtection,
  467. NULL,
  468. NULL
  469. },
  470. { L"Session Manager\\Memory Management",
  471. L"MakeLowMemory",
  472. &MmMakeLowMemory,
  473. NULL,
  474. NULL
  475. },
  476. { L"Session Manager\\Memory Management",
  477. L"DeadlockRecursionDepthLimit",
  478. &ViRecursionDepthLimitFromRegistry,
  479. NULL,
  480. NULL
  481. },
  482. { L"Session Manager\\Memory Management",
  483. L"DeadlockSearchNodesLimit",
  484. &ViSearchedNodesLimitFromRegistry,
  485. NULL,
  486. NULL
  487. },
  488. { L"Session Manager\\Memory Management",
  489. L"MinimumStackCommitInBytes",
  490. &MmMinimumStackCommitInBytes,
  491. NULL,
  492. NULL
  493. },
  494. { L"Session Manager\\Executive",
  495. L"AdditionalCriticalWorkerThreads",
  496. &ExpAdditionalCriticalWorkerThreads,
  497. NULL,
  498. NULL
  499. },
  500. { L"Session Manager\\Executive",
  501. L"AdditionalDelayedWorkerThreads",
  502. &ExpAdditionalDelayedWorkerThreads,
  503. NULL,
  504. NULL
  505. },
  506. { L"Session Manager\\Executive",
  507. L"PriorityQuantumMatrix",
  508. &ExpNtExpirationData,
  509. &ExpNtExpirationDataLength,
  510. NULL
  511. },
  512. { L"Session Manager\\Kernel",
  513. L"DpcQueueDepth",
  514. &KiMaximumDpcQueueDepth,
  515. NULL,
  516. NULL
  517. },
  518. { L"Session Manager\\Kernel",
  519. L"MinimumDpcRate",
  520. &KiMinimumDpcRate,
  521. NULL,
  522. NULL
  523. },
  524. { L"Session Manager\\Kernel",
  525. L"AdjustDpcThreshold",
  526. &KiAdjustDpcThreshold,
  527. NULL,
  528. NULL
  529. },
  530. #if defined(_IA64_)
  531. { L"Session Manager\\Kernel",
  532. L"ExceptionDeferralMode",
  533. &KiExceptionDeferralMode,
  534. NULL,
  535. NULL
  536. },
  537. #endif
  538. { L"Session Manager\\Kernel",
  539. L"IdealDpcRate",
  540. &KiIdealDpcRate,
  541. NULL,
  542. NULL
  543. },
  544. #if defined(_X86_)
  545. { L"Session Manager\\Kernel",
  546. L"FastSystemCallDisable",
  547. &KiFastSystemCallDisable,
  548. NULL,
  549. NULL
  550. },
  551. #endif
  552. { L"Session Manager\\Kernel",
  553. L"ObTracePoolTags",
  554. &ObpTracePoolTagsBuffer,
  555. &ObpTracePoolTagsLength,
  556. NULL
  557. },
  558. { L"Session Manager\\Kernel",
  559. L"ObTraceNoDeregister",
  560. &ObpTraceNoDeregister,
  561. NULL,
  562. NULL
  563. },
  564. { L"Session Manager\\Kernel",
  565. L"PoCleanShutdownFlags",
  566. &PopShutdownCleanly,
  567. NULL,
  568. NULL
  569. },
  570. { L"Session Manager\\Power",
  571. L"IdleDefaultMinThrottle",
  572. &PopIdleDefaultMinThrottle,
  573. NULL,
  574. NULL
  575. },
  576. { L"Session Manager\\Power",
  577. L"IdleThrottleCheckRate",
  578. &PopIdleThrottleCheckRate,
  579. NULL,
  580. NULL
  581. },
  582. { L"Session Manager\\Power",
  583. L"IdleThrottleCheckTimeout",
  584. &PopIdleThrottleCheckTimeout,
  585. NULL,
  586. NULL
  587. },
  588. { L"Session Manager\\Power",
  589. L"IdleFrom0Delay",
  590. &PopIdleFrom0Delay,
  591. NULL,
  592. NULL
  593. },
  594. { L"Session Manager\\Power",
  595. L"IdleFrom0IdlePercent",
  596. &PopIdleFrom0IdlePercent,
  597. NULL,
  598. NULL
  599. },
  600. { L"Session Manager\\Power",
  601. L"Idle0TimeCheck",
  602. &PopIdle0TimeCheck,
  603. NULL,
  604. NULL
  605. },
  606. { L"Session Manager\\Power",
  607. L"IdleTimeCheck",
  608. &PopIdleTimeCheck,
  609. NULL,
  610. NULL
  611. },
  612. { L"Session Manager\\Power",
  613. L"IdleTo0Percent",
  614. &PopIdleTo0Percent,
  615. NULL,
  616. NULL
  617. },
  618. { L"Session Manager\\Power",
  619. L"IdleDefaultDemotePercent",
  620. &PopIdleDefaultDemotePercent,
  621. NULL,
  622. NULL
  623. },
  624. { L"Session Manager\\Power",
  625. L"IdleDefaultDemoteTime",
  626. &PopIdleDefaultDemoteTime,
  627. NULL,
  628. NULL
  629. },
  630. { L"Session Manager\\Power",
  631. L"IdleDefaultPromotePercent",
  632. &PopIdleDefaultPromotePercent,
  633. NULL,
  634. NULL
  635. },
  636. { L"Session Manager\\Power",
  637. L"IdleDefaultPromoteTime",
  638. &PopIdleDefaultPromoteTime,
  639. NULL,
  640. NULL
  641. },
  642. { L"Session Manager\\Throttle",
  643. L"PerfTimeDelta",
  644. &PopPerfTimeDelta,
  645. NULL,
  646. NULL
  647. },
  648. { L"Session Manager\\Throttle",
  649. L"PerfCriticalTimeDelta",
  650. &PopPerfCriticalTimeDelta,
  651. NULL,
  652. NULL
  653. },
  654. { L"Session Manager\\Throttle",
  655. L"PerfCriticalFrequencyDelta",
  656. &PopPerfCriticalFrequencyDelta,
  657. NULL,
  658. NULL
  659. },
  660. { L"Session Manager\\Throttle",
  661. L"PerfIncreasePercentModifier",
  662. &PopPerfIncreasePercentModifier,
  663. NULL,
  664. NULL
  665. },
  666. { L"Session Manager\\Throttle",
  667. L"PerfIncreaseAbsoluteModifier",
  668. &PopPerfIncreaseAbsoluteModifier,
  669. NULL,
  670. NULL
  671. },
  672. { L"Session Manager\\Throttle",
  673. L"PerfDecreasePercentModifier",
  674. &PopPerfDecreasePercentModifier,
  675. NULL,
  676. NULL
  677. },
  678. { L"Session Manager\\Throttle",
  679. L"PerfDecreaseAbsoluteModifier",
  680. &PopPerfIncreaseAbsoluteModifier,
  681. NULL,
  682. NULL
  683. },
  684. { L"Session Manager\\Throttle",
  685. L"PerfIncreaseTimeValue",
  686. &PopPerfIncreaseTimeValue,
  687. NULL,
  688. NULL
  689. },
  690. { L"Session Manager\\Throttle",
  691. L"PerfIncreaseMinimumTime",
  692. &PopPerfIncreaseMinimumTime,
  693. NULL,
  694. NULL
  695. },
  696. { L"Session Manager\\Throttle",
  697. L"PerfDecreaseTimeValue",
  698. &PopPerfDecreaseTimeValue,
  699. NULL,
  700. NULL
  701. },
  702. { L"Session Manager\\Throttle",
  703. L"PerfDecreaseMinimumTime",
  704. &PopPerfDecreaseMinimumTime,
  705. NULL,
  706. NULL
  707. },
  708. { L"Session Manager\\Throttle",
  709. L"PerfDegradeThrottleMinCapacity",
  710. &PopPerfDegradeThrottleMinCapacity,
  711. NULL,
  712. NULL
  713. },
  714. { L"Session Manager\\Throttle",
  715. L"PerfDegradeThrottleMinFrequency",
  716. &PopPerfDegradeThrottleMinFrequency,
  717. NULL,
  718. NULL
  719. },
  720. { L"Session Manager\\Throttle",
  721. L"PerfMaxC3Frequency",
  722. &PopPerfMaxC3Frequency,
  723. NULL,
  724. NULL
  725. },
  726. { L"Session Manager\\Kernel",
  727. L"ObCaseInsensitive",
  728. &ObpCaseInsensitive,
  729. NULL,
  730. NULL
  731. },
  732. { L"Session Manager\\I/O System",
  733. L"CountOperations",
  734. &IoCountOperations,
  735. NULL,
  736. NULL
  737. },
  738. { L"Session Manager\\I/O System",
  739. L"LargeIrpStackLocations",
  740. &IopLargeIrpStackLocations,
  741. NULL,
  742. NULL
  743. },
  744. { L"Session Manager\\I/O System",
  745. L"IoVerifierLevel",
  746. &IovpVerifierLevel,
  747. NULL,
  748. NULL
  749. },
  750. { L"Session Manager",
  751. L"ResourceTimeoutCount",
  752. &ExResourceTimeoutCount,
  753. NULL,
  754. NULL
  755. },
  756. { L"Session Manager",
  757. L"CriticalSectionTimeout",
  758. &MmCritsectTimeoutSeconds,
  759. NULL,
  760. NULL
  761. },
  762. { L"Session Manager",
  763. L"HeapSegmentReserve",
  764. &MmHeapSegmentReserve,
  765. NULL,
  766. NULL
  767. },
  768. { L"Session Manager",
  769. L"HeapSegmentCommit",
  770. &MmHeapSegmentCommit,
  771. NULL,
  772. NULL
  773. },
  774. { L"Session Manager",
  775. L"HeapDeCommitTotalFreeThreshold",
  776. &MmHeapDeCommitTotalFreeThreshold,
  777. NULL,
  778. NULL
  779. },
  780. { L"Session Manager",
  781. L"HeapDeCommitFreeBlockThreshold",
  782. &MmHeapDeCommitFreeBlockThreshold,
  783. NULL,
  784. NULL
  785. },
  786. #if defined(_AMD64_) || defined(_IA64_)
  787. { L"Session Manager",
  788. L"EnableAlignmentFaultExceptions",
  789. &KiEnableAlignmentFaultExceptions,
  790. NULL,
  791. NULL
  792. },
  793. #endif
  794. { L"ProductOptions",
  795. L"ProductType",
  796. &MmProductType,
  797. NULL,
  798. NULL
  799. },
  800. { L"ProductOptions",
  801. L"Brand",
  802. &CmBrand,
  803. NULL,
  804. NULL
  805. },
  806. { L"Terminal Server",
  807. L"TSEnabled",
  808. &ExpHydraEnabled,
  809. NULL,
  810. NULL
  811. },
  812. { L"Terminal Server",
  813. L"TSAppCompat",
  814. &ExpMultiUserTS,
  815. NULL,
  816. NULL
  817. },
  818. { L"ProductOptions",
  819. L"ProductSuite",
  820. CmSuiteBuffer,
  821. &CmSuiteBufferLength,
  822. &CmSuiteBufferType
  823. },
  824. { L"Windows",
  825. L"CSDVersion",
  826. &CmNtCSDVersion,
  827. NULL,
  828. NULL
  829. },
  830. { L"Windows",
  831. L"CSDReleaseType",
  832. &CmNtCSDReleaseType,
  833. NULL,
  834. NULL
  835. },
  836. { L"Nls\\Language",
  837. L"Default",
  838. CmDefaultLanguageId,
  839. &CmDefaultLanguageIdLength,
  840. &CmDefaultLanguageIdType
  841. },
  842. { L"Nls\\Language",
  843. L"InstallLanguage",
  844. CmInstallUILanguageId,
  845. &CmInstallUILanguageIdLength,
  846. &CmInstallUILanguageIdType
  847. },
  848. { L"\0\0",
  849. L"RegistrySizeLimit",
  850. &CmRegistrySizeLimit,
  851. &CmRegistrySizeLimitLength,
  852. &CmRegistrySizeLimitType
  853. },
  854. { L"Session Manager\\Configuration Manager",
  855. L"RegistryLogSizeLimit",
  856. &CmRegistryLogSizeLimit,
  857. NULL,
  858. NULL
  859. },
  860. #if defined (_X86_)
  861. //
  862. // The following are used for testing NUMA configurations on
  863. // non-NUMA machines.
  864. //
  865. { L"Session Manager\\Memory Management\\FakeNuma",
  866. L"NodeCount",
  867. &KeVerifyNumaNodeCount,
  868. NULL,
  869. NULL
  870. },
  871. { L"Session Manager\\Memory Management\\FakeNuma",
  872. L"Affinity",
  873. &KeVerifyNumaAffinity,
  874. NULL,
  875. NULL
  876. },
  877. { L"Session Manager\\Memory Management\\FakeNuma",
  878. L"AffinityShift",
  879. &KeVerifyNumaAffinityShift,
  880. NULL,
  881. NULL
  882. },
  883. { L"Session Manager\\Memory Management\\FakeNuma",
  884. L"PageMask",
  885. &KeVerifyNumaPageMask,
  886. NULL,
  887. NULL
  888. },
  889. { L"Session Manager\\Memory Management\\FakeNuma",
  890. L"PageShift",
  891. &KeVerifyNumaPageShift,
  892. NULL,
  893. NULL
  894. },
  895. #endif
  896. #if !defined(NT_UP)
  897. { L"Session Manager",
  898. L"RegisteredProcessors",
  899. &KeRegisteredProcessors,
  900. NULL,
  901. NULL
  902. },
  903. { L"Session Manager",
  904. L"LicensedProcessors",
  905. &KeLicensedProcessors,
  906. NULL,
  907. NULL
  908. },
  909. #endif
  910. { L"Session Manager",
  911. L"PowerPolicySimulate",
  912. &PopSimulate,
  913. NULL,
  914. NULL
  915. },
  916. { L"Session Manager\\Executive",
  917. L"MaxTimeSeparationBeforeCorrect",
  918. &ExpMaxTimeSeperationBeforeCorrect,
  919. NULL,
  920. NULL
  921. },
  922. { L"Windows",
  923. L"ShutdownTime",
  924. &ExpLastShutDown,
  925. &shutdownlength,
  926. NULL
  927. },
  928. { L"PriorityControl",
  929. L"Win32PrioritySeparation",
  930. &PsRawPrioritySeparation,
  931. NULL,
  932. NULL
  933. },
  934. #if defined(_X86_)
  935. { L"Session Manager",
  936. L"EnableTimerWatchdog",
  937. &KiEnableTimerWatchdog,
  938. NULL,
  939. NULL
  940. },
  941. #endif
  942. { L"Session Manager",
  943. L"Debugger Retries",
  944. &KdpContext.KdpDefaultRetries,
  945. NULL,
  946. NULL
  947. },
  948. { L"Session Manager\\Debug Print Filter",
  949. L"WIN2000",
  950. &Kd_WIN2000_Mask,
  951. NULL,
  952. NULL
  953. },
  954. #include "dpfiltercm.c"
  955. { L"WMI",
  956. L"MaxEventSize",
  957. &WmipMaxKmWnodeEventSize,
  958. NULL,
  959. NULL
  960. },
  961. #if defined(_IA64_)
  962. { L"WMI",
  963. L"DisableMCAPopups",
  964. &WmipDisableMCAPopups,
  965. NULL,
  966. NULL
  967. },
  968. #endif
  969. { L"WMI\\Trace",
  970. L"UsePerformanceClock",
  971. &WmiUsePerfClock,
  972. NULL,
  973. NULL
  974. },
  975. { L"WMI\\Trace",
  976. L"TraceAlignment",
  977. &WmiTraceAlignment,
  978. NULL,
  979. NULL
  980. },
  981. { L"Session Manager",
  982. L"Initial Process",
  983. NtInitialUserProcessBuffer,
  984. &NtInitialUserProcessBufferLength,
  985. &NtInitialUserProcessBufferType
  986. },
  987. { L"EmbeddedNT\\Executive",
  988. L"KernelOnlyConfiguration",
  989. &PsEmbeddedNTMask,
  990. NULL,
  991. NULL
  992. },
  993. { L"CrashControl",
  994. L"AutoReboot",
  995. &IopAutoReboot,
  996. NULL,
  997. NULL
  998. },
  999. { NULL, NULL, NULL, NULL, NULL } // end marker
  1000. };
  1001. #ifdef ALLOC_DATA_PRAGMA
  1002. #pragma data_seg()
  1003. #endif