FltCloseCommunicationPort?

NTFSD Folk:

There’s a routine called “FltCloseCommunicationPort” which seems to close
the server communication port in a minifilter, with the server port as an
argument.

This routine doesn’t appear to be documented.

My question is: Does this cause a “graceful” shutdown of any open ports?
Specifically, will the DisconnectNotifyCallback routines be called for any
open connections?

Thanks,
Ken

No. This closes the server port handle: i.e. no more incoming
connections will be accepted. The handle passed in is for the port that
is used to listen for incoming connections. Existing connections will
not be affected.

To disconnect a specific connection from the filter, use
FltCloseClientPort().

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ken Cross
Sent: Wednesday, December 29, 2004 12:25 PM
To: Windows File Systems Devs Interest List
Subject: [ntfsd] FltCloseCommunicationPort?

NTFSD Folk:

There’s a routine called “FltCloseCommunicationPort” which seems to
close the server communication port in a minifilter, with the server
port as an argument.

This routine doesn’t appear to be documented.

My question is: Does this cause a “graceful” shutdown of any open
ports?
Specifically, will the DisconnectNotifyCallback routines be called for
any open connections?

Thanks,
Ken


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

They must be together, because FltCloseClientPort() isn’t documented,
either.

Could they both just be aliases for FltClosePort()? Or do I have old
documentation (3790.1228)?

Thanks,
Ken

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ravisankar Pudipeddi
Sent: Thursday, December 30, 2004 2:15 PM
To: Windows File Systems Devs Interest List
Subject: RE: [ntfsd] FltCloseCommunicationPort?

No. This closes the server port handle: i.e. no more incoming
connections will be accepted. The handle passed in is for the port that
is used to listen for incoming connections. Existing connections will
not be affected.

To disconnect a specific connection from the filter, use
FltCloseClientPort().

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ken Cross
Sent: Wednesday, December 29, 2004 12:25 PM
To: Windows File Systems Devs Interest List
Subject: [ntfsd] FltCloseCommunicationPort?

NTFSD Folk:

There’s a routine called “FltCloseCommunicationPort” which seems to
close the server communication port in a minifilter, with the server
port as an argument.

This routine doesn’t appear to be documented.

My question is: Does this cause a “graceful” shutdown of any open
ports?
Specifically, will the DisconnectNotifyCallback routines be called for
any open connections?

Thanks,
Ken


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: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Ken,

These routines are not just aliases for FltClosePort. There was some
confusion around the usage of FltClosePort so we changed the
implementation and removed the FltClosePort API and added the two new
routines so people would know exactly which one to call in which
situation. This change was made before the XP SP2 version of the filter
manager was released.

We are going to put up on BetaPlace a new version of the IFSKit that we
gave out at the December PlugFest. This new kit will contain
documentation for these APIs. Hopefully this should be available this
week. I will let everyone know when it is available.

Below is the documentation for these two APIs.

Neal Christiansen
Microsoft File System Filter Group Lead
This posting is provided “AS IS” with no warranties, and confers no
rights

FltCloseCommunicationPort
[This is preliminary documentation and subject to change.]

FltCloseCommunicationPort closes a communication server port that was
created by a previous call to FltCreateCommunicationPort.

VOID
FltCloseCommunicationPort(
IN PFLT_PORT ServerPort
);

Parameters:

ServerPort
Opaque port pointer to the server port to be closed. This parameter is
required and cannot be NULL.

Return Value:
None

Headers
Declared in fltkernel.h. Include fltkernel.h.

Comments
A minifilter normally calls FltCloseCommunicationPort from its
FilterUnloadCallback (PFLT_FILTER_UNLOAD_CALLBACK) routine.

After FltCloseCommunicationPort is called, the opaque port pointer
specified by the ServerPort parameter is no longer valid and cannot
safely be used.

Callers of FltCloseCommunicationPort must be running at IRQL <=
APC_LEVEL.

See Also
FilterConnectCommunicationPort, FltCloseClientPort,
FltCreateCommunicationPort, FltSendMessage, PFLT_FILTER_UNLOAD_CALLBACK

FltCloseClientPort
[This is preliminary documentation and subject to change.]

FltCloseClientPort closes a communication client port.

VOID
FltCloseClientPort(
IN PFLT_FILTER Filter,
IN PFLT_PORT *ClientPort
);

Parameters:

Filter
Opaque filter pointer for the caller. This parameter is required and
cannot be NULL.

ClientPort
Pointer to a variable that contains the opaque port pointer for the
client port to be closed. On return, the variable receives NULL. This
parameter is required and cannot be NULL on input.

Return Value:
None

Headers
Declared in fltkernel.h. Include fltkernel.h.

Comments
A minifilter normally calls FltCloseClientPort from the
DisconnectNotifyCallback routine that it registered when it called
FltCreateCommunicationPort.

FltCloseClientPort closes a communication client port that was created
by the minifilter’s ConnectNotifyCallback routine.

On input, the ClientPort parameter is a pointer to a variable containing
the opaque pointer for the client port to be closed. To ensure that any
messages sent by FltSendMessage are synchronized properly when the
communication client port is being closed, FltCloseClientPort sets this
variable to NULL.

Callers of FltCloseClientPort must be running at IRQL <= APC_LEVEL.

See Also
FilterConnectCommunicationPort, FltCloseCommunicationPort,
FltCreateCommunicationPort, FltSendMessage

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ken Cross
Sent: Friday, December 31, 2004 10:53 AM
To: Windows File Systems Devs Interest List
Subject: RE: [ntfsd] FltCloseCommunicationPort?

They must be together, because FltCloseClientPort() isn’t documented,
either.

Could they both just be aliases for FltClosePort()? Or do I have old
documentation (3790.1228)?

Thanks,
Ken

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ravisankar
Pudipeddi
Sent: Thursday, December 30, 2004 2:15 PM
To: Windows File Systems Devs Interest List
Subject: RE: [ntfsd] FltCloseCommunicationPort?

No. This closes the server port handle: i.e. no more incoming
connections will be accepted. The handle passed in is for the port that
is used to listen for incoming connections. Existing connections will
not be affected.

To disconnect a specific connection from the filter, use
FltCloseClientPort().

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ken Cross
Sent: Wednesday, December 29, 2004 12:25 PM
To: Windows File Systems Devs Interest List
Subject: [ntfsd] FltCloseCommunicationPort?

NTFSD Folk:

There’s a routine called “FltCloseCommunicationPort” which seems to
close the server communication port in a minifilter, with the server
port as an argument.

This routine doesn’t appear to be documented.

My question is: Does this cause a “graceful” shutdown of any open
ports?
Specifically, will the DisconnectNotifyCallback routines be called for
any open connections?

Thanks,
Ken


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: unknown lmsubst tag argument:
‘’
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

Neal:

Thanks - that helps.

A documentation suggestion: My original question was whether
FltCloseCommunicationPort gracefully shut down any open connections. The
answer is “No”, but that’s not mentioned in the documentation.

Ken

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Neal Christiansen
Sent: Sunday, January 09, 2005 3:48 AM
To: Windows File Systems Devs Interest List
Subject: RE: [ntfsd] FltCloseCommunicationPort?

Ken,

These routines are not just aliases for FltClosePort. There was some
confusion around the usage of FltClosePort so we changed the
implementation and removed the FltClosePort API and added the two new
routines so people would know exactly which one to call in which
situation. This change was made before the XP SP2 version of the filter
manager was released.

We are going to put up on BetaPlace a new version of the IFSKit that we
gave out at the December PlugFest. This new kit will contain
documentation for these APIs. Hopefully this should be available this
week. I will let everyone know when it is available.

Below is the documentation for these two APIs.

Neal Christiansen
Microsoft File System Filter Group Lead
This posting is provided “AS IS” with no warranties, and confers no
rights

FltCloseCommunicationPort
[This is preliminary documentation and subject to change.]

FltCloseCommunicationPort closes a communication server port that was
created by a previous call to FltCreateCommunicationPort.

VOID
FltCloseCommunicationPort(
IN PFLT_PORT ServerPort
);

Parameters:

ServerPort
Opaque port pointer to the server port to be closed. This parameter is
required and cannot be NULL.

Return Value:
None

Headers
Declared in fltkernel.h. Include fltkernel.h.

Comments
A minifilter normally calls FltCloseCommunicationPort from its
FilterUnloadCallback (PFLT_FILTER_UNLOAD_CALLBACK) routine.

