Microsoft Internet Security and Acceleration Server 2004 SDK

IFWXOverlapped

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.

Methods in Vtable Order

The IFWXOverlapped interface inherits the methods of the standard COM interface IUnknown.

In addition, IFWXOverlapped defines the following methods.

Method Description
GetOverlapped Gets a pointer to a Winsock OVERLAPPED structure to use with Windows overlapped functions.
SetNotificationInterface Sets the callback for the completion of the overlapped I/O.

Remarks

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.

Requirements

Server: Requires Windows Server 2003 or Windows 2000.
Version: Requires Internet Security and Acceleration Server 2004.
Header: Declared in Wspfwext.idl.

See Also

Filter Interfaces, IFWXExternalIOCompletion