Filter driver

Dear All,

I’m working on a File system filter driver. The responsibilty of
the proposed driver goes as follows.

Data present on the media (CD-ROM disk) is encrypted. Whenever
user browses the media, we should decrypt the data and return it
to the application. I’m doing decryption in IRP_MJ_READ completion
routine. Since the Irp_UserBuffer may not be valid in the
completion routine i’m trying to create MDL for the user buffer in
the IRP_MJ_READ dispatch routine. But the problem is for some read
requests, the Irp->MdlAddress is not null which means I/O manager
has already created the MDL for whatever purpose. Hence I’m not
able to achieve the desired operation. My decryption is failing.

Could you please let me know whether there is any problem in the
approach followed. Or could you please suggest any alternate
method if any.

I Just tried one more also. Creating MDL and passing to the
completion routine as context parameter. But After creating the
MDL using IoAllocateMDl, it is gives Page Fault when i try to lock
it .

Thanks in advance.

Nagaraja


There is always a better job for you at Monsterindia.com.
Go now http://monsterindia.com/rediffin/

If there is a MDL use it. If not you can use the UserBuffer address. The
addresses are already locked. Decryption should only be performed on paging
IO requests.

----- Original Message -----
From: “Nagaraja ML Sonale”
To: “File Systems Developers”
Sent: Friday, June 21, 2002 9:19 AM
Subject: [ntfsd] Filter driver

> Dear All,
>
> I’m working on a File system filter driver. The responsibilty of
> the proposed driver goes as follows.
>
> Data present on the media (CD-ROM disk) is encrypted. Whenever
> user browses the media, we should decrypt the data and return it
> to the application. I’m doing decryption in IRP_MJ_READ completion
> routine. Since the Irp_UserBuffer may not be valid in the
> completion routine i’m trying to create MDL for the user buffer in
> the IRP_MJ_READ dispatch routine. But the problem is for some read
> requests, the Irp->MdlAddress is not null which means I/O manager
> has already created the MDL for whatever purpose. Hence I’m not
> able to achieve the desired operation. My decryption is failing.
>
> Could you please let me know whether there is any problem in the
> approach followed. Or could you please suggest any alternate
> method if any.
>
> I Just tried one more also. Creating MDL and passing to the
> completion routine as context parameter. But After creating the
> MDL using IoAllocateMDl, it is gives Page Fault when i try to lock
> it .
>
> Thanks in advance.
>
> Nagaraja
> _________________________________________________________
> There is always a better job for you at Monsterindia.com.
> Go now http://monsterindia.com/rediffin/
>
>
> —
> You are currently subscribed to ntfsd as: xxxxx@yoshimuni.com
> To unsubscribe send a blank email to %%email.unsub%%

David,

Actually you should decrypt all non-cached I/O requests (have the
IRP_NOCACHE flag set). Though all Paging I/O’s are marked as non-cached
you also need to do those I/O’s that are not paging related but are
marked as non-cached.

Neal Christiansen
Microsoft File System Filter Group

This posting is provided “AS IS” with no warranties, and confers no
rights.

-----Original Message-----
From: David J. Craig [mailto:xxxxx@yoshimuni.com]
Sent: Friday, June 21, 2002 08:16 AM
To: File Systems Developers
Subject: [ntfsd] Re: Filter driver

If there is a MDL use it. If not you can use the UserBuffer address.
The
addresses are already locked. Decryption should only be performed on
paging
IO requests.

----- Original Message -----
From: “Nagaraja ML Sonale”
To: “File Systems Developers”
Sent: Friday, June 21, 2002 9:19 AM
Subject: [ntfsd] Filter driver

