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,