Hi, PROBLEMCHYLD!
Well, probably with most VxDs, yes.
Then, there are three types of Win ME VxDs:
1) Those that don't need any patching to load (almost all are included in 98SE2ME, except for a handful that load but do not work well, at least in some setups: VCACHE.VxD and NDIS.VxD are representative examples of the latter). MDGx has fully explored this field already. There are 11 VxDs (from %windir%\system\) and two PDRs (from %windir%\system\iosubsys\) that can just be transplanted as they are. See
MDGx's 98SE2ME page.
2) Those that need downversion patching to load, but then work OK: besides the three already released (DISKTSD.VxD, CDVSD.VxD and VNETBIOS.VxD), I'm testing three more (DISKVSD.VxD, CDTSD.VxD and SMARTVSD.VxD), as I reported
above. I do beleieve most VxDs and PDRs from %windir%\system\iosubsys\ and from %windir%\system\ will load after patching, the question is whether they'll work OK.
3) Those that do not work in Win 98SE, despite patching, even when patching gets them to load (probably most in %windir%\system\VMM32\, as well as those packed inside VMM32.VxD). I've kept away from those on purpose, because I don't believe they'll work.
With other types of files, like WDM drivers (.SYS and .MPD files), possibly, but I don't know for sure. They are PE executables, not LE executables, anyway... I just didn't investigate it at all, up to now.
In general, unnecessarily over-restrictive version checking is still a common programmer practice, so relaxing this restrction by patchig can provide many good finds. On the other hand, sometimes files are really tied to a specific OS version, and those won't work, despite patching (or worse: may wreak havoc in the test system, once one gets them to load through patching...). Lots of patience, good backups and careful testing are all that's required to find out.
This post has been edited by dencorso: 29 December 2007 - 12:04 AM