FltIsDirectory returns STATUS_NOT_SUPPORTED

I am calling FltIsDirectory in PostCreate and it sometimes succeeds and
sometimes fails with STATUS_NOT_SUPPORTED. I have checked and the good
calls and bad calls are happening on the same volume. I dont see how this
is possible since the docs say: “STATUS_NOT_SUPPORTED The file system does
not support stream contexts. This is an error code.”

How could one volume sometimes support stream contexts and not support it
other times?

This call only works if you’ve got a file object that has been
initialized by the file system. Make sure that the CREATE succeeded in
a way that initializes the file object (i.e., FileObject->FsContext !=
NULL).

Regards,
Molly Brown
Microsoft Corporation

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

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Mark Hahn
Sent: Wednesday, March 30, 2005 10:07 AM
To: Windows File Systems Devs Interest List
Subject: [ntfsd] FltIsDirectory returns STATUS_NOT_SUPPORTED

I am calling FltIsDirectory in PostCreate and it sometimes succeeds and
sometimes fails with STATUS_NOT_SUPPORTED. I have checked and the good
calls and bad calls are happening on the same volume. I dont see how
this is possible since the docs say: “STATUS_NOT_SUPPORTED The file
system does not support stream contexts. This is an error code.”

How could one volume sometimes support stream contexts and not support
it other times?


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Yes, that was my problem.

Am I posting to much here (being a PITA)? Should I avoid pointing out doc
problems like this one?

“Molly Brown” wrote in message
news:xxxxx@ntfsd…
This call only works if you’ve got a file object that has been
initialized by the file system. Make sure that the CREATE succeeded in
a way that initializes the file object (i.e., FileObject->FsContext !=
NULL).

Regards,
Molly Brown
Microsoft Corporation

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

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Mark Hahn
Sent: Wednesday, March 30, 2005 10:07 AM
To: Windows File Systems Devs Interest List
Subject: [ntfsd] FltIsDirectory returns STATUS_NOT_SUPPORTED

I am calling FltIsDirectory in PostCreate and it sometimes succeeds and
sometimes fails with STATUS_NOT_SUPPORTED. I have checked and the good
calls and bad calls are happening on the same volume. I dont see how
this is possible since the docs say: “STATUS_NOT_SUPPORTED The file
system does not support stream contexts. This is an error code.”

How could one volume sometimes support stream contexts and not support
it other times?


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Furthermore, there is nothing that requires a file system initialize (or
support) stream contexts on ALL files - it might choose to only support
it on SOME file objects. While we can talk about how the current file
systems work, it would be unwise to assume your filter will never be
used with 3rd party file systems, or with file systems that do not
create stream contexts for everything.

The paging file for example, is typically not initialized in a way to
support stream contexts. Some versions of FAT have not supported stream
contexts on file objects open against the volume. I’m sure we can come
up with other cases as well.

Regards,

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

Looking forward to seeing you at the Next OSR File Systems Class April
4, 2005 in Boston!

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Molly Brown
Sent: Wednesday, March 30, 2005 1:32 PM
To: ntfsd redirect
Subject: RE: [ntfsd] FltIsDirectory returns STATUS_NOT_SUPPORTED

This call only works if you’ve got a file object that has been
initialized by the file system. Make sure that the CREATE succeeded in
a way that initializes the file object (i.e., FileObject->FsContext !=
NULL).

Regards,
Molly Brown
Microsoft Corporation

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

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Mark Hahn
Sent: Wednesday, March 30, 2005 10:07 AM
To: Windows File Systems Devs Interest List
Subject: [ntfsd] FltIsDirectory returns STATUS_NOT_SUPPORTED

I am calling FltIsDirectory in PostCreate and it sometimes succeeds and
sometimes fails with STATUS_NOT_SUPPORTED. I have checked and the good
calls and bad calls are happening on the same volume. I dont see how
this is possible since the docs say: “STATUS_NOT_SUPPORTED The file
system does not support stream contexts. This is an error code.”

