PEPROCESS CmpSystemProcess;
BOOLEAN HvShutdownComplete;
PVOID CmpRegistryLockCallerCaller, CmpRegistryLockCaller;
-BOOLEAN CmpFlushStarveWriters;
BOOLEAN CmpFlushOnLockRelease;
BOOLEAN CmpSpecialBootCondition;
BOOLEAN CmpNoWrite;
-BOOLEAN CmpForceForceFlush;
BOOLEAN CmpWasSetupBoot;
ULONG CmpTraceLevel = 0;
+extern LONG CmpFlushStarveWriters;
extern BOOLEAN CmFirstTime;
/* FUNCTIONS *****************************************************************/
CmpLockRegistry();
/* Make sure this is a valid key body */
- if (KeyBody->Type == TAG('k', 'y', '0', '2'))
+ if (KeyBody->Type == '20yk')
{
/* Get the KCB */
Kcb = KeyBody->KeyControlBlock;
if (SystemHandleCount > 1) return;
/* Make sure we're a valid key body */
- if (KeyBody->Type == TAG('k', 'y', '0', '2'))
+ if (KeyBody->Type == '20yk')
{
/* Don't do anything if we don't have a notify block */
if (!KeyBody->NotifyBlock) return;
CmpSetSystemValues(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
{
OBJECT_ATTRIBUTES ObjectAttributes;
- UNICODE_STRING KeyName, ValueName = {0};
+ UNICODE_STRING KeyName, ValueName = { 0, 0, NULL };
HANDLE KeyHandle;
NTSTATUS Status;
ASSERT(LoaderBlock != NULL);
/* Initialize the object */
RootKey->KeyControlBlock = Kcb;
- RootKey->Type = TAG('k', 'y', '0', '2');
+ RootKey->Type = '20yk';
RootKey->NotifyBlock = NULL;
RootKey->ProcessID = PsGetCurrentProcessId();
PAGED_CODE();
/* Get the hive index, make sure it makes sense */
- i = (ULONG)StartContext;
+ i = PtrToUlong(StartContext);
ASSERT(CmpMachineHiveList[i].Name != NULL);
/* We were started */
0,
NULL,
CmpLoadHiveThread,
- (PVOID)i);
+ UlongToPtr(i));
if (NT_SUCCESS(Status))
{
/* We don't care about the handle -- the thread self-terminates */