It seems that Microsoft staff are too busy to answer minifilter related
questions. Hopefully other members in this community can share your
knowledge or experience.
My minifilter needs to call a user mode service to restore a file from tape.
It may take very long time. If I call FltSendMessage with indefinite
time-out value, the thread should be held by the function and there is no
chance to return FLT_POSTOP_MORE_PROCESSING_REQUIRED during waiting period.
Does this cause the IO Manager timeout?
Another choice is to use asynchronous communication between the filter and
the service. After a request is sent to the user mode service,
FltSendMessage returns immediately and later a callback routine of filter
will be started after a user mode function call FilterSendMessage. This
approach is more complicated than the first one.
Any help is appreciated.
Regards,
Shangwu
There is not an async version of FltSendMessage() currently. While this
can be potentially added in the future, I would recommend the following.
Let your user mode service do as many FltGetMessage() calls as you can
afford, polling an associated completion port to queue more. In your
driver, you can use a small time out - and if the time out is hit,
obviously your user mode service is not responding for some reason, so
you can abandon what you were trying to do and return an error to the
caller.
Ravi
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Shangwu
Sent: Wednesday, April 27, 2005 11:39 AM
To: Windows File Systems Devs Interest List
Subject: [ntfsd] use FltSendMessage or asynchronous communication
It seems that Microsoft staff are too busy to answer minifilter related
questions. Hopefully other members in this community can share your
knowledge or experience.
My minifilter needs to call a user mode service to restore a file from
tape.
It may take very long time. If I call FltSendMessage with indefinite
time-out value, the thread should be held by the function and there is
no chance to return FLT_POSTOP_MORE_PROCESSING_REQUIRED during waiting
period.
Does this cause the IO Manager timeout?
Another choice is to use asynchronous communication between the filter
and the service. After a request is sent to the user mode service,
FltSendMessage returns immediately and later a callback routine of
filter will be started after a user mode function call
FilterSendMessage. This approach is more complicated than the first one.
Any help is appreciated.
Regards,
Shangwu
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
Ravi,
Thanks for the information. It seems like that I still need to maintain a
callback-data list for waiting requests in the filter and implement the
asynchronous approach by registering a message notification callback routine
when a completion port is opened by the filter.
Regards,
Shangwu
“Ravisankar Pudipeddi” wrote in message
news:xxxxx@ntfsd…
There is not an async version of FltSendMessage() currently. While this
can be potentially added in the future, I would recommend the following.
Let your user mode service do as many FltGetMessage() calls as you can
afford, polling an associated completion port to queue more. In your
driver, you can use a small time out - and if the time out is hit,
obviously your user mode service is not responding for some reason, so
you can abandon what you were trying to do and return an error to the
caller.
Ravi
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Shangwu
Sent: Wednesday, April 27, 2005 11:39 AM
To: Windows File Systems Devs Interest List
Subject: [ntfsd] use FltSendMessage or asynchronous communication
It seems that Microsoft staff are too busy to answer minifilter related
questions. Hopefully other members in this community can share your
knowledge or experience.
My minifilter needs to call a user mode service to restore a file from
tape.
It may take very long time. If I call FltSendMessage with indefinite
time-out value, the thread should be held by the function and there is
no chance to return FLT_POSTOP_MORE_PROCESSING_REQUIRED during waiting
period.
Does this cause the IO Manager timeout?
Another choice is to use asynchronous communication between the filter
and the service. After a request is sent to the user mode service,
FltSendMessage returns immediately and later a callback routine of
filter will be started after a user mode function call
FilterSendMessage. This approach is more complicated than the first one.
Any help is appreciated.
Regards,
Shangwu
—
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
I didn’t fully understand your response. Completion Port !=
Communication Port
I recommend taking a look at the scanner sample for getting this right.
Ravi
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Shangwu
Sent: Wednesday, April 27, 2005 1:02 PM
To: Windows File Systems Devs Interest List
Subject: Re:[ntfsd] use FltSendMessage or asynchronous communication
Ravi,
Thanks for the information. It seems like that I still need to maintain
a callback-data list for waiting requests in the filter and implement
the asynchronous approach by registering a message notification callback
routine when a completion port is opened by the filter.
Regards,
Shangwu
“Ravisankar Pudipeddi” wrote in message
news:xxxxx@ntfsd…
There is not an async version of FltSendMessage() currently. While this
can be potentially added in the future, I would recommend the following.
Let your user mode service do as many FltGetMessage() calls as you can
afford, polling an associated completion port to queue more. In your
driver, you can use a small time out - and if the time out is hit,
obviously your user mode service is not responding for some reason, so
you can abandon what you were trying to do and return an error to the
caller.
Ravi
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Shangwu
Sent: Wednesday, April 27, 2005 11:39 AM
To: Windows File Systems Devs Interest List
Subject: [ntfsd] use FltSendMessage or asynchronous communication
It seems that Microsoft staff are too busy to answer minifilter related
questions. Hopefully other members in this community can share your
knowledge or experience.
My minifilter needs to call a user mode service to restore a file from
tape.
It may take very long time. If I call FltSendMessage with indefinite
time-out value, the thread should be held by the function and there is
no chance to return FLT_POSTOP_MORE_PROCESSING_REQUIRED during waiting
period.
Does this cause the IO Manager timeout?
Another choice is to use asynchronous communication between the filter
and the service. After a request is sent to the user mode service,
FltSendMessage returns immediately and later a callback routine of
filter will be started after a user mode function call
FilterSendMessage. This approach is more complicated than the first one.
Any help is appreciated.
Regards,
Shangwu
—
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@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
I mean communication port. Yes I am writing my code based on the scanner
sample.
Regards,
Shangwu
“Ravisankar Pudipeddi” wrote in message
news:xxxxx@ntfsd…
I didn’t fully understand your response. Completion Port !=
Communication Port
I recommend taking a look at the scanner sample for getting this right.
Ravi
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Shangwu
Sent: Wednesday, April 27, 2005 1:02 PM
To: Windows File Systems Devs Interest List
Subject: Re:[ntfsd] use FltSendMessage or asynchronous communication
Ravi,
Thanks for the information. It seems like that I still need to maintain
a callback-data list for waiting requests in the filter and implement
the asynchronous approach by registering a message notification callback
routine when a completion port is opened by the filter.
Regards,
Shangwu
“Ravisankar Pudipeddi” wrote in message
news:xxxxx@ntfsd…
There is not an async version of FltSendMessage() currently. While this
can be potentially added in the future, I would recommend the following.
Let your user mode service do as many FltGetMessage() calls as you can
afford, polling an associated completion port to queue more. In your
driver, you can use a small time out - and if the time out is hit,
obviously your user mode service is not responding for some reason, so
you can abandon what you were trying to do and return an error to the
caller.
Ravi
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Shangwu
Sent: Wednesday, April 27, 2005 11:39 AM
To: Windows File Systems Devs Interest List
Subject: [ntfsd] use FltSendMessage or asynchronous communication
It seems that Microsoft staff are too busy to answer minifilter related
questions. Hopefully other members in this community can share your
knowledge or experience.
My minifilter needs to call a user mode service to restore a file from
tape.
It may take very long time. If I call FltSendMessage with indefinite
time-out value, the thread should be held by the function and there is
no chance to return FLT_POSTOP_MORE_PROCESSING_REQUIRED during waiting
period.
Does this cause the IO Manager timeout?
Another choice is to use asynchronous communication between the filter
and the service. After a request is sent to the user mode service,
FltSendMessage returns immediately and later a callback routine of
filter will be started after a user mode function call
FilterSendMessage. This approach is more complicated than the first one.
Any help is appreciated.
Regards,
Shangwu
—
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@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com