> Dear All,
>
> I’m working on a File system filter driver. The responsibilty of
> the proposed driver goes as follows.
>
> Data present on the media (CD-ROM disk) is encrypted. Whenever
> user browses the media, we should decrypt the data and return it
> to the application. I’m doing decryption in IRP_MJ_READ completion
> routine. Since the Irp_UserBuffer may not be valid in the
> completion routine i’m trying to create MDL for the user buffer in
> the IRP_MJ_READ dispatch routine. But the problem is for some read
> requests, the Irp->MdlAddress is not null which means I/O manager
> has already created the MDL for whatever purpose. Hence I’m not
> able to achieve the desired operation. My decryption is failing.
>
> Could you please let me know whether there is any problem in the
> approach followed. Or could you please suggest any alternate
> method if any.
>
> I Just tried one more also. Creating MDL and passing to the
> completion routine as context parameter. But After creating the
> MDL using IoAllocateMDl, it is gives Page Fault when i try to lock
> it .
>
> Thanks in advance.
>
> Nagaraja
> _________________________________________________________
> There is always a better job for you at Monsterindia.com.
> Go now http://monsterindia.com/rediffin/
>
>
> —
> You are currently subscribed to ntfsd as: xxxxx@yoshimuni.com
> To unsubscribe send a blank email to %%email.unsub%%


You are currently subscribed to ntfsd as: xxxxx@Windows.Microsoft.com
To unsubscribe send a blank email to %%email.unsub%%

Thanks a lot friends. I could decrypt successfully.

Nagaraja

On Sat, 22 Jun 2002 Neal Christiansen wrote :

David,

Actually you should decrypt all non-cached I/O requests (have
the
IRP_NOCACHE flag set). Though all Paging I/O’s are marked as
non-cached
you also need to do those I/O’s that are not paging related but
are
marked as non-cached.

Neal Christiansen
Microsoft File System Filter Group

This posting is provided “AS IS” with no warranties, and confers
no
rights.

-----Original Message-----
From: David J. Craig [mailto:xxxxx@yoshimuni.com]
Sent: Friday, June 21, 2002 08:16 AM
To: File Systems Developers
Subject: [ntfsd] Re: Filter driver

If there is a MDL use it. If not you can use the UserBuffer
address.
The
addresses are already locked. Decryption should only be
performed on
paging
IO requests.

----- Original Message -----
From: “Nagaraja ML Sonale”
>To: “File Systems Developers”
>Sent: Friday, June 21, 2002 9:19 AM
>Subject: [ntfsd] Filter driver
>
>
> > Dear All,
> >
> > I’m working on a File system filter driver. The responsibilty
>of
> > the proposed driver goes as follows.
> >
> > Data present on the media (CD-ROM disk) is encrypted.
>Whenever
> > user browses the media, we should decrypt the data and return
>it
> > to the application. I’m doing decryption in IRP_MJ_READ
>completion
> > routine. Since the Irp_UserBuffer may not be valid in the
> > completion routine i’m trying to create MDL for the user
>buffer in
> > the IRP_MJ_READ dispatch routine. But the problem is for some
>read
> > requests, the Irp->MdlAddress is not null which means I/O
>manager
> > has already created the MDL for whatever purpose. Hence I’m
>not
> > able to achieve the desired operation. My decryption is
>failing.
> >
> > Could you please let me know whether there is any problem in
>the
> > approach followed. Or could you please suggest any alternate
> > method if any.
> >
> > I Just tried one more also. Creating MDL and passing to the
> > completion routine as context parameter. But After creating
>the
> > MDL using IoAllocateMDl, it is gives Page Fault when i try to
>lock
> > it .
> >
> > Thanks in advance.
> >
> > Nagaraja
> >
> > There is always a better job for you at Monsterindia.com.
> > Go now http://monsterindia.com/rediffin/
> >
> >
> > —
> > You are currently subscribed to ntfsd as:
>xxxxx@yoshimuni.com
> > To unsubscribe send a blank email to %%email.unsub%%
>
>
>
>—
>You are currently subscribed to ntfsd as:
>xxxxx@Windows.Microsoft.com
>To unsubscribe send a blank email to %%email.unsub%%
>
>—
>You are currently subscribed to ntfsd as:
>xxxxx@rediffmail.com
>To unsubscribe send a blank email to
>%%email.unsub%%


There is always a better job for you at Monsterindia.com.
Go now http://monsterindia.com/rediffin/