how to solve STATUS_MOUNT_POINT_NOT_RESOLVED

Hi All,

I have a filter driver that monitor activities on harddrive/USB drives when told by an external application. As part of monitoring the filter creates copies of files on C drive when files are copied on the monitored device. I have an issue when I copy the file from harddrive to USB. The filter cannot create the copy, the FltCreateFile function returns STATUS_MOUNT_POINT_NOT_RESOLVED.
Now I understand this is something to do with the instance parameter passed to FltCreateFile.
since the Instance is attached to USB (my guess) it cannot create the file on C drive.
How do I solve this problem? Do I need to store an instance for C drive and use it when I create file? Is there a better approach? The call to FltCreateFile() is made as below:

status = FltCreateFile(GetFltCtxFilter(),
FltObjects->Instance,
&handle,
GENERIC_WRITE,
&objectAttributes,
&ioStatusBlock,
NULL,
FILE_ATTRIBUTE_NORMAL,
FILE_SHARE_READ,
FILE_OVERWRITE_IF,
FILE_NO_INTERMEDIATE_BUFFERING|
FILE_SYNCHRONOUS_IO_NONALERT,
NULL,
0,
IO_FORCE_ACCESS_CHECK);

You should pass NULL for the instance parameter since you want this
request to go to the top of the stack on the other volume.

Neal Christiansen
Microsoft NTFS Development 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
xxxxx@yahoo.com
Sent: Monday, January 29, 2007 3:21 PM
To: Windows File Systems Devs Interest List
Subject: [ntfsd] how to solve STATUS_MOUNT_POINT_NOT_RESOLVED

Hi All,

I have a filter driver that monitor activities on harddrive/USB drives
when told by an external application. As part of monitoring the filter
creates copies of files on C drive when files are copied on the
monitored device. I have an issue when I copy the file from harddrive to
USB. The filter cannot create the copy, the FltCreateFile function
returns STATUS_MOUNT_POINT_NOT_RESOLVED.
Now I understand this is something to do with the instance parameter
passed to FltCreateFile.
since the Instance is attached to USB (my guess) it cannot create the
file on C drive.
How do I solve this problem? Do I need to store an instance for C drive
and use it when I create file? Is there a better approach? The call to
FltCreateFile() is made as below:

status = FltCreateFile(GetFltCtxFilter(),
FltObjects->Instance,
&handle,
GENERIC_WRITE,
&objectAttributes,
&ioStatusBlock,
NULL,
FILE_ATTRIBUTE_NORMAL,
FILE_SHARE_READ,
FILE_OVERWRITE_IF,
FILE_NO_INTERMEDIATE_BUFFERING|
FILE_SYNCHRONOUS_IO_NONALERT,
NULL,
0,
IO_FORCE_ACCESS_CHECK);


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