ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

cmdata.c
Go to the documentation of this file.
00001 /*
00002  * PROJECT:         ReactOS Kernel
00003  * LICENSE:         GPL - See COPYING in the top level directory
00004  * FILE:            ntoskrnl/config/cmdata.c
00005  * PURPOSE:         Configuration Manager - Global Configuration Data
00006  * PROGRAMMERS:     Alex Ionescu (alex.ionescu@reactos.org)
00007  */
00008 
00009 /* INCLUDES ******************************************************************/
00010 
00011 #include "ntoskrnl.h"
00012 #define NDEBUG
00013 #include "debug.h"
00014 #include "./../mm/ARM3/miarm.h"
00015 
00016 /* GLOBALS *******************************************************************/
00017 
00018 ULONG DummyData;
00019 ULONG CmNtGlobalFlag;
00020 extern ULONG MmProductType;
00021 
00022 WCHAR CmDefaultLanguageId[12];
00023 ULONG CmDefaultLanguageIdLength = sizeof(CmDefaultLanguageId);
00024 ULONG CmDefaultLanguageIdType;
00025 
00026 WCHAR CmInstallUILanguageId[12];
00027 ULONG CmInstallUILanguageIdLength = sizeof(CmInstallUILanguageId);
00028 ULONG CmInstallUILanguageIdType;
00029 
00030 WCHAR CmSuiteBuffer[128];
00031 ULONG CmSuiteBufferLength = sizeof(CmSuiteBuffer);
00032 ULONG CmSuiteBufferType;
00033 
00034 CMHIVE CmControlHive;
00035 
00036 ULONG CmpConfigurationAreaSize = PAGE_SIZE * 4;
00037 PCM_FULL_RESOURCE_DESCRIPTOR CmpConfigurationData;
00038 
00039 EX_PUSH_LOCK CmpHiveListHeadLock, CmpLoadHiveLock;
00040 
00041 HIVE_LIST_ENTRY CmpMachineHiveList[] =
00042 {
00043     { L"HARDWARE", L"MACHINE\\", NULL, HIVE_VOLATILE    , 0                         ,   NULL,   FALSE,  FALSE,  FALSE},
00044     { L"SECURITY", L"MACHINE\\", NULL, 0                , 0                         ,   NULL,   FALSE,  FALSE,  FALSE},
00045     { L"SOFTWARE", L"MACHINE\\", NULL, 0                , 0                         ,   NULL,   FALSE,  FALSE,  FALSE},
00046     { L"SYSTEM",   L"MACHINE\\", NULL, 0                , 0                         ,   NULL,   FALSE,  FALSE,  FALSE},
00047     { L"DEFAULT",  L"USER\\.DEFAULT", NULL, 0           , 0   ,   NULL,   FALSE,  FALSE,  FALSE},
00048     { L"SAM",      L"MACHINE\\", NULL, HIVE_NOLAZYFLUSH , 0                         ,   NULL,   FALSE,  FALSE,  FALSE},
00049     { NULL,        NULL,         0, 0                   , 0                         ,   NULL,   FALSE,  FALSE,  FALSE}
00050 };
00051 
00052 UNICODE_STRING CmSymbolicLinkValueName =
00053     RTL_CONSTANT_STRING(L"SymbolicLinkValue");
00054 
00055 UNICODE_STRING CmpLoadOptions;
00056 
00057 BOOLEAN CmpShareSystemHives;
00058 BOOLEAN CmSelfHeal = TRUE;
00059 BOOLEAN CmpSelfHeal = TRUE;
00060 BOOLEAN CmpMiniNTBoot;
00061 ULONG CmpBootType;
00062 
00063 USHORT CmpUnknownBusCount;
00064 ULONG CmpTypeCount[MaximumType + 1];
00065 
00066 HANDLE CmpRegistryRootHandle;
00067 
00068 INIT_FUNCTION UNICODE_STRING CmClassName[MaximumClass + 1] =
00069 {
00070     RTL_CONSTANT_STRING(L"System"),
00071     RTL_CONSTANT_STRING(L"Processor"),
00072     RTL_CONSTANT_STRING(L"Cache"),
00073     RTL_CONSTANT_STRING(L"Adapter"),
00074     RTL_CONSTANT_STRING(L"Controller"),
00075     RTL_CONSTANT_STRING(L"Peripheral"),
00076     RTL_CONSTANT_STRING(L"MemoryClass"),
00077     RTL_CONSTANT_STRING(L"Undefined")
00078 };
00079 
00080 INIT_FUNCTION UNICODE_STRING CmTypeName[MaximumType + 1] =
00081 {
00082     RTL_CONSTANT_STRING(L"System"),
00083     RTL_CONSTANT_STRING(L"CentralProcessor"),
00084     RTL_CONSTANT_STRING(L"FloatingPointProcessor"),
00085     RTL_CONSTANT_STRING(L"PrimaryICache"),
00086     RTL_CONSTANT_STRING(L"PrimaryDCache"),
00087     RTL_CONSTANT_STRING(L"SecondaryICache"),
00088     RTL_CONSTANT_STRING(L"SecondaryDCache"),
00089     RTL_CONSTANT_STRING(L"SecondaryCache"),
00090     RTL_CONSTANT_STRING(L"EisaAdapter"),
00091     RTL_CONSTANT_STRING(L"TcAdapter"),
00092     RTL_CONSTANT_STRING(L"ScsiAdapter"),
00093     RTL_CONSTANT_STRING(L"DtiAdapter"),
00094     RTL_CONSTANT_STRING(L"MultifunctionAdapter"),
00095     RTL_CONSTANT_STRING(L"DiskController"),
00096     RTL_CONSTANT_STRING(L"TapeController"),
00097     RTL_CONSTANT_STRING(L"CdRomController"),
00098     RTL_CONSTANT_STRING(L"WormController"),
00099     RTL_CONSTANT_STRING(L"SerialController"),
00100     RTL_CONSTANT_STRING(L"NetworkController"),
00101     RTL_CONSTANT_STRING(L"DisplayController"),
00102     RTL_CONSTANT_STRING(L"ParallelController"),
00103     RTL_CONSTANT_STRING(L"PointerController"),
00104     RTL_CONSTANT_STRING(L"KeyboardController"),
00105     RTL_CONSTANT_STRING(L"AudioController"),
00106     RTL_CONSTANT_STRING(L"OtherController"),
00107     RTL_CONSTANT_STRING(L"DiskPeripheral"),
00108     RTL_CONSTANT_STRING(L"FloppyDiskPeripheral"),
00109     RTL_CONSTANT_STRING(L"TapePeripheral"),
00110     RTL_CONSTANT_STRING(L"ModemPeripheral"),
00111     RTL_CONSTANT_STRING(L"MonitorPeripheral"),
00112     RTL_CONSTANT_STRING(L"PrinterPeripheral"),
00113     RTL_CONSTANT_STRING(L"PointerPeripheral"),
00114     RTL_CONSTANT_STRING(L"KeyboardPeripheral"),
00115     RTL_CONSTANT_STRING(L"TerminalPeripheral"),
00116     RTL_CONSTANT_STRING(L"OtherPeripheral"),
00117     RTL_CONSTANT_STRING(L"LinePeripheral"),
00118     RTL_CONSTANT_STRING(L"NetworkPeripheral"),
00119     RTL_CONSTANT_STRING(L"SystemMemory"),
00120     RTL_CONSTANT_STRING(L"DockingInformation"),
00121     RTL_CONSTANT_STRING(L"RealModeIrqRoutingTable"),
00122     RTL_CONSTANT_STRING(L"RealModePCIEnumeration"),
00123     RTL_CONSTANT_STRING(L"Undefined")
00124 };
00125 
00126 INIT_FUNCTION CMP_MF_TYPE CmpMultifunctionTypes[] =
00127 {
00128     {"ISA", Isa, 0},
00129     {"MCA", MicroChannel, 0},
00130     {"PCI", PCIBus, 0},
00131     {"VME", VMEBus, 0},
00132     {"PCMCIA", PCMCIABus, 0},
00133     {"CBUS", CBus, 0},
00134     {"MPIPI", MPIBus, 0},
00135     {"MPSA", MPSABus, 0},
00136     {NULL, Internal, 0}
00137 };
00138 
00139 INIT_FUNCTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] =
00140 {
00141     {
00142         L"Session Manager",
00143         L"ProtectionMode",
00144         &DummyData,
00145         NULL,
00146         NULL
00147     },
00148 
00149     {
00150         L"Session Manager",
00151         L"ObjectSecurityMode",
00152         &DummyData,
00153         NULL,
00154         NULL
00155     },
00156 
00157     {
00158         L"Session Manager",
00159         L"LUIDDeviceMapsDisabled",
00160         &DummyData,
00161         NULL,
00162         NULL
00163     },
00164 
00165     {
00166         L"LSA",
00167         L"AuditBaseDirectories",
00168         &DummyData,
00169         NULL,
00170         NULL
00171     },
00172 
00173     {
00174         L"LSA",
00175         L"AuditBaseObjects",
00176         &DummyData,
00177         NULL,
00178         NULL
00179     },
00180 
00181     {
00182         L"LSA\\audit",
00183         L"ProcessAccessesToAudit",
00184         &DummyData,
00185         NULL,
00186         NULL
00187     },
00188 
00189     {
00190         L"TimeZoneInformation",
00191         L"ActiveTimeBias",
00192         &DummyData,
00193         NULL,
00194         NULL
00195     },
00196 
00197     {
00198         L"TimeZoneInformation",
00199         L"Bias",
00200         &DummyData,
00201         NULL,
00202         NULL
00203     },
00204 
00205     {
00206         L"TimeZoneInformation",
00207         L"RealTimeIsUniversal",
00208         &DummyData,
00209         NULL,
00210         NULL
00211     },
00212 
00213     {
00214         L"Session Manager",
00215         L"GlobalFlag",
00216         &CmNtGlobalFlag,
00217         NULL,
00218         NULL
00219     },
00220 
00221     {
00222         L"Session Manager\\Memory Management",
00223         L"PagedPoolQuota",
00224         &DummyData,
00225         NULL,
00226         NULL
00227     },
00228 
00229     {
00230         L"Session Manager\\Memory Management",
00231         L"NonPagedPoolQuota",
00232         &DummyData,
00233         NULL,
00234         NULL
00235     },
00236 
00237     {
00238         L"Session Manager\\Memory Management",
00239         L"PagingFileQuota",
00240         &DummyData,
00241         NULL,
00242         NULL
00243     },
00244 
00245     {
00246         L"Session Manager\\Memory Management",
00247         L"AllocationPreference",
00248         &DummyData,
00249         NULL,
00250         NULL
00251     },
00252 
00253     {
00254         L"Session Manager\\Memory Management",
00255         L"DynamicMemory",
00256         &MmDynamicPfn,
00257         NULL,
00258         NULL
00259     },
00260 
00261     {
00262         L"Session Manager\\Memory Management",
00263         L"Mirroring",
00264         &MmMirroring,
00265         NULL,
00266         NULL
00267     },
00268 
00269     {
00270         L"Session Manager\\Memory Management",
00271         L"SystemViewSize",
00272         &DummyData,
00273         NULL,
00274         NULL
00275     },
00276 
00277     {
00278         L"Session Manager\\Memory Management",
00279         L"SessionImageSize",
00280         &DummyData,
00281         NULL,
00282         NULL
00283     },
00284 
00285     {
00286         L"Session Manager\\Memory Management",
00287         L"SessionPoolSize",
00288         &DummyData,
00289         NULL,
00290         NULL
00291     },
00292 
00293     {
00294         L"Session Manager\\Memory Management",
00295         L"PoolUsageMaximum",
00296         &MmConsumedPoolPercentage,
00297         NULL,
00298         NULL
00299     },
00300 
00301     {
00302         L"Session Manager\\Memory Management",
00303         L"MapAllocationFragment",
00304         &MmAllocationFragment,
00305         NULL,
00306         NULL
00307     },
00308 
00309     {
00310         L"Session Manager\\Memory Management",
00311         L"PagedPoolSize",
00312         &MmSizeOfPagedPoolInBytes,
00313         NULL,
00314         NULL
00315     },
00316 
00317     {
00318         L"Session Manager\\Memory Management",
00319         L"NonPagedPoolSize",
00320         &MmSizeOfNonPagedPoolInBytes,
00321         NULL,
00322         NULL
00323     },
00324 
00325     {
00326         L"Session Manager\\Memory Management",
00327         L"NonPagedPoolMaximumPercent",
00328         &DummyData,
00329         NULL,
00330         NULL
00331     },
00332 
00333     {
00334         L"Session Manager\\Memory Management",
00335         L"LargeSystemCache",
00336         &MmLargeSystemCache,
00337         NULL,
00338         NULL
00339     },
00340 
00341     {
00342         L"Session Manager\\Memory Management",
00343         L"LargeStackSize",
00344         &DummyData,
00345         NULL,
00346         NULL
00347     },
00348 
00349     {
00350         L"Session Manager\\Memory Management",
00351         L"SystemPages",
00352         &MmNumberOfSystemPtes,
00353         NULL,
00354         NULL
00355     },
00356 
00357     {
00358         L"Session Manager\\Memory Management",
00359         L"LowMemoryThreshold",
00360         &MmLowMemoryThreshold,
00361         NULL,
00362         NULL
00363     },
00364 
00365     {
00366         L"Session Manager\\Memory Management",
00367         L"HighMemoryThreshold",
00368         &MmHighMemoryThreshold,
00369         NULL,
00370         NULL
00371     },
00372 
00373     {
00374         L"Session Manager\\Memory Management",
00375         L"DisablePagingExecutive",
00376         &MmDisablePagingExecutive,
00377         NULL,
00378         NULL
00379     },
00380 
00381     {
00382         L"Session Manager\\Memory Management",
00383         L"ModifiedPageLife",
00384         &DummyData,
00385         NULL,
00386         NULL
00387     },
00388 
00389     {
00390         L"Session Manager\\Memory Management",
00391         L"SecondLevelDataCache",
00392         &MmSecondaryColors,
00393         NULL,
00394         NULL
00395     },
00396 
00397     {
00398         L"Session Manager\\Memory Management",
00399         L"ClearPageFileAtShutdown",
00400         &MmZeroPageFile,
00401         NULL,
00402         NULL
00403     },
00404 
00405     {
00406         L"Session Manager\\Memory Management",
00407         L"PoolTagSmallTableSize",
00408         &DummyData,
00409         NULL,
00410         NULL
00411     },
00412 
00413     {
00414         L"Session Manager\\Memory Management",
00415         L"PoolTagBigTableSize",
00416         &DummyData,
00417         NULL,
00418         NULL
00419     },
00420 
00421     {
00422         L"Session Manager\\Memory Management",
00423         L"PoolTag",
00424         &DummyData,
00425         NULL,
00426         NULL
00427     },
00428 
00429     {
00430         L"Session Manager\\Memory Management",
00431         L"PoolTagOverruns",
00432         &DummyData,
00433         NULL,
00434         NULL
00435     },
00436 
00437     {
00438         L"Session Manager\\Memory Management",
00439         L"SnapUnloads",
00440         &DummyData,
00441         NULL,
00442         NULL
00443     },
00444 
00445     {
00446         L"Session Manager\\Memory Management",
00447         L"ProtectNonPagedPool",
00448         &MmProtectFreedNonPagedPool,
00449         NULL,
00450         NULL
00451     },
00452 
00453     {
00454         L"Session Manager\\Memory Management",
00455         L"TrackLockedPages",
00456         &MmTrackLockedPages,
00457         NULL,
00458         NULL
00459     },
00460 
00461     {
00462         L"Session Manager\\Memory Management",
00463         L"TrackPtes",
00464         &MmTrackPtes,
00465         NULL,
00466         NULL
00467     },
00468 
00469     {
00470         L"Session Manager\\Memory Management",
00471         L"VerifyDrivers",
00472         MmVerifyDriverBuffer,
00473         &MmVerifyDriverBufferLength,
00474         &MmVerifyDriverBufferType
00475     },
00476 
00477     {
00478         L"Session Manager\\Memory Management",
00479         L"VerifyDriverLevel",
00480         &MmVerifyDriverLevel,
00481         NULL,
00482         NULL
00483     },
00484 
00485     {
00486         L"Session Manager\\Memory Management",
00487         L"VerifyMode",
00488         &DummyData,
00489         NULL,
00490         NULL
00491     },
00492 
00493     {
00494         L"Session Manager\\Memory Management",
00495         L"LargePageMinimum",
00496         &DummyData,
00497         NULL,
00498         NULL
00499     },
00500 
00501     {
00502         L"Session Manager\\Memory Management",
00503         L"EnforceWriteProtection",
00504         &MmEnforceWriteProtection,
00505         NULL,
00506         NULL
00507     },
00508 
00509     {
00510         L"Session Manager\\Memory Management",
00511         L"MakeLowMemory",
00512         &MmMakeLowMemory,
00513         NULL,
00514         NULL
00515     },
00516 
00517     {
00518         L"Session Manager\\Memory Management",
00519         L"WriteWatch",
00520         &DummyData,
00521         NULL,
00522         NULL
00523     },
00524 
00525     {
00526         L"Session Manager\\Executive",
00527         L"AdditionalCriticalWorkerThreads",
00528         &DummyData,
00529         NULL,
00530         NULL
00531     },
00532 
00533     {
00534         L"Session Manager\\Executive",
00535         L"AdditionalDelayedWorkerThreads",
00536         &DummyData,
00537         NULL,
00538         NULL
00539     },
00540 
00541     {
00542         L"Session Manager\\Executive",
00543         L"PriorityQuantumMatrix",
00544         &DummyData,
00545         &DummyData,
00546         NULL
00547     },
00548 
00549     {
00550         L"Session Manager\\Kernel",
00551         L"DpcQueueDepth",
00552         &DummyData,
00553         NULL,
00554         NULL
00555     },
00556 
00557     {
00558         L"Session Manager\\Kernel",
00559         L"MinimumDpcRate",
00560         &DummyData,
00561         NULL,
00562         NULL
00563     },
00564 
00565     {
00566         L"Session Manager\\Kernel",
00567         L"AdjustDpcThreshold",
00568         &DummyData,
00569         NULL,
00570         NULL
00571     },
00572 
00573     {
00574         L"Session Manager\\Kernel",
00575         L"IdealDpcRate",
00576         &DummyData,
00577         NULL,
00578         NULL
00579     },
00580 
00581     {
00582         L"Session Manager\\I/O System",
00583         L"CountOperations",
00584         &DummyData,
00585         NULL,
00586         NULL
00587     },
00588 
00589     {
00590         L"Session Manager\\I/O System",
00591         L"LargeIrpStackLocations",
00592         &DummyData,
00593         NULL,
00594         NULL
00595     },
00596 
00597     {
00598         L"Session Manager\\I/O System",
00599         L"IoVerifierLevel",
00600         &DummyData,
00601         NULL,
00602         NULL
00603     },
00604 
00605     {
00606         L"Session Manager",
00607         L"ResourceTimeoutCount",
00608         &DummyData,
00609         NULL,
00610         NULL
00611     },
00612 
00613     {
00614         L"Session Manager",
00615         L"CriticalSectionTimeout",
00616         &DummyData,
00617         NULL,
00618         NULL
00619     },
00620 
00621     {
00622         L"Session Manager",
00623         L"HeapSegmentReserve",
00624         &DummyData,
00625         NULL,
00626         NULL
00627     },
00628 
00629     {
00630         L"Session Manager",
00631         L"HeapSegmentCommit",
00632         &DummyData,
00633         NULL,
00634         NULL
00635     },
00636 
00637     {
00638         L"Session Manager",
00639         L"HeapDeCommitTotalFreeThreshold",
00640         &DummyData,
00641         NULL,
00642         NULL
00643     },
00644 
00645     {
00646         L"Session Manager",
00647         L"HeapDeCommitFreeBlockThreshold",
00648         &DummyData,
00649         NULL,
00650         NULL
00651     },
00652 
00653     {
00654         L"ProductOptions",
00655         L"ProductType",
00656         &MmProductType,
00657         NULL,
00658         NULL
00659     },
00660 
00661     {
00662         L"Terminal Server",
00663         L"TSEnabled",
00664         &DummyData,
00665         NULL,
00666         NULL
00667     },
00668 
00669     {
00670         L"Terminal Server",
00671         L"TSAppCompat",
00672         &DummyData,
00673         NULL,
00674         NULL
00675     },
00676 
00677 
00678     {
00679         L"ProductOptions",
00680         L"ProductSuite",
00681         CmSuiteBuffer,
00682         &CmSuiteBufferLength,
00683         &CmSuiteBufferType
00684     },
00685 
00686     {
00687         L"Windows",
00688         L"CSDVersion",
00689         &CmNtCSDVersion,
00690         NULL,
00691         NULL
00692     },
00693 
00694     {
00695         L"Nls\\Language",
00696         L"Default",
00697         CmDefaultLanguageId,
00698         &CmDefaultLanguageIdLength,
00699         &CmDefaultLanguageIdType
00700     },
00701 
00702     {
00703         L"Nls\\Language",
00704         L"InstallLanguage",
00705         CmInstallUILanguageId,
00706         &CmInstallUILanguageIdLength,
00707         &CmInstallUILanguageIdType
00708     },
00709 
00710     {
00711         L"\0\0",
00712         L"RegistrySizeLimit",
00713         &DummyData,
00714         &DummyData,
00715         &DummyData
00716     },
00717 
00718     {
00719         L"Session Manager",
00720         L"ForceNpxEmulation",
00721         &DummyData,
00722         NULL,
00723         NULL
00724     },
00725 
00726     {
00727         L"Session Manager",
00728         L"PowerPolicySimulate",
00729         &DummyData,
00730         NULL,
00731         NULL
00732     },
00733 
00734     {
00735         L"Session Manager\\Executive",
00736         L"MaxTimeSeparationBeforeCorrect",
00737         &DummyData,
00738         NULL,
00739         NULL
00740     },
00741 
00742     {
00743         L"Windows",
00744         L"ShutdownTime",
00745         &DummyData,
00746         &DummyData,
00747         NULL
00748     },
00749 
00750     {
00751         L"PriorityControl",
00752         L"Win32PrioritySeparation",
00753         &DummyData,
00754         NULL,
00755         NULL
00756     },
00757 
00758     {
00759         L"Session Manager",
00760         L"EnableTimerWatchdog",
00761         &DummyData,
00762         NULL,
00763         NULL
00764     },
00765 
00766     {
00767         L"Session Manager",
00768         L"Debugger Retries",
00769         &KdpContext.KdpDefaultRetries,
00770         NULL,
00771         NULL
00772     },
00773 
00774     {
00775         L"Session Manager\\Debug Print Filter",
00776         L"WIN2000",
00777         &Kd_WIN2000_Mask,
00778         NULL,
00779         NULL
00780     },
00781 
00782     /* TODO: Add the other masks */
00783 
00784     {
00785         L"WMI",
00786         L"MaxEventSize",
00787         &DummyData,
00788         NULL,
00789         NULL
00790     },
00791 
00792     {
00793         L"WMI\\Trace",
00794         L"UsePerformanceClock",
00795         &DummyData,
00796         NULL,
00797         NULL
00798     },
00799 
00800     {
00801         L"WMI\\Trace",
00802         L"TraceAlignment",
00803         &DummyData,
00804         NULL,
00805         NULL
00806     },
00807 
00808     {
00809         NULL,
00810         NULL,
00811         NULL,
00812         NULL,
00813         NULL
00814     }
00815 };

Generated on Mon May 28 2012 04:36:56 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.