Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.Login to AccountCreate an Account

Javascript Disabled Detected

You currently have javascript disabled. Several functions may not work. Please re-enable javascript to access full functionality.

WdmStub

PROBLEMCHYLD

Posted 22 February 2012 - 07:47 AM

PROBLEMCHYLD

The Resurrector for old Windows OS

Member

2,410 posts

Joined 07-October 05

OS:98SE

Country:

Eh? Nobody is calling you a liar. Why would you think that???

It's simply a legal formality. The published license for WdmStub specifically says it cannot be redistributed except by explicit permission of Walter Oney. That's where we stand legally, unless we can prove otherwise, eg. to the people running MSFN. Only the relevant portions of the e-mail, plus the time/date information, should suffice.

As for the source code, you can either get it on the CD-ROM if you buy the book, or you can download it as described in the first posting. Of course, the benefit in buying the book is that all the stuff is explained, otherwise you have to figure it out yourself.

Joe.

Maybe I misunderstood you or vice versa. I posted what he sent me via email. I wasn't trying to be an a** about things. Sometimes my comprehension is off.

That's great news! What do you think about the question of whether is it preferable to have the WDM Function/Stub provider as a .SYS or as a .VxD which I've raised some posts above?

I bought the book years ago at a used Book Store. The Source code I have is version 4.20

I have written my own VXD File to add other functions, not in WDMSTUB.

From: "PROBLEMCHYLD" <>> Do you think its possible to update WDMSTUB.SYS with the missing exports, > and convert it to WDMSTUB.VXD.

There is no point to having a VxD -- WDMSTUB was designed for the single purpose of allowing WDM drivers to work across platforms, and it has to be a .sys file to perform that function. Anyhow, the source code for WDMSTUB came with the book. That means you can use the code as a base to build something of your own with a different name.

rloew

Posted 22 February 2012 - 11:35 AM

That's great news! What do you think about the question of whether is it preferable to have the WDM Function/Stub provider as a .SYS or as a .VxD which I've raised some posts above?

I personally prefer the VXD as it is always there just like the NT/2000/XP NTKERN.VXD that it is trying to emulate.

I bought the book years ago at a used Book Store. The Source code I have is version 4.20

I have written my own VXD File to add other functions, not in WDMSTUB.

From: "PROBLEMCHYLD" <>> Do you think its possible to update WDMSTUB.SYS with the missing exports, > and convert it to WDMSTUB.VXD.

There is no point to having a VxD -- WDMSTUB was designed for the single purpose of allowing WDM drivers to work across platforms, and it has to be a .sys file to perform that function. Anyhow, the source code for WDMSTUB came with the book. That means you can use the code as a base to build something of your own with a different name.

It appears that he is not claiming ownership of the source code, only the name WDMSTUB, so it should be OK to use it and extract the later Code.

Yes, that's how I understand it. And he *is* a lawyer, besides being a programmer, so I think he meant precisely what he said. I *think* that using another name, and printing a message telling something like "based on WDMSTUB, by Walter Oney", should be all that's needed.

BTW, can you also give us the time/date of the e-mail? Probably not important, but it helps with traceability.

In case you haven't seen it, below is the notice that comes with the WdmStub code. So you can see why it was important to get more up-to-date permission for what we're wanting to do here :

Redistributing WDMSTUB

WDMSTUB is an exception to the blanket license to use the sample programs for this book. The author will grant a royalty-free license to anyone to redistribute WDMSTUB as part of a WDM driver package. The license will, however, include conditions designed to insure the consistency and quality of WDMSTUB on end user machines. Send e-mail to waltoney@xxxxxxxx.xxx for information about obtaining this conditional license.

Note: A special license is required even if you ship WDMSTUB under a different name. This driver includes special checking to make sure that it does not unload while some other vendor’s driver might be using it, and the special license will insure that you preserve that checking.

jds

Posted 01 March 2012 - 02:54 AM

jds

-DOS+

Member

596 posts

Joined 03-June 08

OS:98SE

Country:

