From: Vishal on
Hi,

I am developing a mini filter using the Microsoft IFS kit. My mini
filter communicates with a user mode service which contains certain business
logic. I have written the user mode service as a Windows NT service. The
communication is done using the standard api's like
FltCreateCommunicationPort, FilterConnectCommunicationPort, FilterSendMessage
and FilterReplyMessage etc.

Can the user mode service (not necessarily an NT service) be written in
any other language such as Java? I mean, is it possible for the mini filter
to communicate with a user mode service written in any other language then
c++? Can the service written in other language such as Java, perl call the
functions FilterConnectCommunicationPort, FilterReplyMessage etc.?

Another approach could be that the user mode service written in Java can
some how connect to the communication port created by the mini filter and
read the raw data that is posted on it by the minifilter (assuming there is
some standard format for the data posted by the Windows api's)? Is this
feasible. (1st problem I face is I cannot connect to the port using its name
'\\TestPort').

I would choose Java so that my application is portable across other OS,
where I will just have to port the mini filter portion while the user mode
application remains the same.

Thanks in advance,
Vishal
From: Tim Roberts on
Vishal <Vishal(a)discussions.microsoft.com> wrote:
>
> I am developing a mini filter using the Microsoft IFS kit. My mini
>filter communicates with a user mode service which contains certain business
>logic. I have written the user mode service as a Windows NT service. The
>communication is done using the standard api's like
>FltCreateCommunicationPort, FilterConnectCommunicationPort, FilterSendMessage
>and FilterReplyMessage etc.
>
> Can the user mode service (not necessarily an NT service) be written in
>any other language such as Java? I mean, is it possible for the mini filter
>to communicate with a user mode service written in any other language then
>c++? Can the service written in other language such as Java, perl call the
>functions FilterConnectCommunicationPort, FilterReplyMessage etc.?

Of course. Those are just entry points in a DLL. As long as the language
can call out to a DLL, you're home free.

> I would choose Java so that my application is portable across other OS,
>where I will just have to port the mini filter portion while the user mode
>application remains the same.

You're going to need a pretty serious layer, aren't you? File system stuff
doesn't even pretend to be portable.
--
- Tim Roberts, timr(a)probo.com
Providenza & Boekelheide, Inc.
From: Vishal on
Thanks Tim for your reply. It was really helpful.

"Tim Roberts" wrote:

> Vishal <Vishal(a)discussions.microsoft.com> wrote:
> >
> > I am developing a mini filter using the Microsoft IFS kit. My mini
> >filter communicates with a user mode service which contains certain business
> >logic. I have written the user mode service as a Windows NT service. The
> >communication is done using the standard api's like
> >FltCreateCommunicationPort, FilterConnectCommunicationPort, FilterSendMessage
> >and FilterReplyMessage etc.
> >
> > Can the user mode service (not necessarily an NT service) be written in
> >any other language such as Java? I mean, is it possible for the mini filter
> >to communicate with a user mode service written in any other language then
> >c++? Can the service written in other language such as Java, perl call the
> >functions FilterConnectCommunicationPort, FilterReplyMessage etc.?
>
> Of course. Those are just entry points in a DLL. As long as the language
> can call out to a DLL, you're home free.
>
> > I would choose Java so that my application is portable across other OS,
> >where I will just have to port the mini filter portion while the user mode
> >application remains the same.
>
> You're going to need a pretty serious layer, aren't you? File system stuff
> doesn't even pretend to be portable.
> --
> - Tim Roberts, timr(a)probo.com
> Providenza & Boekelheide, Inc.
>