Wild cards and FSDs

I have never written fsds but I am curious about one thing, how would a fsd deal with a wild card operation (eg copy *.txt c:, etc.)?

How would the system break this operation into calls to the driver. Since the driver recieves path to a file ‘*.txt’, what should it do, because if it fails the call with a file not found, the calls would just stop.

Thanks for any answers.


How low will we go? Check out Yahoo! Messenger’s low PC-to-Phone call rates.

Standard file system drivers never satisfy requests to open files with the ‘*’ in the name, this requests will be failed. Only some FSD’s information requests( such as FILE_DIRECTORY_INFORMATION ) can contain ‘*’ in the search pattern.
“adam darmanin” wrote in message news:xxxxx@ntfsd…
I have never written fsds but I am curious about one thing, how would a fsd deal with a wild card operation (eg copy .txt c:, etc.)?

How would the system break this operation into calls to the driver. Since the driver recieves path to a file '
.txt’, what should it do, because if it fails the call with a file not found, the calls would just stop.

Thanks for any answers.

------------------------------------------------------------------------------
How low will we go? Check out Yahoo! Messenger’s low PC-to-Phone call rates.

Each file is opened separately for reading and written to the destination.

The only wildcard support on FSD level is in FindFirst/NextFile path -
MJ_DIRECTORY_CONTROL. Look at FASTFAT source.

FsRtlIsNameInExpression is the usual routine for matching filenames against
the wildcard.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From: “adam darmanin”
To: “Windows File Systems Devs Interest List”
Sent: Friday, May 26, 2006 12:44 PM
Subject: [ntfsd] Wild cards and FSDs

> I have never written fsds but I am curious about one thing, how would a fsd
deal with a wild card operation (eg copy .txt c:, etc.)?
>
> How would the system break this operation into calls to the driver. Since
the driver recieves path to a file '
.txt’, what should it do, because if it
fails the call with a file not found, the calls would just stop.
>
> Thanks for any answers.
>
>
> ---------------------------------
> How low will we go? Check out Yahoo! Messenger’s low PC-to-Phone call rates.
> —
> Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17
>
> You are currently subscribed to ntfsd as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com

Wild card parsing is the job of the shell :). Hopefully this should be
fundamental to Windows too as is to *NIX.

On 5/26/06, Maxim S. Shatskih wrote:
>
> Each file is opened separately for reading and written to the
> destination.
>
> The only wildcard support on FSD level is in FindFirst/NextFile path -
> MJ_DIRECTORY_CONTROL. Look at FASTFAT source.
>
> FsRtlIsNameInExpression is the usual routine for matching filenames
> against
> the wildcard.
>
> Maxim Shatskih, Windows DDK MVP
> StorageCraft Corporation
> xxxxx@storagecraft.com
> http://www.storagecraft.com
>
> ----- Original Message -----
> From: “adam darmanin”
> To: “Windows File Systems Devs Interest List”
> Sent: Friday, May 26, 2006 12:44 PM
> Subject: [ntfsd] Wild cards and FSDs
>
>
> > I have never written fsds but I am curious about one thing, how would a
> fsd
> deal with a wild card operation (eg copy .txt c:, etc.)?
> >
> > How would the system break this operation into calls to the
> driver. Since
> the driver recieves path to a file '
.txt’, what should it do, because if
> it
> fails the call with a file not found, the calls would just stop.
> >
> > Thanks for any answers.
> >
> >
> > ---------------------------------
> > How low will we go? Check out Yahoo! Messenger’s low PC-to-Phone call
> rates.
> > —
> > Questions? First check the IFS FAQ at
> https://www.osronline.com/article.cfm?id=17
> >
> > You are currently subscribed to ntfsd as: xxxxx@storagecraft.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@gmail.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>

>Wild card parsing is the job of the shell :). Hopefully this should be

fundamental to Windows too as is to *NIX.

Not so in Windows. Wildcard parsing in directory enumeration is done by the FSD
itself, and the user app (shell or not so) just provides a wildcard. Look at
FindFirstFile call - it has a parameter for a wildcard.

This allows to do the wildcard matching on dir enum on a server (not client)
for SMB filesystem.

Surely nothing stops you from using UNIX semantics in Windows, just pass no
wildcard to FindFirstFile :slight_smile:

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

Great;
Just saw the IRP_MJ_DIRECTORY_CONTROL for fastfat refering to
Ccb->ContainsWildCards = FsRtlDoesNameContainWildCards( UniArgFileName );.

Thanks for clearing the misconception. (will write a blog about it)

Faraz.

On 5/28/06, Maxim S. Shatskih wrote:
>
> >Wild card parsing is the job of the shell :). Hopefully this should be
> >fundamental to Windows too as is to *NIX.
>
> Not so in Windows. Wildcard parsing in directory enumeration is done by
> the FSD
> itself, and the user app (shell or not so) just provides a wildcard. Look
> at
> FindFirstFile call - it has a parameter for a wildcard.
>
> This allows to do the wildcard matching on dir enum on a server (not
> client)
> for SMB filesystem.
>
> Surely nothing stops you from using UNIX semantics in Windows, just pass
> no
> wildcard to FindFirstFile :slight_smile:
>
> Maxim Shatskih, Windows DDK MVP
> StorageCraft Corporation
> xxxxx@storagecraft.com
> http://www.storagecraft.com
>
>
> —
> Questions? First check the IFS FAQ at
> https://www.osronline.com/article.cfm?id=17
>
> You are currently subscribed to ntfsd as: xxxxx@gmail.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>