Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

cmdat3.c

Go to the documentation of this file.
00001 /*++ 00002 00003 Copyright (c) 1990, 1991 Microsoft Corporation 00004 00005 00006 Module Name: 00007 00008 cmdat3.c 00009 00010 Abstract: 00011 00012 This module contains registry "static" data which we don't 00013 want pulled into the loader. 00014 00015 Author: 00016 00017 Bryan Willman (bryanwi) 19-Oct-93 00018 00019 00020 Environment: 00021 00022 Kernel mode. 00023 00024 Revision History: 00025 00026 --*/ 00027 00028 #include "cmp.h" 00029 00030 // 00031 // ***** INIT ***** 00032 // 00033 00034 // 00035 // Data for CmGetSystemControlValues 00036 // 00037 // 00038 // ----- CmControlVector ----- 00039 // 00040 #ifdef ALLOC_DATA_PRAGMA 00041 #pragma data_seg("INIT") 00042 #endif 00043 00044 // 00045 // Local examples 00046 // 00047 WCHAR CmDefaultLanguageId[ 12 ] = { 0 }; 00048 ULONG CmDefaultLanguageIdLength = sizeof( CmDefaultLanguageId ); 00049 ULONG CmDefaultLanguageIdType = REG_NONE; 00050 00051 WCHAR CmInstallUILanguageId[ 12 ] = { 0 }; 00052 ULONG CmInstallUILanguageIdLength = sizeof( CmInstallUILanguageId ); 00053 ULONG CmInstallUILanguageIdType = REG_NONE; 00054 // 00055 // suite data 00056 // 00057 WCHAR CmSuiteBuffer[128]; 00058 ULONG CmSuiteBufferLength = sizeof(CmSuiteBuffer); 00059 ULONG CmSuiteBufferType = REG_NONE; 00060 00061 // 00062 // Verify driver list data 00063 // 00064 extern WCHAR MmVerifyDriverBuffer[]; 00065 extern ULONG MmVerifyDriverBufferLength; 00066 extern ULONG MmVerifyDriverBufferType; 00067 extern ULONG MmVerifyDriverLevel; 00068 extern LOGICAL MmDontVerifyRandomDrivers; 00069 00070 extern ULONG ObpProtectionMode; 00071 extern ULONG ObpAuditBaseDirectories; 00072 extern ULONG ObpAuditBaseObjects; 00073 extern ULONG CmNtGlobalFlag; 00074 extern SIZE_T MmSizeOfPagedPoolInBytes; 00075 extern SIZE_T MmSizeOfNonPagedPoolInBytes; 00076 extern SIZE_T MmOverCommit; 00077 extern ULONG MmLockPagesPercentage; 00078 extern ULONG MmLargeSystemCache; 00079 extern ULONG MmNumberOfSystemPtes; 00080 extern ULONG MmUnusedSegmentTrimLevel; 00081 extern ULONG MmSecondaryColors; 00082 extern ULONG MmDisablePagingExecutive; 00083 extern ULONG MmModifiedPageLifeInSeconds; 00084 extern LOGICAL MmSpecialPoolCatchOverruns; 00085 extern LOGICAL MmDynamicPfn; 00086 extern ULONG MmEnforceWriteProtection; 00087 extern ULONG MmLargePageMinimum; 00088 extern LOGICAL MmSnapUnloads; 00089 extern LOGICAL MmTrackLockedPages; 00090 extern LOGICAL MmMakeLowMemory; 00091 extern LOGICAL MmSupportWriteWatch; 00092 extern LOGICAL MmProtectFreedNonPagedPool; 00093 extern LOGICAL MmTrackPtes; 00094 extern ULONG CmRegistrySizeLimit; 00095 extern ULONG CmRegistrySizeLimitLength; 00096 extern ULONG CmRegistrySizeLimitType; 00097 extern ULONG PspDefaultPagedLimit; 00098 extern ULONG PspDefaultNonPagedLimit; 00099 extern ULONG PspDefaultPagefileLimit; 00100 extern ULONG ExpResourceTimeoutCount; 00101 extern ULONG MmCritsectTimeoutSeconds; 00102 extern SIZE_T MmHeapSegmentReserve; 00103 extern SIZE_T MmHeapSegmentCommit; 00104 extern SIZE_T MmHeapDeCommitTotalFreeThreshold; 00105 extern SIZE_T MmHeapDeCommitFreeBlockThreshold; 00106 extern ULONG ExpAdditionalCriticalWorkerThreads; 00107 extern ULONG ExpAdditionalDelayedWorkerThreads; 00108 extern ULONG MmProductType; 00109 extern ULONG ExpHydraEnabled; 00110 extern ULONG ExpMultiUserTS; 00111 extern LOGICAL IoCountOperations; 00112 extern ULONG IopLargeIrpStackLocations; 00113 extern ULONG IovpVerifierLevel; 00114 extern ULONG MmZeroPageFile; 00115 extern ULONG ExpNtExpirationData[3]; 00116 extern ULONG ExpNtExpirationDataLength; 00117 extern ULONG ExpMaxTimeSeperationBeforeCorrect; 00118 extern ULONG PopSimulate; 00119 extern ULONG KiEnableTimerWatchdog; 00120 00121 #if defined(_ALPHA_) || defined(_IA64_) 00122 extern ULONG KiEnableAlignmentFaultExceptions; 00123 #endif 00124 00125 extern ULONG KiMaximumDpcQueueDepth; 00126 extern ULONG KiMinimumDpcRate; 00127 extern ULONG KiAdjustDpcThreshold; 00128 extern ULONG KiIdealDpcRate; 00129 extern LARGE_INTEGER ExpLastShutDown; 00130 ULONG shutdownlength; 00131 00132 #if defined (i386) 00133 extern ULONG KeI386ForceNpxEmulation; 00134 #endif 00135 00136 //Debugger Retries 00137 extern ULONG KdpDefaultRetries; 00138 00139 // 00140 // WMI Control Variables 00141 extern ULONG WmipMaxKmWnodeEventSize; 00142 extern ULONG WmiTraceAlignment; 00143 00144 // 00145 // Vector - see ntos\inc\cm.h for definition 00146 // 00147 CM_SYSTEM_CONTROL_VECTOR CmControlVector[] = { 00148 00149 { L"Session Manager", 00150 L"ProtectionMode", 00151 &ObpProtectionMode, 00152 NULL, 00153 NULL 00154 }, 00155 00156 00157 { L"LSA", 00158 L"AuditBaseDirectories", 00159 &ObpAuditBaseDirectories, 00160 NULL, 00161 NULL 00162 }, 00163 00164 00165 { L"LSA", 00166 L"AuditBaseObjects", 00167 &ObpAuditBaseObjects, 00168 NULL, 00169 NULL 00170 }, 00171 00172 00173 { L"TimeZoneInformation", 00174 L"ActiveTimeBias", 00175 &ExpLastTimeZoneBias, 00176 NULL, 00177 NULL 00178 }, 00179 00180 00181 { L"TimeZoneInformation", 00182 L"Bias", 00183 &ExpAltTimeZoneBias, 00184 NULL, 00185 NULL 00186 }, 00187 00188 { L"TimeZoneInformation", 00189 L"RealTimeIsUniversal", 00190 &ExpRealTimeIsUniversal, 00191 NULL, 00192 NULL 00193 }, 00194 00195 { L"Session Manager", 00196 L"GlobalFlag", 00197 &CmNtGlobalFlag, 00198 NULL, 00199 NULL 00200 }, 00201 00202 { L"Session Manager\\Memory Management", 00203 L"DontVerifyRandomDrivers", 00204 &MmDontVerifyRandomDrivers, 00205 NULL, 00206 NULL 00207 }, 00208 00209 { L"Session Manager\\Memory Management", 00210 L"PagedPoolQuota", 00211 &PspDefaultPagedLimit, 00212 NULL, 00213 NULL 00214 }, 00215 00216 { L"Session Manager\\Memory Management", 00217 L"NonPagedPoolQuota", 00218 &PspDefaultNonPagedLimit, 00219 NULL, 00220 NULL 00221 }, 00222 00223 { L"Session Manager\\Memory Management", 00224 L"PagingFileQuota", 00225 &PspDefaultPagefileLimit, 00226 NULL, 00227 NULL 00228 }, 00229 00230 { L"Session Manager\\Memory Management", 00231 L"DynamicMemory", 00232 &MmDynamicPfn, 00233 NULL, 00234 NULL 00235 }, 00236 00237 { L"Session Manager\\Memory Management", 00238 L"UnusedFileCache", 00239 &MmUnusedSegmentTrimLevel, 00240 NULL, 00241 NULL 00242 }, 00243 00244 { L"Session Manager\\Memory Management", 00245 L"PagedPoolSize", 00246 &MmSizeOfPagedPoolInBytes, 00247 NULL, 00248 NULL 00249 }, 00250 00251 { L"Session Manager\\Memory Management", 00252 L"NonPagedPoolSize", 00253 &MmSizeOfNonPagedPoolInBytes, 00254 NULL, 00255 NULL 00256 }, 00257 00258 { L"Session Manager\\Memory Management", 00259 L"IoPageLockPercentage", 00260 &MmLockPagesPercentage, 00261 NULL, 00262 NULL 00263 }, 00264 00265 { L"Session Manager\\Memory Management", 00266 L"LargeSystemCache", 00267 &MmLargeSystemCache, 00268 NULL, 00269 NULL 00270 }, 00271 00272 { L"Session Manager\\Memory Management", 00273 L"OverCommitSize", 00274 &MmOverCommit, 00275 NULL, 00276 NULL 00277 }, 00278 00279 { L"Session Manager\\Memory Management", 00280 L"SystemPages", 00281 &MmNumberOfSystemPtes, 00282 NULL, 00283 NULL 00284 }, 00285 00286 { L"Session Manager\\Memory Management", 00287 L"DisablePagingExecutive", 00288 &MmDisablePagingExecutive, 00289 NULL, 00290 NULL 00291 }, 00292 00293 { L"Session Manager\\Memory Management", 00294 L"ModifiedPageLife", 00295 &MmModifiedPageLifeInSeconds, 00296 NULL, 00297 NULL 00298 }, 00299 00300 { L"Session Manager\\Memory Management", 00301 L"SecondLevelDataCache", 00302 &MmSecondaryColors, 00303 NULL, 00304 NULL 00305 }, 00306 00307 { L"Session Manager\\Memory Management", 00308 L"ClearPageFileAtShutdown", 00309 &MmZeroPageFile, 00310 NULL, 00311 NULL 00312 }, 00313 00314 { L"Session Manager\\Memory Management", 00315 L"PoolTag", 00316 &MmSpecialPoolTag, 00317 NULL, 00318 NULL 00319 }, 00320 00321 { L"Session Manager\\Memory Management", 00322 L"PoolTagOverruns", 00323 &MmSpecialPoolCatchOverruns, 00324 NULL, 00325 NULL 00326 }, 00327 00328 { L"Session Manager\\Memory Management", 00329 L"SnapUnloads", 00330 &MmSnapUnloads, 00331 NULL, 00332 NULL 00333 }, 00334 00335 { L"Session Manager\\Memory Management", 00336 L"ProtectNonPagedPool", 00337 &MmProtectFreedNonPagedPool, 00338 NULL, 00339 NULL 00340 }, 00341 00342 { L"Session Manager\\Memory Management", 00343 L"TrackLockedPages", 00344 &MmTrackLockedPages, 00345 NULL, 00346 NULL 00347 }, 00348 00349 { L"Session Manager\\Memory Management", 00350 L"TrackPtes", 00351 &MmTrackPtes, 00352 NULL, 00353 NULL 00354 }, 00355 00356 { L"Session Manager\\Memory Management", 00357 L"VerifyDrivers", 00358 MmVerifyDriverBuffer, 00359 &MmVerifyDriverBufferLength, 00360 &MmVerifyDriverBufferType 00361 }, 00362 00363 { L"Session Manager\\Memory Management", 00364 L"VerifyDriverLevel", 00365 &MmVerifyDriverLevel, 00366 NULL, 00367 NULL 00368 }, 00369 00370 { L"Session Manager\\Memory Management", 00371 L"LargePageMinimum", 00372 &MmLargePageMinimum, 00373 NULL, 00374 NULL 00375 }, 00376 00377 { L"Session Manager\\Memory Management", 00378 L"EnforceWriteProtection", 00379 &MmEnforceWriteProtection, 00380 NULL, 00381 NULL 00382 }, 00383 00384 { L"Session Manager\\Memory Management", 00385 L"MakeLowMemory", 00386 &MmMakeLowMemory, 00387 NULL, 00388 NULL 00389 }, 00390 00391 { L"Session Manager\\Memory Management", 00392 L"WriteWatch", 00393 &MmSupportWriteWatch, 00394 NULL, 00395 NULL 00396 }, 00397 00398 { L"Session Manager\\Executive", 00399 L"AdditionalCriticalWorkerThreads", 00400 &ExpAdditionalCriticalWorkerThreads, 00401 NULL, 00402 NULL 00403 }, 00404 00405 { L"Session Manager\\Executive", 00406 L"AdditionalDelayedWorkerThreads", 00407 &ExpAdditionalDelayedWorkerThreads, 00408 NULL, 00409 NULL 00410 }, 00411 00412 { L"Session Manager\\Executive", 00413 L"PriorityQuantumMatrix", 00414 &ExpNtExpirationData, 00415 &ExpNtExpirationDataLength, 00416 NULL 00417 }, 00418 00419 { L"Session Manager\\Kernel", 00420 L"DpcQueueDepth", 00421 &KiMaximumDpcQueueDepth, 00422 NULL, 00423 NULL 00424 }, 00425 00426 { L"Session Manager\\Kernel", 00427 L"MinimumDpcRate", 00428 &KiMinimumDpcRate, 00429 NULL, 00430 NULL 00431 }, 00432 00433 { L"Session Manager\\Kernel", 00434 L"AdjustDpcThreshold", 00435 &KiAdjustDpcThreshold, 00436 NULL, 00437 NULL 00438 }, 00439 00440 { L"Session Manager\\Kernel", 00441 L"IdealDpcRate", 00442 &KiIdealDpcRate, 00443 NULL, 00444 NULL 00445 }, 00446 00447 { L"Session Manager\\I/O System", 00448 L"CountOperations", 00449 &IoCountOperations, 00450 NULL, 00451 NULL 00452 }, 00453 00454 { L"Session Manager\\I/O System", 00455 L"LargeIrpStackLocations", 00456 &IopLargeIrpStackLocations, 00457 NULL, 00458 NULL 00459 }, 00460 00461 { L"Session Manager\\I/O System", 00462 L"IoVerifierLevel", 00463 &IovpVerifierLevel, 00464 NULL, 00465 NULL 00466 }, 00467 00468 { L"Session Manager", 00469 L"ResourceTimeoutCount", 00470 &ExpResourceTimeoutCount, 00471 NULL, 00472 NULL 00473 }, 00474 00475 { L"Session Manager", 00476 L"CriticalSectionTimeout", 00477 &MmCritsectTimeoutSeconds, 00478 NULL, 00479 NULL 00480 }, 00481 00482 { L"Session Manager", 00483 L"HeapSegmentReserve", 00484 &MmHeapSegmentReserve, 00485 NULL, 00486 NULL 00487 }, 00488 00489 { L"Session Manager", 00490 L"HeapSegmentCommit", 00491 &MmHeapSegmentCommit, 00492 NULL, 00493 NULL 00494 }, 00495 00496 { L"Session Manager", 00497 L"HeapDeCommitTotalFreeThreshold", 00498 &MmHeapDeCommitTotalFreeThreshold, 00499 NULL, 00500 NULL 00501 }, 00502 00503 { L"Session Manager", 00504 L"HeapDeCommitFreeBlockThreshold", 00505 &MmHeapDeCommitFreeBlockThreshold, 00506 NULL, 00507 NULL 00508 }, 00509 00510 #if defined(_ALPHA_) || defined(_IA64_) 00511 00512 { L"Session Manager", 00513 L"EnableAlignmentFaultExceptions", 00514 &KiEnableAlignmentFaultExceptions, 00515 NULL, 00516 NULL 00517 }, 00518 00519 #endif 00520 00521 { L"ProductOptions", 00522 L"ProductType", 00523 &MmProductType, 00524 NULL, 00525 NULL 00526 }, 00527 00528 { L"Terminal Server", 00529 L"TSEnabled", 00530 &ExpHydraEnabled, 00531 NULL, 00532 NULL 00533 }, 00534 00535 { L"Terminal Server", 00536 L"TSAppCompat", 00537 &ExpMultiUserTS, 00538 NULL, 00539 NULL 00540 }, 00541 00542 00543 { L"ProductOptions", 00544 L"ProductSuite", 00545 CmSuiteBuffer, 00546 &CmSuiteBufferLength, 00547 &CmSuiteBufferType 00548 }, 00549 00550 { L"Windows", 00551 L"CSDVersion", 00552 &CmNtCSDVersion, 00553 NULL, 00554 NULL 00555 }, 00556 00557 { L"Nls\\Language", 00558 L"Default", 00559 CmDefaultLanguageId, 00560 &CmDefaultLanguageIdLength, 00561 &CmDefaultLanguageIdType 00562 }, 00563 00564 { L"Nls\\Language", 00565 L"InstallLanguage", 00566 CmInstallUILanguageId, 00567 &CmInstallUILanguageIdLength, 00568 &CmInstallUILanguageIdType 00569 }, 00570 00571 { L"\0\0", 00572 L"RegistrySizeLimit", 00573 &CmRegistrySizeLimit, 00574 &CmRegistrySizeLimitLength, 00575 &CmRegistrySizeLimitType 00576 }, 00577 00578 #if defined(i386) 00579 { L"Session Manager", 00580 L"ForceNpxEmulation", 00581 &KeI386ForceNpxEmulation, 00582 NULL, 00583 NULL 00584 }, 00585 00586 #endif 00587 00588 #if !defined(NT_UP) 00589 { L"Session Manager", 00590 L"RegisteredProcessors", 00591 &KeRegisteredProcessors, 00592 NULL, 00593 NULL 00594 }, 00595 { L"Session Manager", 00596 L"LicensedProcessors", 00597 &KeLicensedProcessors, 00598 NULL, 00599 NULL 00600 }, 00601 #endif 00602 00603 { L"Session Manager", 00604 L"PowerPolicySimulate", 00605 &PopSimulate, 00606 NULL, 00607 NULL 00608 }, 00609 00610 { L"Session Manager\\Executive", 00611 L"MaxTimeSeparationBeforeCorrect", 00612 &ExpMaxTimeSeperationBeforeCorrect, 00613 NULL, 00614 NULL 00615 }, 00616 00617 { L"Windows", 00618 L"ShutdownTime", 00619 &ExpLastShutDown, 00620 &shutdownlength, 00621 NULL 00622 }, 00623 00624 { L"PriorityControl", 00625 L"Win32PrioritySeparation", 00626 &PsRawPrioritySeparation, 00627 NULL, 00628 NULL 00629 }, 00630 00631 #if defined(i386) 00632 { L"Session Manager", 00633 L"EnableTimerWatchdog", 00634 &KiEnableTimerWatchdog, 00635 NULL, 00636 NULL 00637 }, 00638 #endif 00639 00640 { L"Session Manager", 00641 L"Debugger Retries", 00642 &KdpDefaultRetries, 00643 NULL, 00644 NULL 00645 }, 00646 00647 { L"WMI", 00648 L"MaxEventSize", 00649 &WmipMaxKmWnodeEventSize, 00650 NULL, 00651 NULL 00652 }, 00653 00654 { L"WMI\\Trace", 00655 L"UsePerformanceClock", 00656 &WmiUsePerfClock, 00657 NULL, 00658 NULL 00659 }, 00660 00661 { L"WMI\\Trace", 00662 L"TraceAlignment", 00663 &WmiTraceAlignment, 00664 NULL, 00665 NULL 00666 }, 00667 00668 { NULL, NULL, NULL, NULL, NULL } // end marker 00669 }; 00670 00671 #ifdef ALLOC_DATA_PRAGMA 00672 #pragma data_seg() 00673 #endif

Generated on Sat May 15 19:39:27 2004 for test by doxygen 1.3.7