How could one volume sometimes support stream contexts and not support
it other times?


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Molly, et al, I have a couple issues with this…

  1. There should be a much better error code for calling FltIsDirectory on
    an unopened file object.
  2. FltIsDirectory should work on any opened file object. If per stream
    contexts are not supported, query basic info, or just return false if
    FsRtlIsPagingFile is true.
  • Dan.

At 10:46 AM 3/30/2005 -0800, Mark Hahn wrote:

Yes, that was my problem.

Am I posting to much here (being a PITA)? Should I avoid pointing out doc
problems like this one?

“Molly Brown” wrote in message
>news:xxxxx@ntfsd…
>This call only works if you’ve got a file object that has been
>initialized by the file system. Make sure that the CREATE succeeded in
>a way that initializes the file object (i.e., FileObject->FsContext !=
>NULL).
>
>Regards,
>Molly Brown
>Microsoft Corporation
>
>This posting is provided “AS IS” with no warranties and confers no
>rights.
>
>-----Original Message-----
>From: xxxxx@lists.osr.com
>[mailto:xxxxx@lists.osr.com] On Behalf Of Mark Hahn
>Sent: Wednesday, March 30, 2005 10:07 AM
>To: Windows File Systems Devs Interest List
>Subject: [ntfsd] FltIsDirectory returns STATUS_NOT_SUPPORTED
>
>I am calling FltIsDirectory in PostCreate and it sometimes succeeds and
>sometimes fails with STATUS_NOT_SUPPORTED. I have checked and the good
>calls and bad calls are happening on the same volume. I dont see how
>this is possible since the docs say: “STATUS_NOT_SUPPORTED The file
>system does not support stream contexts. This is an error code.”
>
>How could one volume sometimes support stream contexts and not support
>it other times?
>
>
>
>—
>Questions? First check the IFS FAQ at
>https://www.osronline.com/article.cfm?id=17
>
>You are currently subscribed to ntfsd as: xxxxx@windows.microsoft.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>
>
>—
>Questions? First check the IFS FAQ at
>https://www.osronline.com/article.cfm?id=17
>
>You are currently subscribed to ntfsd as: xxxxx@privtek.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com

> it would be unwise to assume your filter will never be used with 3rd

party file systems

I can state in my product requirements that it only works with NTFS. It
should always work in NTFS except for paging files, right? Is there a way
to tell in a mini-filter that I’m dealing with a paging file so I can ignore
those errors?

If I did want to support other file systems how could I determine whether a
callback is for a directory or not?

“Tony Mason” wrote in message news:xxxxx@ntfsd…
Furthermore, there is nothing that requires a file system initialize (or
support) stream contexts on ALL files - it might choose to only support
it on SOME file objects. While we can talk about how the current file
systems work, it would be unwise to assume your filter will never be
used with 3rd party file systems, or with file systems that do not
create stream contexts for everything.

The paging file for example, is typically not initialized in a way to
support stream contexts. Some versions of FAT have not supported stream
contexts on file objects open against the volume. I’m sure we can come
up with other cases as well.

Regards,

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

Looking forward to seeing you at the Next OSR File Systems Class April
4, 2005 in Boston!

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Molly Brown
Sent: Wednesday, March 30, 2005 1:32 PM
To: ntfsd redirect
Subject: RE: [ntfsd] FltIsDirectory returns STATUS_NOT_SUPPORTED

This call only works if you’ve got a file object that has been
initialized by the file system. Make sure that the CREATE succeeded in
a way that initializes the file object (i.e., FileObject->FsContext !=
NULL).

Regards,
Molly Brown
Microsoft Corporation

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

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Mark Hahn
Sent: Wednesday, March 30, 2005 10:07 AM
To: Windows File Systems Devs Interest List
Subject: [ntfsd] FltIsDirectory returns STATUS_NOT_SUPPORTED

I am calling FltIsDirectory in PostCreate and it sometimes succeeds and
sometimes fails with STATUS_NOT_SUPPORTED. I have checked and the good
calls and bad calls are happening on the same volume. I dont see how
this is possible since the docs say: “STATUS_NOT_SUPPORTED The file
system does not support stream contexts. This is an error code.”

