Thanks Tim.
I think instead of asking about my sample programs I should describe the
final project and let experts here answer about feasibility and
complications involved in it. As that is what customer wants to know
currently, and if possible any other means apart from device driver.
*“The Actual Project”*
We deliver encrypted data and corresponding viewer to customer in a CD.
The viewer is written in VC++. The decryption logic stands as a seperate
library so we need to include its dll and call its functions. Since there
are various othr applications of our project which uses decryption logic, so
we need to use same in all projects/upcoming projects.
Now, the new customer says, he has his own viewer [ without any decryption
capability ] but he would still like to use our encrypted cd’s. So we
proposed him following:
- Within the CD we will send a “decryption solution driver”.
- User is prompted to install the driver, now after installation it should
appear as a drive next to CD-ROM drive, for eg if D: for CDROM then E: for
device driver - The customer will now launch its viewer application, and point it to E:
[By displaying a dialog and taking user input for driver letter] - Now, what ever data has to be requested from CD, will actually first be
directed to E: with parameters , the driver will
now go to CD-ROM get that file, decrypt only the required information and
send back decrypted data to viewer application, which thus launches it.
Thats it. Now please guide me for whether it is possible with device driver?
if yes, how deep knowledge of DD is required and what all concepts I need to
know atleast for a pilot application [without decryption logic]
If not, then please cite me with reasons.
Thanks and Regards,
Simran
On Wed, Sep 10, 2008 at 10:37 PM, Tim Roberts wrote:
> Simran Saun wrote:
> > I’m more confused now.
>
> We are very good at that.
>
>
> > @Crispin, Yes thats what I intend to do, but with a device driver, as
> > Im trying to learn DD with small sample examples.
> >
> > As I had mentioned in my very first post that the actual driver which
> > has to be designed [the actual project] has different functioanlity
> > but to get a hang of how driver development proceeds, entry point,
> > function calls, i/o operations etc happens, is why I’m taking up small
> > examples and understanding the flow of driver development.
> > When I had first posted here,I was a novice having no knowlede of what
> > driver development means. Even now im not an expert, I still don’t
> > know many many manyX100 concepts, I intend to understand driver
> > develepopment in a step by step way and which can finally help me in
> > my project work.
> > Since I was able to load a driver, call its function using a client
> > application, I call it passing my 1st stage. Now if I do parallels
> > with actual project, I see that it has to be installed as a drive
> > letter without any storage “into” that drive. The client application
> > has to see this virtual drive and invoke one of the method of driver.
> > So thats Y I came up with my question of how to map a driver to a
> > drive letter. I hope now my query is comprehensible.
>
> Yes, I think so. Allow me to explore why this conversation headed into
> the drink so quickly.
>
> The typical Windows driver is exposed to user mode as a fake file. To
> talk to a driver, an application will open the driver by file name, then
> send read, write, and ioctl requests through that file handle. That is
> how the vast majority of Windows drivers operate: by pretending to be
> files. It’s easy and fun, and there are lots of samples.
>
> Getting a driver to respond as a drive letter is a MUCH more complicated
> proposition. Now, instead of just being an ordinary driver, you have to
> be a storage driver, and you have to adhere to a rather complicated and
> error-prone storage protocol. I’ve been writing Windows drivers for 18
> years, and I’ve never written one that pretended to be a drive letter.
> This is quite different from Linux, where it’s not that hard to expose a
> new fake file system.
>
> What the rest of us are suggesting is this: if your final task does not
> involve a drive letter, then you should forget about trying to
> experiment with drive letters. You’ll just dive down rat holes that
> won’t help your overall learning experience. If your final task DOES
> involve a fake drive letter, there may be ways to accomplish the task
> that are easier than a driver.
>
> –
> Tim Roberts, xxxxx@probo.com
> Providenza & Boekelheide, Inc.
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>