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.