Applies to: desktop apps only
The IFWXOverlapped interface is used to hook into the I/O completion port of the Microsoft Firewall service, for asynchronous I/O with files. You can hook into the completion port thread pool by linking a handle to the completion port (call the IFWXFirewall::HookToCompletionPort method). Overlapped Windows functions must then be called with the Winsock structure OVERLAPPED returned by this interface.
The IFWXOverlapped interface inherits from the IUnknown interface. IFWXOverlapped also has these types of members:
The IFWXOverlapped interface has these methods.
Gets a pointer to a Winsock OVERLAPPED structure to use with Windows overlapped functions.
Sets the callback for the completion of the overlapped I/O.
If the Firewall service is performing asynchronous I/O for an operating system file, it must have access to the Winsock OVERLAPPED structure and a means of setting up a callback when the I/O is completed.
The IFWXOverlapped interface gets a pointer to the Windows Sockets OVERLAPPED structure. The IFWXOverlapped interface also provides the link between the OVERLAPPED structure and a completion notification interface, and includes user context information that allows the filter to distinguish between different notifications.
Use the IFWXOverlapped::SetNotificationInterface method to set the notification interface and user context. Then use the IFWXOverlapped::GetOverlapped method to get an OVERLAPPED structure that will be used in a call to an asynchronous Windows API.
The call to the Windows API must use a handle that is associated with the Firewall service completion port. For more information, see IFWXFirewall::HookToCompletionPort.
When the overlapped operation completes, the Firewall service will get the completion notification in its completion port and will call the completion notification method of the specified interface.
Minimum supported client
Minimum supported server
|Windows Server 2008 R2, Windows Server 2008 with SP2 (64-bit only)|
|Forefront Threat Management Gateway (TMG) 2010|
Build date: 7/12/2010