How to simulate virtual folder?

Hi all,

we have a virtual disk driver which stores encrypted data in files and works
with no problem. Drives are accesses standard way using driver letters. Now
we’d like to make something easier for users who would be confused with a
new drive letter. The idea is to create a virtual folder as “My Documents\My
Encrypted” or “My Encrypted Documents” which would be accessible standard
way from explorer and other apps and all requests would be redirected to our
virtual drive. Driver letter would be invisible (not quite necessary).

The question is how to accomplish it. Currently we use explorer namespace
extension which is insufficient for some reasons. Mount points can’t be used
because it should work at both FAT and NTFS. We’re thinking about a simple
filesystem filter, hooking some APIs or some object manager trick. I’d like
to know what is possible and how complicated the solution is. Filesystem
filter seems and the correct solution but I’m not sure if it can be simple
even if it only needs to redirect requests.

Any suggestion or comment welcome.

Best regards,

Michal Vodicka
STMicroelectronics Design and Application s.r.o.
[michal.vodicka@st.com, http:://www.st.com]

----- Original Message -----
From: “Vodicka, Michal” <michal.vodicka>
To: “NT Developers Interest List”
Sent: Monday, November 25, 2002 5:50 PM
Subject: [ntdev] How to simulate virtual folder?

> Hi all,
>
> we have a virtual disk driver which stores encrypted data in files and
works
> with no problem. Drives are accesses standard way using driver letters.
Now
> we’d like to make something easier for users who would be confused with a
> new drive letter. The idea is to create a virtual folder as “My
Documents\My
> Encrypted” or “My Encrypted Documents” which would be accessible standard
> way from explorer and other apps and all requests would be redirected to
our
> virtual drive. Driver letter would be invisible (not quite necessary).
>
> The question is how to accomplish it. Currently we use explorer namespace
> extension which is insufficient for some reasons. Mount points can’t be
used
> because it should work at both FAT and NTFS. We’re thinking about a simple
> filesystem filter, hooking some APIs or some object manager trick. I’d
like
> to know what is possible and how complicated the solution is. Filesystem
> filter seems and the correct solution but I’m not sure if it can be simple
> even if it only needs to redirect requests.
>
> Any suggestion or comment welcome.
>
> Best regards,
>
> Michal Vodicka
> STMicroelectronics Design and Application s.r.o.
> [michal.vodicka@st.com, http:://www.st.com]
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> To unsubscribe send a blank email to %%email.unsub%%</michal.vodicka>

I have a couple of ideas to provide something to satisfy your needs. There
are a couple of solutions.

  1. Device Driver for mass storage device such as a ram drive that is really
    backed up by mass storage
  2. File System
  3. File System filter

I would prefer to move any follow up discussion off this list. Feel free to
email me direct.

----- Original Message -----
From: “Vodicka, Michal” <michal.vodicka>
To: “NT Developers Interest List”
Sent: Monday, November 25, 2002 5:50 PM
Subject: [ntdev] How to simulate virtual folder?

> Hi all,
>
> we have a virtual disk driver which stores encrypted data in files and
works
> with no problem. Drives are accesses standard way using driver letters.
Now
> we’d like to make something easier for users who would be confused with a
> new drive letter. The idea is to create a virtual folder as “My
Documents\My
> Encrypted” or “My Encrypted Documents” which would be accessible standard
> way from explorer and other apps and all requests would be redirected to
our
> virtual drive. Driver letter would be invisible (not quite necessary).
>
> The question is how to accomplish it. Currently we use explorer namespace
> extension which is insufficient for some reasons. Mount points can’t be
used
> because it should work at both FAT and NTFS. We’re thinking about a simple
> filesystem filter, hooking some APIs or some object manager trick. I’d
like
> to know what is possible and how complicated the solution is. Filesystem
> filter seems and the correct solution but I’m not sure if it can be simple
> even if it only needs to redirect requests.
>
> Any suggestion or comment welcome.
>
> Best regards,
>
> Michal Vodicka
> STMicroelectronics Design and Application s.r.o.
> [michal.vodicka@st.com, http:://www.st.com]
></michal.vodicka>

Well, it seems I wasn’t clear enough. We want to use our existing virtual
disk driver for encryption and data storage but want to access virtual
drives another way, as folders. If user accesses “My Encrypted Documents”,
the request would come to drive Z: and it turn to \Device\FileDiskN we
create. Mount points or explorer namespace accomplish it but both have
limitations we can’t afford.

Thanks for ideas.

Best regards,

Michal Vodicka
STMicroelectronics Design and Application s.r.o.
[michal.vodicka@st.com, http:://www.st.com]


From: michal.vodicka@st.com[SMTP:michal.vodicka@st.com]
Reply To: xxxxx@lists.osr.com
Sent: Monday, November 25, 2002 11:50 PM
To: xxxxx@lists.osr.com
Subject: [ntdev] How to simulate virtual folder?

Hi all,

we have a virtual disk driver which stores encrypted data in files and
works
with no problem. Drives are accesses standard way using driver letters.
Now
we’d like to make something easier for users who would be confused with a
new drive letter. The idea is to create a virtual folder as “My
Documents\My
Encrypted” or “My Encrypted Documents” which would be accessible standard
way from explorer and other apps and all requests would be redirected to
our
virtual drive. Driver letter would be invisible (not quite necessary).

The question is how to accomplish it. Currently we use explorer namespace
extension which is insufficient for some reasons. Mount points can’t be
used
because it should work at both FAT and NTFS. We’re thinking about a simple
filesystem filter, hooking some APIs or some object manager trick. I’d
like
to know what is possible and how complicated the solution is. Filesystem
filter seems and the correct solution but I’m not sure if it can be simple
even if it only needs to redirect requests.

Any suggestion or comment welcome.

Best regards,

Michal Vodicka
STMicroelectronics Design and Application s.r.o.
[michal.vodicka@st.com, http:://www.st.com]


You are currently subscribed to ntdev as: michal.vodicka@st.com
To unsubscribe send a blank email to %%email.unsub%%

You can write a simple filesytem filter that returns STATUS_REPARSE for
any create issued to a path that you wish to redirect. There are a lot
of gotchas with this technique, so be sure to check out all the relevant
messages in the NTFSD archives for help (at www.osr.com). Also, don’t
forget to handle FastIoQueryOpen.

  • Nicholas Ryan

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Vodicka, Michal
Sent: Monday, November 25, 2002 6:16 PM
To: NT Developers Interest List
Subject: [ntdev] RE: How to simulate virtual folder?

Well, it seems I wasn’t clear enough. We want to use our
existing virtual disk driver for encryption and data storage
but want to access virtual drives another way, as folders. If
user accesses “My Encrypted Documents”, the request would
come to drive Z: and it turn to \Device\FileDiskN we create.
Mount points or explorer namespace accomplish it but both
have limitations we can’t afford.

Thanks for ideas.

Best regards,

Michal Vodicka
STMicroelectronics Design and Application s.r.o.
[michal.vodicka@st.com, http:://www.st.com]

> ----------
> From: michal.vodicka@st.com[SMTP:michal.vodicka@st.com]
> Reply To: xxxxx@lists.osr.com
> Sent: Monday, November 25, 2002 11:50 PM
> To: xxxxx@lists.osr.com
> Subject: [ntdev] How to simulate virtual folder?
>
> Hi all,
>
> we have a virtual disk driver which stores encrypted data
in files and
> works with no problem. Drives are accesses standard way
using driver
> letters. Now
> we’d like to make something easier for users who would be
confused with a
> new drive letter. The idea is to create a virtual folder as “My
> Documents\My
> Encrypted” or “My Encrypted Documents” which would be
accessible standard
> way from explorer and other apps and all requests would be
redirected to
> our
> virtual drive. Driver letter would be invisible (not quite
necessary).
>
> The question is how to accomplish it. Currently we use explorer
> namespace extension which is insufficient for some reasons. Mount
> points can’t be used because it should work at both FAT and NTFS.
> We’re thinking about a simple filesystem filter, hooking
some APIs or
> some object manager trick. I’d like
> to know what is possible and how complicated the solution
is. Filesystem
> filter seems and the correct solution but I’m not sure if
it can be simple
> even if it only needs to redirect requests.
>
> Any suggestion or comment welcome.
>
> Best regards,
>
> Michal Vodicka
> STMicroelectronics Design and Application s.r.o.
> [michal.vodicka@st.com, http:://www.st.com]
>
>
>
> —
> You are currently subscribed to ntdev as: michal.vodicka@st.com To
> unsubscribe send a blank email to %%email.unsub%%
>


You are currently subscribed to ntdev as: xxxxx@nryan.com
To unsubscribe send a blank email to %%email.unsub%%

Nicholas,

could you roughly estimate the time for such solution? For a developer who
has a lot of experience with NT kernel programming, OS internals and
debugging but never wrote FS filter. It would be for XP only and I presume
XP IFS kit is necessary.

Thanks.

Best regards,

Michal Vodicka
STMicroelectronics Design and Application s.r.o.
[michal.vodicka@st.com, http:://www.st.com]


From: xxxxx@nryan.com[SMTP:xxxxx@nryan.com]
Reply To: xxxxx@lists.osr.com
Sent: Tuesday, November 26, 2002 4:12 AM
To: xxxxx@lists.osr.com
Subject: [ntdev] RE: How to simulate virtual folder?

You can write a simple filesytem filter that returns STATUS_REPARSE for
any create issued to a path that you wish to redirect. There are a lot
of gotchas with this technique, so be sure to check out all the relevant
messages in the NTFSD archives for help (at www.osr.com). Also, don’t
forget to handle FastIoQueryOpen.

  • Nicholas Ryan

> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of Vodicka, Michal
> Sent: Monday, November 25, 2002 6:16 PM
> To: NT Developers Interest List
> Subject: [ntdev] RE: How to simulate virtual folder?
>
>
> Well, it seems I wasn’t clear enough. We want to use our
> existing virtual disk driver for encryption and data storage
> but want to access virtual drives another way, as folders. If
> user accesses “My Encrypted Documents”, the request would
> come to drive Z: and it turn to \Device\FileDiskN we create.
> Mount points or explorer namespace accomplish it but both
> have limitations we can’t afford.
>
> Thanks for ideas.
>
> Best regards,
>
> Michal Vodicka
> STMicroelectronics Design and Application s.r.o.
> [michal.vodicka@st.com, http:://www.st.com]
>
> > ----------
> > From: michal.vodicka@st.com[SMTP:michal.vodicka@st.com]
> > Reply To: xxxxx@lists.osr.com
> > Sent: Monday, November 25, 2002 11:50 PM
> > To: xxxxx@lists.osr.com
> > Subject: [ntdev] How to simulate virtual folder?
> >
> > Hi all,
> >
> > we have a virtual disk driver which stores encrypted data
> in files and
> > works with no problem. Drives are accesses standard way
> using driver
> > letters. Now
> > we’d like to make something easier for users who would be
> confused with a
> > new drive letter. The idea is to create a virtual folder as “My
> > Documents\My
> > Encrypted” or “My Encrypted Documents” which would be
> accessible standard
> > way from explorer and other apps and all requests would be
> redirected to
> > our
> > virtual drive. Driver letter would be invisible (not quite
> necessary).
> >
> > The question is how to accomplish it. Currently we use explorer
> > namespace extension which is insufficient for some reasons. Mount
> > points can’t be used because it should work at both FAT and NTFS.
> > We’re thinking about a simple filesystem filter, hooking
> some APIs or
> > some object manager trick. I’d like
> > to know what is possible and how complicated the solution
> is. Filesystem
> > filter seems and the correct solution but I’m not sure if
> it can be simple
> > even if it only needs to redirect requests.
> >
> > Any suggestion or comment welcome.
> >
> > Best regards,
> >
> > Michal Vodicka
> > STMicroelectronics Design and Application s.r.o.
> > [michal.vodicka@st.com, http:://www.st.com]
> >
> >
> >
> > —
> > You are currently subscribed to ntdev as: michal.vodicka@st.com To
> > unsubscribe send a blank email to %%email.unsub%%
> >
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@nryan.com
> To unsubscribe send a blank email to %%email.unsub%%
>


You are currently subscribed to ntdev as: michal.vodicka@st.com
To unsubscribe send a blank email to %%email.unsub%%

If this is basically ALL you need to do, then I’d say about a month.
You’ll need the XP IFS kit of course - it comes with a very good filter
sample you can use as a template. You will be saving some time not
having to backport to NT4 and 2k.

  • Nicholas Ryan

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Vodicka, Michal
Sent: Monday, November 25, 2002 7:27 PM
To: NT Developers Interest List
Subject: [ntdev] RE: How to simulate virtual folder?

Nicholas,

could you roughly estimate the time for such solution? For a
developer who has a lot of experience with NT kernel
programming, OS internals and debugging but never wrote FS
filter. It would be for XP only and I presume XP IFS kit is necessary.

Thanks.

Best regards,

Michal Vodicka
STMicroelectronics Design and Application s.r.o.
[michal.vodicka@st.com, http:://www.st.com]

> ----------
> From: xxxxx@nryan.com[SMTP:xxxxx@nryan.com]
> Reply To: xxxxx@lists.osr.com
> Sent: Tuesday, November 26, 2002 4:12 AM
> To: xxxxx@lists.osr.com
> Subject: [ntdev] RE: How to simulate virtual folder?
>
> You can write a simple filesytem filter that returns STATUS_REPARSE
> for any create issued to a path that you wish to redirect.
There are a
> lot of gotchas with this technique, so be sure to check out all the
> relevant messages in the NTFSD archives for help (at www.osr.com).
> Also, don’t forget to handle FastIoQueryOpen.
>
> - Nicholas Ryan
>
>
>
> > -----Original Message-----
> > From: xxxxx@lists.osr.com
> > [mailto:xxxxx@lists.osr.com] On Behalf Of
Vodicka, Michal
> > Sent: Monday, November 25, 2002 6:16 PM
> > To: NT Developers Interest List
> > Subject: [ntdev] RE: How to simulate virtual folder?
> >
> >
> > Well, it seems I wasn’t clear enough. We want to use our
> > existing virtual disk driver for encryption and data storage
> > but want to access virtual drives another way, as folders. If
> > user accesses “My Encrypted Documents”, the request would
> > come to drive Z: and it turn to \Device\FileDiskN we create.
> > Mount points or explorer namespace accomplish it but both
> > have limitations we can’t afford.
> >
> > Thanks for ideas.
> >
> > Best regards,
> >
> > Michal Vodicka
> > STMicroelectronics Design and Application s.r.o.
> > [michal.vodicka@st.com, http:://www.st.com]
> >
> > > ----------
> > > From: michal.vodicka@st.com[SMTP:michal.vodicka@st.com]
> > > Reply To: xxxxx@lists.osr.com
> > > Sent: Monday, November 25, 2002 11:50 PM
> > > To: xxxxx@lists.osr.com
> > > Subject: [ntdev] How to simulate virtual folder?
> > >
> > > Hi all,
> > >
> > > we have a virtual disk driver which stores encrypted data
> > in files and
> > > works with no problem. Drives are accesses standard way
> > using driver
> > > letters. Now
> > > we’d like to make something easier for users who would be
> > confused with a
> > > new drive letter. The idea is to create a virtual folder as “My
> > > Documents\My Encrypted” or “My Encrypted Documents”
which would be
> > accessible standard
> > > way from explorer and other apps and all requests would be
> > redirected to
> > > our
> > > virtual drive. Driver letter would be invisible (not quite
> > necessary).
> > >
> > > The question is how to accomplish it. Currently we use explorer
> > > namespace extension which is insufficient for some
reasons. Mount
> > > points can’t be used because it should work at both FAT
and NTFS.
> > > We’re thinking about a simple filesystem filter, hooking
> > some APIs or
> > > some object manager trick. I’d like
> > > to know what is possible and how complicated the solution
> > is. Filesystem
> > > filter seems and the correct solution but I’m not sure if
> > it can be simple
> > > even if it only needs to redirect requests.
> > >
> > > Any suggestion or comment welcome.
> > >
> > > Best regards,
> > >
> > > Michal Vodicka
> > > STMicroelectronics Design and Application s.r.o.
> > > [michal.vodicka@st.com, http:://www.st.com]
> > >
> > >
> > >
> > > —
> > > You are currently subscribed to ntdev as:
michal.vodicka@st.com To
> > > unsubscribe send a blank email to %%email.unsub%%
> > >
> >
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@nryan.com To
> > unsubscribe send a blank email to %%email.unsub%%
> >
>
>
>
> —
> You are currently subscribed to ntdev as: michal.vodicka@st.com To
> unsubscribe send a blank email to %%email.unsub%%
>


You are currently subscribed to ntdev as: xxxxx@nryan.com
To unsubscribe send a blank email to %%email.unsub%%