MiniFilter Communication Port

hi,

My MiniFilter creates communication-port (FltCreateCommunicationPort) and waits for user’s connections . when the user connects - i would like to pass some data-structures (from kernel to user) . i tried to send data (FltSendMessage) from within the “ConnectNotifyCallback” , but it fails (which is very rational , the connection hasn’t established yet…) .

Now, i know that i can respond to a client message (FilterSendMessage) and reply with the data-structures, but i wonder if there’s another way .
i was thinking about system-thread or DPC , any other ideas ?

thnx,
zvika

workaround: when user-mode application will connect with all ports to your
driver, let it send a message (somehing like “init_done”), then it may send
msgs to your app
if you use the same communication scheme like in scanner example, send it
from its listening thread

wrote in message news:xxxxx@ntfsd…
> hi,
>
> My MiniFilter creates communication-port (FltCreateCommunicationPort) and
> waits for user’s connections . when the user connects - i would like to
> pass some data-structures (from kernel to user) . i tried to send data
> (FltSendMessage) from within the “ConnectNotifyCallback” , but it fails
> (which is very rational , the connection hasn’t established yet…) .
>
> Now, i know that i can respond to a client message (FilterSendMessage) and
> reply with the data-structures, but i wonder if there’s another way .
> i was thinking about system-thread or DPC , any other ideas ?
>
> thnx,
> zvika
>
>

Thnx for the reply.
Actually, i’ve been using for a while the method you’ve suggested, but it means that :

  1. it’s up to the client to start the “handshake-process” (sometimes the server is required to start…)
  2. the ConnectNotifyCallback has to check for this “init_done” ON EACH client-message… (or use a flag like “init_required”…)

Anyhow, i don’t think there’s another solution , so i’ll stay with the current method.

tnx.

On Sat 13 Jan 18:00 2007 Petr Kurtin wrote:

workaround: when user-mode application will connect with all ports to your
driver, let it send a message (somehing like “init_done”), then it may send
msgs to your app
if you use the same communication scheme like in scanner example, send it
from its listening thread

wrote in message news:xxxxx@ntfsd…
> > hi,
> >
> > My MiniFilter creates communication-port (FltCreateCommunicationPort) and
> > waits for user’s connections . when the user connects - i would like to
> > pass some data-structures (frm kernel to user) . i tried to send data
> > (FltSendMessage) from within the “ConnectNotifyCallback” , but it fails
> > (which is very rational , the connection hasn’t established yet…) .
> >
> > Now, i know that i can respond to a client message (FilterSendMessage) and
> > reply with the data-structures, but i wonder if there’s another way .
> > i was thinking about system-thread or DPC , any other ideas ?
> >
> > thnx,
> > zvika
> >
> >
>
>
> —
> Questions? First check the IFS FAQ at https://www.osronline.com/article.cfm?id=17
>
> You are currently subscribed to ntfsd as: ferents@cs.bgu.ac.il
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>