Microsoft Internet Security and Acceleration Server 2004 SDK

Asynchronous Input/Output

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

Asynchronous I/O operation follows these 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 Windows overlapped operations. For more information, see IFWXExternalIOCompletion.

The following objects are directly related to the ISA Server implementation of asynchronous I/O: