File System Calling into USB WDM

Hi People,

I know that this is not a NT related query but here goes anyway! :wink:

I Have developed a Windows 9x IFS Hook to encrypt/decrypt data within
specific folders on a hard disk. As an extension to this I have now stored
the encryption keys within a USB hardware device for security.

Now all is well until I launch an executable from within the encrypted
folder (also have a problem with Word + other Microsoft Office apps but
think this is probably something else!). At this point I need to communicate
with the USB device to read the key material. When calling into the WDM I
need to be running at PASSIVE_LEVEL to use the SubmitUrb(…) function.
Despite the fact that VXD land has no concept of IRQL I always seem to enter
at DISPATCH_LEVEL (I get in at PASSIVE_LEVEL when opening bitmaps, text,
etc…)

As you can probably appreciate I need to wait for the USB communications to
occur in order to do the decryption. This is where the problem occurs. I
queue the request to the USB hardware so that it occurs at PASSIVE_LEVEL and
return to the VXD to wait. Unfortunately the VXD either refuses to wait or
instead (worse) deadlocks the computer. Could the PE Loader under Windows9x
be messing? Could it be grabbing the Win16Mutex, thus stopping everything?

Hope all this makes sense! Any ideas on how I may solve this problem?

Best Regards

Ben Curley
Email: xxxxx@des.co.uk


You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com