After FltCloseCommunicationPort is called, the opaque port pointer
specified by the ServerPort parameter is no longer valid and cannot
safely be used.

Callers of FltCloseCommunicationPort must be running at IRQL <=
APC_LEVEL.

See Also
FilterConnectCommunicationPort, FltCloseClientPort,
FltCreateCommunicationPort, FltSendMessage, PFLT_FILTER_UNLOAD_CALLBACK

FltCloseClientPort
[This is preliminary documentation and subject to change.]

FltCloseClientPort closes a communication client port.

VOID
FltCloseClientPort(
IN PFLT_FILTER Filter,
IN PFLT_PORT *ClientPort
);

Parameters:

Filter
Opaque filter pointer for the caller. This parameter is required and
cannot be NULL.

ClientPort
Pointer to a variable that contains the opaque port pointer for the
client port to be closed. On return, the variable receives NULL. This
parameter is required and cannot be NULL on input.

Return Value:
None

Headers
Declared in fltkernel.h. Include fltkernel.h.

Comments
A minifilter normally calls FltCloseClientPort from the
DisconnectNotifyCallback routine that it registered when it called
FltCreateCommunicationPort.

FltCloseClientPort closes a communication client port that was created
by the minifilter’s ConnectNotifyCallback routine.

On input, the ClientPort parameter is a pointer to a variable containing
the opaque pointer for the client port to be closed. To ensure that any
messages sent by FltSendMessage are synchronized properly when the
communication client port is being closed, FltCloseClientPort sets this
variable to NULL.

Callers of FltCloseClientPort must be running at IRQL <= APC_LEVEL.

See Also
FilterConnectCommunicationPort, FltCloseCommunicationPort,
FltCreateCommunicationPort, FltSendMessage

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ken Cross
Sent: Friday, December 31, 2004 10:53 AM
To: Windows File Systems Devs Interest List
Subject: RE: [ntfsd] FltCloseCommunicationPort?

They must be together, because FltCloseClientPort() isn’t documented,
either.

Could they both just be aliases for FltClosePort()? Or do I have old
documentation (3790.1228)?

Thanks,
Ken

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ravisankar
Pudipeddi
Sent: Thursday, December 30, 2004 2:15 PM
To: Windows File Systems Devs Interest List
Subject: RE: [ntfsd] FltCloseCommunicationPort?

No. This closes the server port handle: i.e. no more incoming
connections will be accepted. The handle passed in is for the port that
is used to listen for incoming connections. Existing connections will
not be affected.

To disconnect a specific connection from the filter, use
FltCloseClientPort().

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ken Cross
Sent: Wednesday, December 29, 2004 12:25 PM
To: Windows File Systems Devs Interest List
Subject: [ntfsd] FltCloseCommunicationPort?

NTFSD Folk:

There’s a routine called “FltCloseCommunicationPort” which seems to
close the server communication port in a minifilter, with the server
port as an argument.

This routine doesn’t appear to be documented.

My question is: Does this cause a “graceful” shutdown of any open
ports?
Specifically, will the DisconnectNotifyCallback routines be called for
any open connections?

Thanks,
Ken


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: unknown lmsubst tag argument:
‘’
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


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Good suggestion, I have filed a documentation bug to get this updated.

Neal Christiansen
Microsoft File System Filter Group 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 Ken Cross
Sent: Sunday, January 09, 2005 5:58 AM
To: Windows File Systems Devs Interest List
Subject: RE: [ntfsd] FltCloseCommunicationPort?

Neal:

Thanks - that helps.

A documentation suggestion: My original question was whether
FltCloseCommunicationPort gracefully shut down any open connections.
The
answer is “No”, but that’s not mentioned in the documentation.

Ken

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Neal
Christiansen
Sent: Sunday, January 09, 2005 3:48 AM
To: Windows File Systems Devs Interest List
Subject: RE: [ntfsd] FltCloseCommunicationPort?

Ken,

These routines are not just aliases for FltClosePort. There was some
confusion around the usage of FltClosePort so we changed the
implementation and removed the FltClosePort API and added the two new
routines so people would know exactly which one to call in which
situation. This change was made before the XP SP2 version of the filter
manager was released.

