|Microsoft Internet Security and Acceleration Server 2000|
Receives notifications from the Firewall service when an asynchronous I/O operation completes. All overlapped operations on an IFWXSocket interface require the filter to implement this interface.
The CompleteAsyncIO method is where you should implement the logic of your filter, based on the protocol in which you are working.
HRESULT CompleteAsyncIO( BOOL fSuccess, DWORD Win32ErrorCode, IFWXIOBuffer *pIOBuffer, UserContextType UserData, LPSOCKADDR ExternalAddress, INT ExternalAddressLength );
The address is the source when receiving from an external socket, and the target when receiving from an internal socket.
Note that IP packets on the Internet can be made to appear as though they are authorized when they are not. Therefore, do not rely on this address for authentication.
Any error should be handled in this method.
Be aware that completion of a send or sendto operation indicates only that the next filter in the chain of filters received the buffer and began processing it. The buffer cannot be recycled at this point.
The UserData parameter provides a context to the notification. You can use the same notification interface for completion notifications from distinct network socket objects and differentiate between them by using different values for UserData.