Re: Developing a Device Driver

From: x2040 (x2040_at_discussions.microsoft.com)
Date: 10/18/04


Date: Sun, 17 Oct 2004 23:31:02 -0700

hello Mike
i want to develop a program like daemon virtual cd tool
i dont know where to start from and i didnt make any driver before
can you help me telling me what do i need to make such a program

and if i found any thing will be usefull for you about this topic i will
share it with you too

thank you

"Mike Hingley" wrote:

> I tried posting this earlier - but I'll try again...
>
> I'm currently working on some pretty cool web services, that I think would
> be nice to present to users as a file system - the data that is produced
> fites nicely into a directory heirarchy structure...
>
> So basically the device is non existant - all of the data that contructs the
> directory structure for the drive is read from a web service / XML stream.
>
> This is why I initially thought about a RAM disk type approach, however I
> may be barking up the wrong tree here. The problem is that as I have no
> hardware to write a device for, I feel a little lost here. My end goal is
> to produce a product like the Daemon virtual CD tool - which lets the user
> mount an ISO as a drive within explorer.
>
> The problem I think I am going to face is two fold (from what I can gather
> so far).
>
> 1. There is no hardware to talk to - therefore should I just create a filter
> ?
> 2. Can I get access to the network through a driver?
>
> I had read some work by (i think his name was Galen) in the MS Research
> centre - his work was involved in looking at developing a IO Request(is that
> the right term) kernel proxy, that would allow a user mode application to
> provide the data for the kernel - This seemed ideal to me, as a majority of
> the code would therefore be run outside of the kernel, in usermode - there
> was increased potential to debug the code, and even implement this using c#
> (unless I'm reading this wrong)
>
> This is my first forray into Kernel code - and I thought that this would be
> a suitable development as there is no hardware involved there seemed to be
> less in it, and therefore less to go wrong.
>
> As an alternative, i'm also looking at creating a File System Watchdog which
> could intercept requests for a specifc directory, and perform the
> appropriate network commands on it's behalf -effectively the directory would
> be a moount point for the service - however this seems somhow ineligant.
>
>
> Am I biting off too much here? Should I be looking to write a new drive for
> an existing piece of kit? Does anybody have any ideas what I can start off
> with?
>
>
> Thanks
>
> Mike
>
>
> "Don Burn" <burn@stopspam.acm.org> wrote in message
> news:10g7rm7g8k8n723@corp.supernews.com...
> > A ram disk is going to be a block level device that knows nothing about
> the
> > file structure. Doing a ram disk will not give you the background if you
> > want to present data like a file system, it presents data like a raw block
> > device.
> >
> > To do a ram disk use the Disk class driver (src\storage\class\disk) as a
> > starting base. If this is not what you want, give the group a little more
> > data on your final goal, and we can probably suggest a solution.
> >
> >
> > --
> > Don Burn (MVP, Windows DDK)
> > Windows 2k/XP/2k3 Filesystem and Driver Consulting
> > Remove StopSpam from the email to reply
> >
> > "Mike Hingley" <computa_mike@NOSPAMhotmail.com> wrote in message
> > news:eURMc.4503$7t5.1743@fe1.news.blueyonder.co.uk...
> > > Hi Guys - I am trying to start develoing a device driver to provide a
> RAM
> > > disk type functionality - this isn't my final ideal, but I feel that
> this
> > > would give me the background I'd require to investigate further.
> > >
> > > At the moment I'm completey lost as to what type of driver I would need.
> > I
> > > don't know whether to extend a Microsoft Mini class for the file system,
> > or
> > > to Develop one from scratch.
> > >
> > > My aim is to present the data as though it were a file system.
> Therefore
> > > this drive must be mountable as a drive.
> > >
> > > Any ideas?
> > >
> > >
> >
> >
>
>
>



Relevant Pages

  • Re: Developing a Device Driver
    ... I'm currently working on some pretty cool web services, ... be nice to present to users as a file system - the data that is produced ... This is why I initially thought about a RAM disk type approach, ... the right term) kernel proxy, that would allow a user mode application to ...
    (microsoft.public.development.device.drivers)
  • Re: udev is too slow creating devices
    ... block device might appear any time, file system ... > The kernel doesn't use /dev. ... It is driver knows, It is user of driver who does know it too. ... Implementing FSMs in shell scripts - last thing I ever wanted. ...
    (Linux-Kernel)
  • Re: Partially checked build vs. fully checked build
    ... applications will cause ASSERTS on the checked build that cannot be recovered from. ... For instance if you are developing something like a file system mini-filter, or an NDIS mini-port you want the checked version of the support code. ... I'm understanding your reply correctly, so long as I include the checked builds of the kernel & the HAL, then things should function fairly well for kernel mode debugging of drivers w/o introducing a whole lot of extra issues to be aware of in terms of having Windows still perform faily well & w/o introducing a lot of extra things that will interrupt that functionality. ... And if I include the checked builds of the file system components, including the driver for NTFS and the filesystem filter manager, etc..., then file system filter & minifilter debugging should be faciliated, too? ...
    (microsoft.public.win32.programmer.kernel)
  • Re: Developing a Device Driver
    ... A ram disk is going to be a block level device that knows nothing about the ... Windows 2k/XP/2k3 Filesystem and Driver Consulting ... > don't know whether to extend a Microsoft Mini class for the file system, or> to Develop one from scratch. ...
    (microsoft.public.development.device.drivers)
  • Re: how can I identify which processes access a file?
    ... You can use API hooking and monitor for e.g. ... approcah is to develop a kernel file system driver ... going to your kernel driver either by DeviceIoControl ...
    (microsoft.public.dotnet.languages.csharp)