We are going to put up on BetaPlace a new version of the IFSKit that we
gave out at the December PlugFest. This new kit will contain
documentation for these APIs. Hopefully this should be available this
week. I will let everyone know when it is available.

Below is the documentation for these two APIs.

Neal Christiansen
Microsoft File System Filter Group Lead
This posting is provided “AS IS” with no warranties, and confers no
rights

FltCloseCommunicationPort
[This is preliminary documentation and subject to change.]

FltCloseCommunicationPort closes a communication server port that was
created by a previous call to FltCreateCommunicationPort.

VOID
FltCloseCommunicationPort(
IN PFLT_PORT ServerPort
);

Parameters:

ServerPort
Opaque port pointer to the server port to be closed. This parameter is
required and cannot be NULL.

Return Value:
None

Headers
Declared in fltkernel.h. Include fltkernel.h.

Comments
A minifilter normally calls FltCloseCommunicationPort from its
FilterUnloadCallback (PFLT_FILTER_UNLOAD_CALLBACK) routine.

After FltCloseCommunicationPort is called, the opaque port pointer
specified by the ServerPort parameter is no longer valid and cannot
safely be used.

Callers of FltCloseCommunicationPort must be running at IRQL <=
APC_LEVEL.

See Also
FilterConnectCommunicationPort, FltCloseClientPort,
FltCreateCommunicationPort, FltSendMessage, PFLT_FILTER_UNLOAD_CALLBACK

FltCloseClientPort
[This is preliminary documentation and subject to change.]

FltCloseClientPort closes a communication client port.

VOID
FltCloseClientPort(
IN PFLT_FILTER Filter,
IN PFLT_PORT *ClientPort
);

Parameters:

Filter
Opaque filter pointer for the caller. This parameter is required and
cannot be NULL.

ClientPort
Pointer to a variable that contains the opaque port pointer for the
client port to be closed. On return, the variable receives NULL. This
parameter is required and cannot be NULL on input.

Return Value:
None

Headers
Declared in fltkernel.h. Include fltkernel.h.

Comments
A minifilter normally calls FltCloseClientPort from the
DisconnectNotifyCallback routine that it registered when it called
FltCreateCommunicationPort.

FltCloseClientPort closes a communication client port that was created
by the minifilter’s ConnectNotifyCallback routine.

On input, the ClientPort parameter is a pointer to a variable containing
the opaque pointer for the client port to be closed. To ensure that any
messages sent by FltSendMessage are synchronized properly when the
communication client port is being closed, FltCloseClientPort sets this
variable to NULL.

Callers of FltCloseClientPort must be running at IRQL <= APC_LEVEL.

See Also
FilterConnectCommunicationPort, FltCloseCommunicationPort,
FltCreateCommunicationPort, FltSendMessage

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ken Cross
Sent: Friday, December 31, 2004 10:53 AM
To: Windows File Systems Devs Interest List
Subject: RE: [ntfsd] FltCloseCommunicationPort?

They must be together, because FltCloseClientPort() isn’t documented,
either.

Could they both just be aliases for FltClosePort()? Or do I have old
documentation (3790.1228)?

Thanks,
Ken

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ravisankar
Pudipeddi
Sent: Thursday, December 30, 2004 2:15 PM
To: Windows File Systems Devs Interest List
Subject: RE: [ntfsd] FltCloseCommunicationPort?

No. This closes the server port handle: i.e. no more incoming
connections will be accepted. The handle passed in is for the port that
is used to listen for incoming connections. Existing connections will
not be affected.

To disconnect a specific connection from the filter, use
FltCloseClientPort().

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ken Cross
Sent: Wednesday, December 29, 2004 12:25 PM
To: Windows File Systems Devs Interest List
Subject: [ntfsd] FltCloseCommunicationPort?

NTFSD Folk:

There’s a routine called “FltCloseCommunicationPort” which seems to
close the server communication port in a minifilter, with the server
port as an argument.

This routine doesn’t appear to be documented.

My question is: Does this cause a “graceful” shutdown of any open
ports?
Specifically, will the DisconnectNotifyCallback routines be called for
any open connections?

Thanks,
Ken


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: unknown lmsubst tag argument:
‘’
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


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: unknown lmsubst tag argument:
‘’
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