FltGetFileNameInformation() returns INVALID_DEVICE_REQUEST for named pipes.

Hi,

Which is the intended use for IRP_MJ_CREATE_NAMED_PIPE in filter manager
model?.

When i filter IRP_MJ_CREATE for LanMan redirector i usually see
\misha\PIPE\srvsvc and \misha\PIPE\wkssvc in
FltObjects->FileObject->FileName during preCreateCallback. For these
FileObjects FltGetFileNameInformation() returns
STATUS_INVALID_DEVICE_REQUEST in pre-create. Parameters for this call are
(FLT_FILE_NAME_NORMALIZED | FLT_FILE_NAME_QUERY_DEFAULT).

Is FltGetFileNameInformation() behavior the expected one for these
fileobjects?. Why i see these named pipe creation in IRP_MJ_CREATE when
there is a IRP_MJ_CREATE_NAMED_PIPE? Is there any other mode to detect named
pipe creation in pre-create apart from string comparison with \PIPE?

Thanks,
mK


Express yourself instantly with MSN Messenger! Download today it’s FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/

The filter manager sends the operation to the callback specified by the
IRP_MJ code in the original IRP. If you are seeing a name containing
“\PIPE”, I would expect that this is because the IRP sent to filter
manager also specified IRP_MJ_CREATE. I’d expect this CREATE to fail
since it is for a named pipe and not a file. In precreate, the name has
not yet been validated by the file system, so there is nothing
preventing the user from sending down an invalid name.

You cannot normalize a named pipe name. Try requesting the name with
FLT_FILE_NAME_OPENED | FLT_FILE_NAME_QUERY_DEFAULT instead.

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 Misha Karpin
Sent: Monday, February 21, 2005 7:35 AM
To: Windows File Systems Devs Interest List
Subject: [ntfsd] FltGetFileNameInformation() returns
INVALID_DEVICE_REQUEST for named pipes.

Hi,

Which is the intended use for IRP_MJ_CREATE_NAMED_PIPE in filter manager
model?.

When i filter IRP_MJ_CREATE for LanMan redirector i usually see
\misha\PIPE\srvsvc and \misha\PIPE\wkssvc in
FltObjects->FileObject->FileName during preCreateCallback. For these
FileObjects FltGetFileNameInformation() returns
STATUS_INVALID_DEVICE_REQUEST in pre-create. Parameters for this call
are (FLT_FILE_NAME_NORMALIZED | FLT_FILE_NAME_QUERY_DEFAULT).

Is FltGetFileNameInformation() behavior the expected one for these
fileobjects?. Why i see these named pipe creation in IRP_MJ_CREATE when
there is a IRP_MJ_CREATE_NAMED_PIPE? Is there any other mode to detect
named pipe creation in pre-create apart from string comparison with
\PIPE?

Thanks,
mK


Express yourself instantly with MSN Messenger! Download today it’s FREE!

http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/


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