How could one volume sometimes support stream contexts and not support
it other times?


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Previously Neal said this is a good place to post doc
problems. So post them all :slight_smile:

— Mark Hahn wrote:
> Should I
> avoid pointing out doc
> problems like this one?

Mark,

Yes, you can ignore this error on NTFS because you will only get it for
paging files or if the create failed.

If you are processing a CREATE IRP look for the SL_OPEN_PAGING_FILE
flag. If you are processing any other operation call FsRtlIsPagingFile.

If you want to support 3rd party file systems and are concerned that
this API may not work then you can do it the same way the filter manager
does, generate a query file information IRP and request
standardInformation.

The advantage of the filter manager API is that the information is
cached so overall it should have less impact on the system.

Neal Christiansen
Microsoft File System Filter Group Lead
This posting is provided “AS IS” with no warranties, and confers no
Rights

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Mark Hahn
Sent: Wednesday, March 30, 2005 11:09 AM
To: Windows File Systems Devs Interest List
Subject: Re:[ntfsd] FltIsDirectory returns STATUS_NOT_SUPPORTED

it would be unwise to assume your filter will never be used with 3rd
party file systems

I can state in my product requirements that it only works with NTFS. It

should always work in NTFS except for paging files, right? Is there a
way
to tell in a mini-filter that I’m dealing with a paging file so I can
ignore
those errors?

If I did want to support other file systems how could I determine
whether a
callback is for a directory or not?

“Tony Mason” wrote in message news:xxxxx@ntfsd…
Furthermore, there is nothing that requires a file system initialize (or
support) stream contexts on ALL files - it might choose to only support
it on SOME file objects. While we can talk about how the current file
systems work, it would be unwise to assume your filter will never be
used with 3rd party file systems, or with file systems that do not
create stream contexts for everything.

The paging file for example, is typically not initialized in a way to
support stream contexts. Some versions of FAT have not supported stream
contexts on file objects open against the volume. I’m sure we can come
up with other cases as well.

Regards,

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

Looking forward to seeing you at the Next OSR File Systems Class April
4, 2005 in Boston!

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Molly Brown
Sent: Wednesday, March 30, 2005 1:32 PM
To: ntfsd redirect
Subject: RE: [ntfsd] FltIsDirectory returns STATUS_NOT_SUPPORTED

This call only works if you’ve got a file object that has been
initialized by the file system. Make sure that the CREATE succeeded in
a way that initializes the file object (i.e., FileObject->FsContext !=
NULL).

Regards,
Molly Brown
Microsoft Corporation

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

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Mark Hahn
Sent: Wednesday, March 30, 2005 10:07 AM
To: Windows File Systems Devs Interest List
Subject: [ntfsd] FltIsDirectory returns STATUS_NOT_SUPPORTED

I am calling FltIsDirectory in PostCreate and it sometimes succeeds and
sometimes fails with STATUS_NOT_SUPPORTED. I have checked and the good
calls and bad calls are happening on the same volume. I dont see how
this is possible since the docs say: “STATUS_NOT_SUPPORTED The file
system does not support stream contexts. This is an error code.”

How could one volume sometimes support stream contexts and not support
it other times?


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Dan,

  1. NTFS returns INVALID_PARAMETER when you do a call with an unopened
    file. I am not sure STATUS_NOT_SUPPORTED is any worse.

  2. I agree with you. I have filed an enhancement request to fix this.

Neal Christiansen
Microsoft File System Filter Group Lead
This posting is provided “AS IS” with no warranties, and confers no
Rights

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Dan Kyler
Sent: Wednesday, March 30, 2005 11:07 AM
To: Windows File Systems Devs Interest List
Subject: Re:[ntfsd] FltIsDirectory returns STATUS_NOT_SUPPORTED

Molly, et al, I have a couple issues with this…

  1. There should be a much better error code for calling FltIsDirectory
    on
    an unopened file object.
  2. FltIsDirectory should work on any opened file object. If per stream
    contexts are not supported, query basic info, or just return false if
    FsRtlIsPagingFile is true.
  • Dan.

At 10:46 AM 3/30/2005 -0800, Mark Hahn wrote:

