“Loaded” and “DriverEntry called” are different things for Boot drivers.
Loaded - by NTLDR before jumping to the kernel.
DriverEntry called - after jumping to the kernel and in the order specified by the ServiceGroupOrder.
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com
----- Original Message -----
From: Roman Kudinov
Newsgroups: ntfsd
To: Windows File Systems Devs Interest List
Sent: Wednesday, June 22, 2005 10:49 AM
Subject: Re:[ntfsd] driver load order
> Does anybody know if it’s possible to access files from within a
> > DriverEntry
> > routine of a storage filter driver which boot order is SERVICE_BOOT_START?
> > I
> > need to access at least the system volume
> In my experience, it’s not possible. Filesystems become ready much later
> [which looks reasonable - it’s hard to work with a file system on a disk
> without a disk-:)]
Yes, I also think so, but IFS Kit gives inconsistent (not full) information: I can have a filesystem filter with SERVICE_BOOT_START order but FS recognizer is loaded at SERVICE_SYSTE_START time and IFS Kit says:
“The file system recognizer (FsRec) is loaded at this time (SERVICE_BOOT_START). Note that, although it is in the “Boot File System” load order group, FsRec is not the boot file system. The actual boot file system ? that is, the file system that mounted the boot volume ? is loaded at the start of the boot process.”.
But on another hand:
“On system boot, the OS loader loads the boot file system, the RAW file system, and all drivers of type SERVICE_BOOT_START BEFORE IT TRANSFERS CONTROL to the kernel. These drivers are in memory when the kernel gets control”
…
Moreover it says later:
"
…
2. The I/O Manager creates a global file system queue with four segments: one each for CD-ROM, disk, tape, and network file systems. Later, when each file system is registered, its control device objects are added to the appropriate segments of this queue. At this point, however, no file systems have yet been registered, so the queue is empty.
3. The PnP Manager calls the DriverEntry routines of the RAW file system and all SERVICE_BOOT_START drivers.
If a SERVICE_BOOT_START driver is dependent on other drivers, those drivers are loaded and started as well."
So my storage filter should be in memory along with the boot file system when the control is transferred to the kernel, shouldn’t it?
What is the purpose for ServiceGroupOrder and GroupOrderList if a driver doesn’t get control until all other boot drivers are loaded???
Are these values used to determine the order in which PnP maanger calls DriverEntry?
Do I miss something?
Thank you,
Roman
Questions? First check the IFS FAQ at https://www.osronline.com/article.cfm?id=17
You are currently subscribed to ntfsd as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com