thanks for your all kinds of doubts
like what Calvin Guan said, i boot Win2K in 2 phases. i use PXE and hook int13h when system power on, and load Ntldr using int13h, and later, Ntldr will load all boot drivers (whose start type are 0) using int13h, of cause, my virtual network disk driver is among them. after kernel initialization, all disk access will be handled by my virtual network disk driver.
it works on Win2K, really, without any local hard disk.
about David R. Cattley’s doubt,
Just because you set RTL8139.SYS
to start at boot time does not mean that PnP is
going to enumerate and coordinate the starting of
the *devices* at boot time.Just be cause you
start it early does not mean PnP will ‘need it’ any
earlier.
DDK said as follows:
-
On system boot, the operating system loader loads drivers of type SERVICE_BOOT_START before it transfers control to the kernel. These drivers are in memory when the kernel gets control.
-
The PnP manager calls the DriverEntry routines of the SERVICE_BOOT_START drivers so the drivers can service the boot devices.
If a boot device (e.g., pci.sys) has child devices (e.g., rtl8139), those devices are enumerated. The child devices are configured and started if their drivers are also boot-start drivers. If a device’s drivers are not all boot-start drivers, the PnP manager creates a devnode for the device but does not start the device yet.
- After all the boot drivers have loaded and the boot devices are started, the PnP manager configures the rest of the PnP devices and loads their drivers.
detailed description can be found at
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/install/hh/install/create-inf_6c304af7-9e68-4e92-8f57-58e9d7cae628.xml.asp
so i can tell that my NIC driver rtl8139.sys will be enumerated and initialized at earlier stage.
but you haven’t answer my questions, why it can’t work on WinXP.
I think if i cann’t expain it or resolve it, i will have to write a protocol driver or send and recv by directly accessing NIC in my driver.
ÑÅ»¢Ãâ·ÑGÓÊÏä£ÖйúµÚÒ»¾øÎÞÀ¬»øÓʼþɧÈų¬´óÓÊÏä
ÑÅ»¢ÖúÊÖ£ËÑË÷¡¢É±¶¾¡¢·ÀɧÈÅ