Yes, that was my problem.

Am I posting to much here (being a PITA)? Should I avoid pointing out
doc
problems like this one?

“Molly Brown” wrote in message
>news:xxxxx@ntfsd…
>This call only works if you’ve got a file object that has been
>initialized by the file system. Make sure that the CREATE succeeded in
>a way that initializes the file object (i.e., FileObject->FsContext !=
>NULL).
>
>Regards,
>Molly Brown
>Microsoft Corporation
>
>This posting is provided “AS IS” with no warranties and confers no
>rights.
>
>-----Original Message-----
>From: xxxxx@lists.osr.com
>[mailto:xxxxx@lists.osr.com] On Behalf Of Mark Hahn
>Sent: Wednesday, March 30, 2005 10:07 AM
>To: Windows File Systems Devs Interest List
>Subject: [ntfsd] FltIsDirectory returns STATUS_NOT_SUPPORTED
>
>I am calling FltIsDirectory in PostCreate and it sometimes succeeds and
>sometimes fails with STATUS_NOT_SUPPORTED. I have checked and the good
>calls and bad calls are happening on the same volume. I dont see how
>this is possible since the docs say: “STATUS_NOT_SUPPORTED The file
>system does not support stream contexts. This is an error code.”
>
>How could one volume sometimes support stream contexts and not support
>it other times?
>
>
>
>—
>Questions? First check the IFS FAQ at
>https://www.osronline.com/article.cfm?id=17
>
>You are currently subscribed to ntfsd as:
xxxxx@windows.microsoft.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>
>
>—
>Questions? First check the IFS FAQ at
>https://www.osronline.com/article.cfm?id=17
>
>You are currently subscribed to ntfsd as: xxxxx@privtek.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Going forward it is going to be a requirement for all 3rd party file
system to support the ADVANCED_FCB_HEADER and PerStream contexts and we
expect them to support it on all files except paging files (though 3rd
party file systems don’t usually support paging files).

If anyone has a 3rd party file system and has not taken care of this
yet, please start now to address this issue.

Neal Christiansen
Microsoft File System Filter Group Lead
This posting is provided “AS IS” with no warranties, and confers no
Rights

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Tony Mason
Sent: Wednesday, March 30, 2005 10:49 AM
To: Windows File Systems Devs Interest List
Subject: RE: [ntfsd] FltIsDirectory returns STATUS_NOT_SUPPORTED

Furthermore, there is nothing that requires a file system initialize (or
support) stream contexts on ALL files - it might choose to only support
it on SOME file objects. While we can talk about how the current file
systems work, it would be unwise to assume your filter will never be
used with 3rd party file systems, or with file systems that do not
create stream contexts for everything.

The paging file for example, is typically not initialized in a way to
support stream contexts. Some versions of FAT have not supported stream
contexts on file objects open against the volume. I’m sure we can come
up with other cases as well.

Regards,

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

Looking forward to seeing you at the Next OSR File Systems Class April
4, 2005 in Boston!

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Molly Brown
Sent: Wednesday, March 30, 2005 1:32 PM
To: ntfsd redirect
Subject: RE: [ntfsd] FltIsDirectory returns STATUS_NOT_SUPPORTED

This call only works if you’ve got a file object that has been
initialized by the file system. Make sure that the CREATE succeeded in
a way that initializes the file object (i.e., FileObject->FsContext !=
NULL).

Regards,
Molly Brown
Microsoft Corporation

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

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Mark Hahn
Sent: Wednesday, March 30, 2005 10:07 AM
To: Windows File Systems Devs Interest List
Subject: [ntfsd] FltIsDirectory returns STATUS_NOT_SUPPORTED

I am calling FltIsDirectory in PostCreate and it sometimes succeeds and
sometimes fails with STATUS_NOT_SUPPORTED. I have checked and the good
calls and bad calls are happening on the same volume. I dont see how
this is possible since the docs say: “STATUS_NOT_SUPPORTED The file
system does not support stream contexts. This is an error code.”

How could one volume sometimes support stream contexts and not support
it other times?


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com