How can I write a filter view of disk sectors ?

Hi,

I am sorry for a lots of quetions.
I am very new in drivers development field help me
please .

Can I detect a file system read and write operations
from disk filter driver ?

Can I save the user’s changes to free space without
changing the real File Allocation Tables ?

How can a file system can read operation perform for
the data saved on the free space ?

How can I delete that entries using disk filter driver
?

what operations and steps, I have to do ?

please give me proper solution …

regards,
Rakesh


Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

Rakesh,

I think you are trying to jump deep into the design without first gathering
the knowledge you need.

  1. You first need to write a do “nothing filter” for the disk, which passes
    irp’s you receive down the stack.

You will also need to understand how to complete an irp within your filter
(returning some other data) without passing it down, how to modify an irp so
that the driver beneath does something different from what the driver above
you requested, and how to acquire the data returned by the disk driver, and
(possibly) return something different to the file system. This is filter
drivers 101.

Use this as an exercise to gain understanding about filtering Irps, the
format of the Irps themselves, how to install the driver, how to attach to
the stack, how to create device objects and so on. This will give you the
expertise you need to design and implement your product. This is all
documented in the DDK though it isn’t something you will be able to knock
off in a day or two.

Alternatively, you can search for and study a sample driver if you can find
a suitable one that demonstrates all these points.

  1. You also need to aquire and understand the various metadata formats that
    windows file systems use to manage their disk sector access. The file
    allocation tables are only part of the metadata used by just one disk file
    system, namely FAT. NTFS, FAT32 and other file systems use different
    metadata. Some of this information is essential to your design and may be
    restricted, so don’t run into that problem during your development cycle.

  2. It is YOUR FILTER that is responsible for remapping the requests made by
    the file system and other requestors, (to use free space and) preserve the
    disk content. Both the metadata stored on the disk and the data itself have
    to be preserved for reboot, while the file system and its clients, must
    remain completely unaware of what your filter is doing.

Before you start implementing a solution to this you will have to design it,
and you won’t be able to do that until you completely understand points one
and two above.

I gather from your questions that this is where your knowlege is limited at
the moment so I suggest you concentrate on that. You can of course ask lots
of questions here, or read the DDK and hope you understand it enough to do a
design, but I strongly suggest that the BEST and most reliable way to do
that is by prototyping.

This will allow you to post specific questions to specific problems as you
encounter them. The prototype gets your implementation stage of to a flying
start too.

I hope this helps,

Jack.

“Rakesh Yadava” wrote in message
news:xxxxx@ntdev…
> Hi,
>
> I am sorry for a lots of quetions.
> I am very new in drivers development field help me
> please .
>
> Can I detect a file system read and write operations
> from disk filter driver ?
>
> Can I save the user’s changes to free space without
> changing the real File Allocation Tables ?
>
> How can a file system can read operation perform for
> the data saved on the free space ?
>
> How can I delete that entries using disk filter driver
> ?
>
> what operations and steps, I have to do ?
>
> please give me proper solution …
>
> regards,
> Rakesh
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>

Hi Jack,
Thanks,

I am continuing my study with DDK documentation and
getting more information regarding a file system
filter driver and Disk filter driver developments.

regards,
Rakesh

— Jack Heeley wrote:

> Rakesh,
>
> I think you are trying to jump deep into the design
> without first gathering
> the knowledge you need.
>
> 1. You first need to write a do “nothing filter” for
> the disk, which passes
> irp’s you receive down the stack.
>
> You will also need to understand how to complete an
> irp within your filter
> (returning some other data) without passing it down,
> how to modify an irp so
> that the driver beneath does something different
> from what the driver above
> you requested, and how to acquire the data returned
> by the disk driver, and
> (possibly) return something different to the file
> system. This is filter
> drivers 101.
>
> Use this as an exercise to gain understanding about
> filtering Irps, the
> format of the Irps themselves, how to install the
> driver, how to attach to
> the stack, how to create device objects and so on.
> This will give you the
> expertise you need to design and implement your
> product. This is all
> documented in the DDK though it isn’t something you
> will be able to knock
> off in a day or two.
>
> Alternatively, you can search for and study a sample
> driver if you can find
> a suitable one that demonstrates all these points.
>
> 2. You also need to aquire and understand the
> various metadata formats that
> windows file systems use to manage their disk sector
> access. The file
> allocation tables are only part of the metadata used
> by just one disk file
> system, namely FAT. NTFS, FAT32 and other file
> systems use different
> metadata. Some of this information is essential to
> your design and may be
> restricted, so don’t run into that problem during
> your development cycle.
>
> 3. It is YOUR FILTER that is responsible for
> remapping the requests made by
> the file system and other requestors, (to use free
> space and) preserve the
> disk content. Both the metadata stored on the disk
> and the data itself have
> to be preserved for reboot, while the file system
> and its clients, must
> remain completely unaware of what your filter is
> doing.
>
> Before you start implementing a solution to this you
> will have to design it,
> and you won’t be able to do that until you
> completely understand points one
> and two above.
>
> I gather from your questions that this is where your
> knowlege is limited at
> the moment so I suggest you concentrate on that. You
> can of course ask lots
> of questions here, or read the DDK and hope you
> understand it enough to do a
> design, but I strongly suggest that the BEST and
> most reliable way to do
> that is by prototyping.
>
> This will allow you to post specific questions to
> specific problems as you
> encounter them. The prototype gets your
> implementation stage of to a flying
> start too.
>
> I hope this helps,
>
>
> Jack.
>
>
>
> “Rakesh Yadava” wrote
> in message
> news:xxxxx@ntdev…
> > Hi,
> >
> > I am sorry for a lots of quetions.
> > I am very new in drivers development field
> help me
> > please .
> >
> > Can I detect a file system read and write
> operations
> > from disk filter driver ?
> >
> > Can I save the user’s changes to free space
> without
> > changing the real File Allocation Tables ?
> >
> > How can a file system can read operation perform
> for
> > the data saved on the free space ?
> >
> > How can I delete that entries using disk filter
> driver
> > ?
> >
> > what operations and steps, I have to do ?
> >
> > please give me proper solution …
> >
> > regards,
> > Rakesh
> >
> >
> > Do You Yahoo!?
> > Tired of spam? Yahoo! Mail has the best spam
> protection around
> > http://mail.yahoo.com
> >
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as:
> xxxxx@yahoo.com
> To unsubscribe send a blank email to
> xxxxx@lists.osr.com
>


Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com