Okay, the consensus seems to be that StreamContexts are supported on
NTFS, but I’m getting STATUS_NOT_SUPPORTED (0xc00000bb) back when I try
to set one on my test machine. Setup is:
W2K3 server SP2
Filesystem on the drives is NTFS
This is running under:
VMware Server 1.0.1 build-29996
Virtual drives are SCSI
The call:
//this is basically straight out of the ctx example (specifically the
callback_data->Iopb->TargetInstance)
status = FltSetStreamContext
(callback_data->Iopb->TargetInstance,
callback_data->Iopb->TargetFileObject,
FLT_SET_CONTEXT_KEEP_IF_EXISTS, t_context,
NULL);
The registration:
{ FLT_STREAM_CONTEXT, 0, eh_stream_context_destructor,
sizeof(eh_stream_context), MY_HSM_MEMORY_TAG,
NULL, NULL, NULL },
Anybody have any idea what’s going on? If you need more info, I’ll be
happy to get it for you.
Thanks,
~Eric
What FileObject is it? Is it already initialized (i.e. its FsContext is not
NULL) ?
When do you call FltSetStreamContext?
-pk
“Eric Diven” wrote in message news:xxxxx@ntfsd…
Okay, the consensus seems to be that StreamContexts are supported on
NTFS, but I’m getting STATUS_NOT_SUPPORTED (0xc00000bb) back when I try
to set one on my test machine. Setup is:
W2K3 server SP2
Filesystem on the drives is NTFS
This is running under:
VMware Server 1.0.1 build-29996
Virtual drives are SCSI
The call:
//this is basically straight out of the ctx example (specifically the
callback_data->Iopb->TargetInstance)
status = FltSetStreamContext
(callback_data->Iopb->TargetInstance,
callback_data->Iopb->TargetFileObject,
FLT_SET_CONTEXT_KEEP_IF_EXISTS, t_context,
NULL);
The registration:
{ FLT_STREAM_CONTEXT, 0, eh_stream_context_destructor,
sizeof(eh_stream_context), MY_HSM_MEMORY_TAG,
NULL, NULL, NULL },
Anybody have any idea what’s going on? If you need more info, I’ll be
happy to get it for you.
Thanks,
~Eric
Inside which callback-routine do you call “FltSetStreamContext”?
FileObject->FsContext must be initialized in order for stream or stream
contexts to be supported…and this is not the case for PreCreate
“Eric Diven” wrote news:xxxxx@ntfsd…
Okay, the consensus seems to be that StreamContexts are supported on
NTFS, but I’m getting STATUS_NOT_SUPPORTED (0xc00000bb) back when I try
to set one on my test machine. Setup is:
W2K3 server SP2
Filesystem on the drives is NTFS
This is running under:
VMware Server 1.0.1 build-29996
Virtual drives are SCSI
The call:
//this is basically straight out of the ctx example (specifically the
callback_data->Iopb->TargetInstance)
status = FltSetStreamContext
(callback_data->Iopb->TargetInstance,
callback_data->Iopb->TargetFileObject,
FLT_SET_CONTEXT_KEEP_IF_EXISTS, t_context,
NULL);
The registration:
{ FLT_STREAM_CONTEXT, 0, eh_stream_context_destructor,
sizeof(eh_stream_context), MY_HSM_MEMORY_TAG,
NULL, NULL, NULL },
Anybody have any idea what’s going on? If you need more info, I’ll be
happy to get it for you.
Thanks,
~Eric
Is this for any file or just some? (e.g. pagefile or hiberfil don’t
support stream contexts, other are prolly there too)
Eric Diven wrote:
Okay, the consensus seems to be that StreamContexts are supported on
NTFS, but I’m getting STATUS_NOT_SUPPORTED (0xc00000bb) back when I try
to set one on my test machine. Setup is:
W2K3 server SP2
Filesystem on the drives is NTFS
This is running under:
VMware Server 1.0.1 build-29996
Virtual drives are SCSI
The call:
//this is basically straight out of the ctx example (specifically the
callback_data->Iopb->TargetInstance)
status = FltSetStreamContext
(callback_data->Iopb->TargetInstance,
callback_data->Iopb->TargetFileObject,
FLT_SET_CONTEXT_KEEP_IF_EXISTS, t_context,
NULL);
The registration:
{ FLT_STREAM_CONTEXT, 0, eh_stream_context_destructor,
sizeof(eh_stream_context), MY_HSM_MEMORY_TAG,
NULL, NULL, NULL },
Anybody have any idea what’s going on? If you need more info, I’ll be
happy to get it for you.
Thanks,
~Eric
NTFSD is sponsored by OSR
For our schedule debugging and file system seminars
(including our new fs mini-filter seminar) visit:
http://www.osr.com/seminars
You are currently subscribed to ntfsd as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
–
Kind regards, Dejan (MSN support: xxxxx@alfasp.com)
http://www.alfasp.com
File system audit, security and encryption kits.
Well, I’m making the call in the postCreate callback, but the FsContext field is NULL. I’m going to guess that this is because my postCreate gets called when STATUS_REPARSE is returned from below? Does that sound reasonable?
The general plan is that I grab the RP data, filename, and a few other pieces of info and cache them somewhere for future use (formerly a hash-table, am switching to a stream context), then reissue the create with FILE_OPEN_REPARSE_POINT ORed onto it. Things proceed until I need to recall the file, and then I can use the cached information in the RP to do that.
Hi,
do you check if its not failed operation?
Jan
wrote in message news:xxxxx@ntfsd…
> Well, I’m making the call in the postCreate callback, but the FsContext
field is NULL. I’m going to guess that this is because my postCreate gets
called when STATUS_REPARSE is returned from below? Does that sound
reasonable?
>
> The general plan is that I grab the RP data, filename, and a few other
pieces of info and cache them somewhere for future use (formerly a
hash-table, am switching to a stream context), then reissue the create with
FILE_OPEN_REPARSE_POINT ORed onto it. Things proceed until I need to recall
the file, and then I can use the cached information in the RP to do that.
>
They are plain files, not the pagefile or hiberfil. I’m setting the reparse points on regular files myself for testing.
The original create comes back up with STATUS_REPARSE on it, which is a
success status code. I try to set the Stream Context before I reissue
the create, because I don’t see the reissued IO (because it doesn’t come
back up with STATUS_REPARSE, instead it comes back up with whatever
appropriate status the drivers below me return).
I suppose the next thing to try is to see if I can make an FltCreateFile
on the same file with FILE_OPEN_REPARSE_POINT, and try to set the stream
context on that, then FltClose the new handle after I reissue the
original create. Hopefully, that’ll cause the context to stick. If
not, I have a feeling there will be further gyrations involved in
getting this to work…
~Eric
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jan Milan
Sent: Thursday, January 17, 2008 11:44 AM
To: Windows File Systems Devs Interest List
Subject: Re:[ntfsd] FltSetStreamContext failing with
STATUS_NOT_SUPPORTED on NTFS.
Hi,
do you check if its not failed operation?
Jan
wrote in message news:xxxxx@ntfsd…
> Well, I’m making the call in the postCreate callback, but the
> FsContext
field is NULL. I’m going to guess that this is because my postCreate
gets called when STATUS_REPARSE is returned from below? Does that sound
reasonable?
>
> The general plan is that I grab the RP data, filename, and a few other
pieces of info and cache them somewhere for future use (formerly a
hash-table, am switching to a stream context), then reissue the create
with FILE_OPEN_REPARSE_POINT ORed onto it. Things proceed until I need
to recall the file, and then I can use the cached information in the RP
to do that.
>
—
NTFSD is sponsored by OSR
For our schedule debugging and file system seminars (including our new
fs mini-filter seminar) visit:
http://www.osr.com/seminars
You are currently subscribed to ntfsd as: xxxxx@edsiohio.com To
unsubscribe send a blank email to xxxxx@lists.osr.com
If the file system returns STATUS_REPARSE, the file object is not valid. You
should treat it as not success or reissue the request without OPEN_REPARSE.
“Eric Diven” wrote in message news:xxxxx@ntfsd…
The original create comes back up with STATUS_REPARSE on it, which is a
success status code. I try to set the Stream Context before I reissue
the create, because I don’t see the reissued IO (because it doesn’t come
back up with STATUS_REPARSE, instead it comes back up with whatever
appropriate status the drivers below me return).
I suppose the next thing to try is to see if I can make an FltCreateFile
on the same file with FILE_OPEN_REPARSE_POINT, and try to set the stream
context on that, then FltClose the new handle after I reissue the
original create. Hopefully, that’ll cause the context to stick. If
not, I have a feeling there will be further gyrations involved in
getting this to work…
~Eric
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jan Milan
Sent: Thursday, January 17, 2008 11:44 AM
To: Windows File Systems Devs Interest List
Subject: Re:[ntfsd] FltSetStreamContext failing with
STATUS_NOT_SUPPORTED on NTFS.
Hi,
do you check if its not failed operation?
Jan
wrote in message news:xxxxx@ntfsd…
> Well, I’m making the call in the postCreate callback, but the
> FsContext
field is NULL. I’m going to guess that this is because my postCreate
gets called when STATUS_REPARSE is returned from below? Does that sound
reasonable?
>
> The general plan is that I grab the RP data, filename, and a few other
pieces of info and cache them somewhere for future use (formerly a
hash-table, am switching to a stream context), then reissue the create
with FILE_OPEN_REPARSE_POINT ORed onto it. Things proceed until I need
to recall the file, and then I can use the cached information in the RP
to do that.
>
—
NTFSD is sponsored by OSR
For our schedule debugging and file system seminars (including our new
fs mini-filter seminar) visit:
http://www.osr.com/seminars
You are currently subscribed to ntfsd as: xxxxx@edsiohio.com To
unsubscribe send a blank email to xxxxx@lists.osr.com