Microsoft Internet Security and Acceleration Server 2000

Asynchronous Input/Output

ISA uses asynchronous input/output (I/O) to manage multiple I/O requests simultaneously. This results in more efficient use of resources because the Firewall service can continue I/O while waiting for particular data.

The asynchronous I/O operation takes the following steps:

  1. The data buffer object is created by the Firewall service.
  2. Data is received asynchronously.
  3. The data transfer is completed.
  4. The Firewall service receives the completion notification through the completion port, and passes it to the completion object.
  5. The completion method information is received by a Completion Notification object.

For this process to take place, the application filter follows these steps:

  1. Calls an asynchronous method to issue an overlapped request.
  2. Waits for the request to be handled asynchronously and completed.
  3. Receives notification through a completion notification interface.

    Note  This process differs for Win32 overlapped operations. For more information see IFWXExternalIOCompletion.

The following objects are directly related to ISA Server's implementation of asynchronous input/output: