Author: fireball
Date: Sat Feb 28 13:29:06 2009
New Revision: 39815
URL: http://svn.reactos.org/svn/reactos?rev=39815&view=rev
Log:
- If a driver has no Tag specified it should be defaulted to the max ULONG value, so it gets loaded after all drivers with correct tags. This fixes a problem of null.sys and beep.sys loading up to TagCount (20 for Base group) times during each boot.
Modified:
trunk/reactos/ntoskrnl/io/iomgr/drvrlist.c
Modified: trunk/reactos/ntoskrnl/io/iomgr/drvrlist.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/drvrlist…
==============================================================================
--- trunk/reactos/ntoskrnl/io/iomgr/drvrlist.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/io/iomgr/drvrlist.c [iso-8859-1] Sat Feb 28 13:29:06 2009
@@ -152,6 +152,7 @@
RTL_QUERY_REGISTRY_TABLE QueryTable[7];
PSERVICE Service;
NTSTATUS Status;
+ ULONG DefaultTag = ~0;
DPRINT("ServiceName: '%wZ'\n", ServiceName);
@@ -191,6 +192,9 @@
QueryTable[5].Name = L"Tag";
QueryTable[5].Flags = RTL_QUERY_REGISTRY_DIRECT;
QueryTable[5].EntryContext = &Service->Tag;
+ QueryTable[5].DefaultData = &DefaultTag;
+ QueryTable[5].DefaultType = REG_DWORD;
+ QueryTable[5].DefaultLength = sizeof(DefaultTag);
Status = RtlQueryRegistryValues(RTL_REGISTRY_SERVICES,
ServiceName->Buffer,