I have been wondering about the three different versions 5.00.006 of WDMSTUB.SYS (that we know of, so far), and what may be different between them. Anyway, when I opened them with Dependency Walker, it reported the following dependencies :

So, all three versions ultimately show the same dependencies, but only the Oneysoft version shows a direct dependency on HAL.DLL (and is also noticeably larger than the other two, more recent, versions). I'm not sure, but that suggests to me that there may be functional differences between these three versions, despite the identical version numbering.

The other notable thing, is that these apparent dependencies are not provided by W98SE. I searched around to find these versions of said files, before Dependency Walker was fully satisfied with WDMSTUB.SYS :

While the first three are functionally identical, despite being clearly different compilations, with some different optimizations, the fourth is an updated version that exports one more function. It is the one in general use and it is the most up to date one that I know of, and, of course, it shouldn't be versioned 5.0.0.6...

And to answer the question you posed: yes, they're only used in NT-OSes.

rloew

Posted 02 March 2012 - 10:18 PM

rloew

MSFN Expert

Member

1,133 posts

Joined 30-May 05

OS:98SE

Country:

NTOSKRNL.EXE and HAL.DLL provide the Core functionality for WDM Drivers on NT OSes. When Microsoft ported WDM to Windows 9x they put most of the Functions in NTKERN.VXD and a few in other VXDs. The normal Export/Import model cannot handle this configuration, so Microsoft provided a way to Export Functions under the name of Modules other than the ones hosting them.
These Exports are published via Kernel calls, not by PE Export tables. This is why Dependency Walker cannot follow Imports back to these Exports. In addition more than one Module can add Functions under the same Module name. WDMSTUB adds it's functions under the Module name NTOSKRNL.EXE on top of the ones already defined, replacing a few of the existing ones.
VXDs can only add Functions in this manner as they do not have Export Tables.

Ye who enter my domain. Beware! Lest you become educated in the mysteries of the universe and suffer forever from the desire to know more.

jds

Posted 03 March 2012 - 04:51 AM

So it's not just with KernelEx that you can't depend on Dependency Walker

OK, so we don't actually need those XP files, and it sounds like the nusb30e build of WdmStub is the default one to try. Any idea if its source exists somewhere?

Also, a crazy idea occurred to me ... if the above XP files don't have dependencies other than between themselves, could they be used together as an alternative to WdmStub (ignoring for the moment the problem that you'd probably need a license for XP to use them legitimately, which not all W98 users would have)?

PROBLEMCHYLD

Posted 13 May 2012 - 06:09 PM

PROBLEMCHYLD

The Resurrector for old Windows OS

Member

2,410 posts

Joined 07-October 05

OS:98SE

Country:

I have five of these in my WDMEX Project already. Five more look pretty trivial to implement.

One requires the other one. So I think if one was to implement, one would have to include all the missing functionsfor a specific device. The devices I tested was printers/wireless cards/wifi cards/bluetooth.

Believe God is the Alpha and Omega.Believe Jesus Christ died for our sins.Repent for your sins now or there will be BLOOD

rloew

Posted 13 May 2012 - 09:11 PM

rloew

MSFN Expert

Member

1,133 posts

Joined 30-May 05

OS:98SE

Country:

I have five of these in my WDMEX Project already. Five more look pretty trivial to implement.

One requires the other one. So I think if one was to implement, one would have to include all the missing functionsfor a specific device. The devices I tested was printers/wireless cards/wifi cards/bluetooth.

I created WDMEX to provide a Static VXD rather than the dynamic WDM Driver approach of WDMSTUB. I have added all of the Functions from the various versions of WDMSTUB, and all of the Functions provided by Windows ME. A few stubs have been replaced with actual implementations.My first target for WDMEX was to support an USB3 Driver Stack. That project stopped when I found structural problems not related to missing functions.Lately I have been working on adding USB 2 support for Windows 95, but am encountering structural issues there too.

Obviously every function needed by a given device has to be implemented or stubbed, but even my partial WDMEX did get some less demanding Drivers to work. It is a work in progress.

Ye who enter my domain. Beware! Lest you become educated in the mysteries of the universe and suffer forever from the desire to know more.