README.TXT

Asynchronous IO Support 

ISAPI 1.0 support synchronous IO operations via callback
methods ReadClient() and WriteClient(). The ability to
support asynchronous operations is important; it frees
up a server pool thread from being blocked to complete
the IO operation. In addition, IIS server engine already
has built in support to manage asynchronous IO operations
using the completion ports and server thread pool.

ISAPI 2.0 supports asynchronous write operation using
the existing callback function WriteClient() with a special
flag indicating that the operation has to be performed
asynchronously. In addition, ISAPI 2.0 also provides a
mechanism to request the server to transmit a file using
the TransmitFile() .

ISAPI 3.0 supports asynchronous read operation from the
client using ServerSupportFunction() with HSE_REQ_ASYNC_READ_CLIENT
and a special flag indicating that the operation has to be
performed asynchronously. In addition, the ISAPI application
should submit a callback function and context by calling
ServerSupportFunction() with HSE_REQ_IO_COMPLETION.

To use the areadcli.dll extension created by this directory,
perform the following steps:

1) Create an IIS virtual root with execute permissions
2) Copy the isapi dlls into the directory
3) Point a browser at the virtual path

ie:

http://localhost/sdk/areadcli.dll


Disclaimer:

This sample is provided for the purposes of demonstrating an
ISAPI extension. It has not been tested for use in a production
environment and no support will be provided for use in a
production environment.