Microsoft Internet Security and Acceleration Server 2000 |
If the Firewall service is performing asynchronous I/O for an operating system file, it must have access to the Windows Sockets OVERLAPPED structure and a means of setting up a callback when the I/O is completed.
IFWXOverlapped gets a pointer to the Windows Sockets OVERLAPPED structure. The IFWXOverlapped object 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.
First 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 Win32 API.
The call to the WIN32 API must use a handle that is associated with the Firewall service's 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.
The method IFWXOverlapped::GetOverlapped is used in the following sample filter provided with ISA:
The method IFWXOverlapped::SetNotificationInterface is used in the following sample provided with ISA: