mirror of
https://github.com/reactos/reactos.git
synced 2025-05-08 19:27:00 +00:00
[NTOS]: Few improvements:
- Remove few unneeded PCMHIVE "backwards"-casts, and in particular the 1st parameter of CmpUnlinkHiveFromMaster(). - Improve the dprints in CmCountOpenSubKeys(). svn path=/trunk/; revision=75064
This commit is contained in:
parent
89d7d06790
commit
4d90c65d54
1 changed files with 10 additions and 16 deletions
|
@ -1967,7 +1967,7 @@ CmFlushKey(IN PCM_KEY_CONTROL_BLOCK Kcb,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Release the flush lock */
|
/* Release the flush lock */
|
||||||
CmpUnlockHiveFlusher((PCMHIVE)Hive);
|
CmpUnlockHiveFlusher(CmHive);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return the status */
|
/* Return the status */
|
||||||
|
@ -2130,7 +2130,7 @@ CmLoadKey(IN POBJECT_ATTRIBUTES TargetKey,
|
||||||
static
|
static
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
NTAPI
|
NTAPI
|
||||||
CmpUnlinkHiveFromMaster(IN PHHIVE Hive,
|
CmpUnlinkHiveFromMaster(IN PCMHIVE CmHive,
|
||||||
IN HCELL_INDEX Cell)
|
IN HCELL_INDEX Cell)
|
||||||
{
|
{
|
||||||
PCELL_DATA CellData;
|
PCELL_DATA CellData;
|
||||||
|
@ -2140,13 +2140,13 @@ CmpUnlinkHiveFromMaster(IN PHHIVE Hive,
|
||||||
DPRINT("CmpUnlinkHiveFromMaster()\n");
|
DPRINT("CmpUnlinkHiveFromMaster()\n");
|
||||||
|
|
||||||
/* Get the cell data */
|
/* Get the cell data */
|
||||||
CellData = HvGetCell(Hive, Cell);
|
CellData = HvGetCell(&CmHive->Hive, Cell);
|
||||||
if (CellData == NULL)
|
if (CellData == NULL)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
/* Get the link cell and release the current cell */
|
/* Get the link cell and release the current cell */
|
||||||
LinkCell = CellData->u.KeyNode.Parent;
|
LinkCell = CellData->u.KeyNode.Parent;
|
||||||
HvReleaseCell(Hive, Cell);
|
HvReleaseCell(&CmHive->Hive, Cell);
|
||||||
|
|
||||||
/* Remove the link cell from the master hive */
|
/* Remove the link cell from the master hive */
|
||||||
CmpLockHiveFlusherExclusive(CmiVolatileHive);
|
CmpLockHiveFlusherExclusive(CmiVolatileHive);
|
||||||
|
@ -2160,13 +2160,9 @@ CmpUnlinkHiveFromMaster(IN PHHIVE Hive,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Lock the hive list */
|
/* Remove the hive from the list */
|
||||||
ExAcquirePushLockExclusive(&CmpHiveListHeadLock);
|
ExAcquirePushLockExclusive(&CmpHiveListHeadLock);
|
||||||
|
RemoveEntryList(&CmHive->HiveList);
|
||||||
/* Remove this hive */
|
|
||||||
RemoveEntryList(&((PCMHIVE)Hive)->HiveList);
|
|
||||||
|
|
||||||
/* Release the lock */
|
|
||||||
ExReleasePushLock(&CmpHiveListHeadLock);
|
ExReleasePushLock(&CmpHiveListHeadLock);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -2206,7 +2202,7 @@ CmUnloadKey(IN PCM_KEY_CONTROL_BLOCK Kcb,
|
||||||
CmFlushKey(Kcb, TRUE);
|
CmFlushKey(Kcb, TRUE);
|
||||||
|
|
||||||
/* Unlink the hive from the master hive */
|
/* Unlink the hive from the master hive */
|
||||||
if (!CmpUnlinkHiveFromMaster(Hive, Cell))
|
if (!CmpUnlinkHiveFromMaster(CmHive, Cell))
|
||||||
{
|
{
|
||||||
DPRINT("CmpUnlinkHiveFromMaster() failed!\n");
|
DPRINT("CmpUnlinkHiveFromMaster() failed!\n");
|
||||||
|
|
||||||
|
@ -2280,7 +2276,7 @@ CmCountOpenSubKeys(IN PCM_KEY_CONTROL_BLOCK RootKcb,
|
||||||
/* The root key is the only referenced key. There are no refereced sub keys. */
|
/* The root key is the only referenced key. There are no refereced sub keys. */
|
||||||
if (RootKcb->RefCount == 1)
|
if (RootKcb->RefCount == 1)
|
||||||
{
|
{
|
||||||
DPRINT("open sub keys: 0\n");
|
DPRINT("Open sub keys: 0\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2312,8 +2308,7 @@ CmCountOpenSubKeys(IN PCM_KEY_CONTROL_BLOCK RootKcb,
|
||||||
/* Check whether the parent is the root key */
|
/* Check whether the parent is the root key */
|
||||||
if (ParentKcb == RootKcb)
|
if (ParentKcb == RootKcb)
|
||||||
{
|
{
|
||||||
DPRINT("Found a sub key \n");
|
DPRINT("Found a sub key, RefCount = %u\n", CachedKcb->RefCount);
|
||||||
DPRINT("RefCount = %u\n", CachedKcb->RefCount);
|
|
||||||
|
|
||||||
if (CachedKcb->RefCount > 0)
|
if (CachedKcb->RefCount > 0)
|
||||||
{
|
{
|
||||||
|
@ -2340,8 +2335,7 @@ CmCountOpenSubKeys(IN PCM_KEY_CONTROL_BLOCK RootKcb,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DPRINT("open sub keys: %u\n", SubKeys);
|
DPRINT("Open sub keys: %u\n", SubKeys);
|
||||||
|
|
||||||
return SubKeys;
|
return SubKeys;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue