summaryrefslogtreecommitdiffstats
path: root/docs/manual/mod/mod_isapi.html
diff options
context:
space:
mode:
authorRich Bowen <rbowen@apache.org>2001-09-22 21:39:26 +0200
committerRich Bowen <rbowen@apache.org>2001-09-22 21:39:26 +0200
commitf88b50dec40878abeccce0e1b9cfc6780a4b1465 (patch)
tree84e6a7b926e102d9f322b96351f2346be29c2db5 /docs/manual/mod/mod_isapi.html
parentw3c tidy to convert to xhtml. Please verify that foreign language files (diff)
downloadapache2-f88b50dec40878abeccce0e1b9cfc6780a4b1465.tar.xz
apache2-f88b50dec40878abeccce0e1b9cfc6780a4b1465.zip
w3c tidy to convert to xhtml
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91116 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'docs/manual/mod/mod_isapi.html')
-rw-r--r--docs/manual/mod/mod_isapi.html735
1 files changed, 362 insertions, 373 deletions
diff --git a/docs/manual/mod/mod_isapi.html b/docs/manual/mod/mod_isapi.html
index a44fb4cdcd..a8d55a5b66 100644
--- a/docs/manual/mod/mod_isapi.html
+++ b/docs/manual/mod/mod_isapi.html
@@ -1,376 +1,365 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
-<TITLE>Apache module mod_isapi</TITLE>
-</HEAD>
-
-<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
-<BODY
- BGCOLOR="#FFFFFF"
- TEXT="#000000"
- LINK="#0000FF"
- VLINK="#000080"
- ALINK="#FF0000"
->
-<!--#include virtual="header.html" -->
-
-<H1 ALIGN="CENTER">Module mod_isapi</H1>
-
-<P>This module supports ISAPI Extensions within Apache for Windows.</P>
-
-<P><A
-HREF="module-dict.html#Status"
-REL="Help"
-><STRONG>Status:</STRONG></A> Base
-<BR>
-<A
-HREF="module-dict.html#SourceFile"
-REL="Help"
-><STRONG>Source File:</STRONG></A> mod_isapi.c
-<BR>
-<A
-HREF="module-dict.html#ModuleIdentifier"
-REL="Help"
-><STRONG>Module Identifier:</STRONG></A> isapi_module
-<BR>
-<A
-HREF="module-dict.html#Compatibility"
-REL="Help"
-><STRONG>Compatibility:</STRONG></A> WIN32 only
-</P>
-
-<H2>Summary</H2>
-
-<P>This module implements the Internet Server extension API. It allows
- Internet Server extensions (<EM>e.g.</EM> ISAPI .dll modules) to be
- served by Apache for Windows, subject to the noted restrictions.</P>
-
-<P>ISAPI extension modules (.dll files) are written by third parties. The
- Apache Group does not author these modules, so we provide no support for
- them. Please contact the ISAPI's author directly if you are experiencing
- problems running their ISAPI extention. <STRONG>Please <EM>do not</EM>
- post such problems to Apache's lists or bug reporting pages.</STRONG></P>
-
-<H2>Directives</H2>
-<UL>
-<LI><A HREF="#isapifilecache">ISAPIFileCache</A>
-<LI><A HREF="#isapireadaheadbuffer">ISAPIReadAheadBuffer</A>
-<LI><A HREF="#isapilognotsupported">ISAPILogNotSupported</A>
-<LI><A HREF="#isapiappendlogtoerrors">ISAPIAppendLogToErrors</A>
-<LI><A HREF="#isapiappendlogtoquery">ISAPIAppendLogToQuery</A>
-</UL>
-
-<H2>Usage</H2>
-
-<P>In the server configuration file, use the AddHandler directive to
- associate ISAPI files with the <CODE>isapi-isa</CODE> handler, and map
- it to the with their file extensions. To enable any .dll file to be
- processed as an ISAPI extention, edit the httpd.conf file and add the
- following line:</P>
-
-<PRE>
- AddHandler isapi-isa .dll
-</PRE>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta name="generator" content="HTML Tidy, see www.w3.org" />
+
+ <title>Apache module mod_isapi</title>
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
+ vlink="#000080" alink="#FF0000">
+ <!--#include virtual="header.html" -->
+
+ <h1 align="CENTER">Module mod_isapi</h1>
+
+ <p>This module supports ISAPI Extensions within Apache for
+ Windows.</p>
+
+ <p><a href="module-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="module-dict.html#SourceFile"
+ rel="Help"><strong>Source File:</strong></a> mod_isapi.c<br />
+ <a href="module-dict.html#ModuleIdentifier"
+ rel="Help"><strong>Module Identifier:</strong></a>
+ isapi_module<br />
+ <a href="module-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> WIN32 only</p>
+
+ <h2>Summary</h2>
+
+ <p>This module implements the Internet Server extension API. It
+ allows Internet Server extensions (<em>e.g.</em> ISAPI .dll
+ modules) to be served by Apache for Windows, subject to the
+ noted restrictions.</p>
+
+ <p>ISAPI extension modules (.dll files) are written by third
+ parties. The Apache Group does not author these modules, so we
+ provide no support for them. Please contact the ISAPI's author
+ directly if you are experiencing problems running their ISAPI
+ extention. <strong>Please <em>do not</em> post such problems to
+ Apache's lists or bug reporting pages.</strong></p>
+
+ <h2>Directives</h2>
-<P>There is no capability within the Apache server to leave a requested
- module loaded. However, you may preload and keep a specific module loaded
- by using the following syntax in your httpd.conf:
+ <ul>
+ <li><a href="#isapifilecache">ISAPIFileCache</a></li>
-<PRE>
+ <li><a
+ href="#isapireadaheadbuffer">ISAPIReadAheadBuffer</a></li>
+
+ <li><a
+ href="#isapilognotsupported">ISAPILogNotSupported</a></li>
+
+ <li><a
+ href="#isapiappendlogtoerrors">ISAPIAppendLogToErrors</a></li>
+
+ <li><a
+ href="#isapiappendlogtoquery">ISAPIAppendLogToQuery</a></li>
+ </ul>
+
+ <h2>Usage</h2>
+
+ <p>In the server configuration file, use the AddHandler
+ directive to associate ISAPI files with the
+ <code>isapi-isa</code> handler, and map it to the with their
+ file extensions. To enable any .dll file to be processed as an
+ ISAPI extention, edit the httpd.conf file and add the following
+ line:</p>
+<pre>
+ AddHandler isapi-isa .dll
+</pre>
+
+ <p>There is no capability within the Apache server to leave a
+ requested module loaded. However, you may preload and keep a
+ specific module loaded by using the following syntax in your
+ httpd.conf:</p>
+<pre>
ISAPICacheFile c:/WebWork/Scripts/ISAPI/mytest.dll
-</PRE>
-
-<P>Whether or not you have preloaded an ISAPI extension, all ISAPI
- extensions are governed by the same permissions and restrictions
- as CGI scripts. That is, <CODE>Options ExecCGI</CODE> must be set for
- the directory that contains the ISAPI .dll file.</P>
-
-<P>Review the <A HREF="#notes">Additional Notes</A> and the
- <A HREF="#journal">Programmer's Journal</A> for additional details and
- clarification of the specific ISAPI support offered by mod_isapi.</P>
-
-<H2><A NAME="notes">Additional Notes</A></H2>
-
-<P>Apache's ISAPI implementation conforms to all of the ISAPI 2.0
- specification, except for some "Microsoft-specific" extensions dealing
- with asynchronous I/O. Apache's I/O model does not allow asynchronous
- reading and writing in a manner that the ISAPI could access. If an ISA
- tries to access unsupported features, including async I/O, a message is
- placed in the error log to help with debugging. Since these messages
- can become a flood, the directive <CODE>ISAPILogNotSupported Off</CODE>
- exists to quiet this noise.</P>
-
-<P>Some servers, like Microsoft IIS, load the ISAPI extension into the server
- and keep it loaded until memory usage is too high, or unless configuration
- options are specified. Apache currently loads and unloads the ISAPI
- extension each time it is requested, unless the ISAPICacheFile directive
- is specified. This is inefficient, but Apache's memory model makes this
- the most effective method. Many ISAPI modules are subtly incompatible
- with the Apache server, and unloading these modules helps to ensure the
- stability of the server.</P>
-
-<P>Also, remember that while Apache supports ISAPI Extensions, it
- <STRONG>does not support ISAPI Filters.</STRONG> Support for filters may
- be added at a later date, but no support is planned at this time.</P>
-
-<H2><A NAME="journal">Programmer's Journal</A></H2>
-
-<P>If you are programming Apache 2.0 mod_isapi modules, you must limit your
- calls to ServerSupportFunction to the following directives:</P>
-
-<DL>
- <DT>HSE_REQ_SEND_URL_REDIRECT_RESP
- <DD>Redirect the user to another location.<BR>
- This must be a fully qualified URL (e.g. http://server/location).
- <DT>HSE_REQ_SEND_URL
- <DD>Redirect the user to another location.<BR>
- This cannot be a fully qualified URL, you are not allowed
- to pass the protocol or a server name (e.g. simply /location).<BR>
- This redirection is handled by the server, not the browser.<BR>
- <STRONG>Warning:</STRONG> in their recent documentation, Microsoft
- appears to have abandoned the distinction between the two
- HSE_REQ_SEND_URL functions. Apache continues to treat them as two
- distinct functions with different requirements and behaviors.
- <DT>HSE_REQ_SEND_RESPONSE_HEADER
- <DD>Apache accepts a response body following the header if it follows
- the blank line (two consecutive newlines) in the headers string
- argument. This body cannot contain NULLs, since the headers
- argument is NULL terminated.
- <DT>HSE_REQ_DONE_WITH_SESSION
- <DD>Apache considers this a no-op, since the session will be finished
- when the ISAPI returns from processing.
- <DT>HSE_REQ_MAP_URL_TO_PATH
- <DD>Apache will translate a virtual name to a physical name.
- <DT>HSE_APPEND_LOG_PARAMETER
- <DD>This logged message may be captured in any of the following logs:
- <UL>
- <LI>in the \"%{isapi-parameter}n\" component in a CustomLog directive
- <LI>in the %q log component with the ISAPIAppendLogToQuery On directive
- <LI>in the error log with the ISAPIAppendLogToErrors On directive
- </UL>
- The first option, the %{isapi-parameter}n component, is always available
- and prefered.
- <DT>HSE_REQ_IS_KEEP_CONN
- <DD>Will return the negotiated Keep-Alive status.
- <DT>HSE_REQ_SEND_RESPONSE_HEADER_EX
- <DD>Will behave as documented, although the fKeepConn flag is ignored.
- <DT>HSE_REQ_IS_CONNECTED
- <DD>Will report false if the request has been aborted.
-</DL>
-
-<P>Apache returns FALSE to any unsupported call to ServerSupportFunction, and
- sets the GetLastError value to ERROR_INVALID_PARAMETER.</P>
-
-<P>ReadClient retrieves the request body exceeding the initial buffer
- (defined by ISAPIReadAheadBuffer). Based on the ISAPIReadAheadBuffer
- setting (number of bytes to buffer prior to calling the ISAPI handler)
- shorter requests are sent complete to the extension when it is invoked.
- If the request is longer, the ISAPI extension must use ReadClient to
- retrieve the remaining request body.</P>
-
-<P>WriteClient is supported, but only with the HSE_IO_SYNC flag or
- no option flag (value of 0). Any other WriteClient request will
- be rejected with a return value of FALSE, and a GetLastError
- value of ERROR_INVALID_PARAMETER.</P>
-
-<P>GetServerVariable is supported, although extended server variables do not
- exist (as defined by other servers.) All the usual Apache CGI environment
- variables are available from GetServerVariable, as well as the ALL_HTTP
- and ALL_RAW values.</P>
-
-<P>Apache 2.0 mod_isapi supports additional features introduced in later
- versions of the ISAPI specification, as well as limited emulation of
- async I/O and the TransmitFile semantics. Apache also supports preloading
- ISAPI .dlls for performance, neither of which were not available under
- Apache 1.3 mod_isapi.</P>
-
-<HR>
-
-<H2><A NAME="isapifilecache">ISAPIFileCache directive</A></H2>
-<!--%plaintext &lt;?INDEX {\tt ISAPIFileCache} directive&gt; -->
-<A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> ISAPIFileCache <EM>file</em> [<em>file</em>] ...<BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Override"
- REL="Help"
-><STRONG>Override:</STRONG></A> None<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> Base<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> mod_isapi<BR>
-<A
-HREF="module-dict.html#Compatibility"
-REL="Help"
-><STRONG>Compatibility:</STRONG></A> Apache 2.0 and later, Win32 only<P>
-
- Specifies a space-separated list of file names to be loaded
- when the Apache server is launched, and remain loaded until
- the server is shut down. This directive may be repeated
- for every ISAPI .dll file desired. The full path name of
- each file should be specified.
- <P>
-<HR>
-
-<H2><A NAME="isapireadaheadbuffer">ISAPIReadAheadBuffer directive</A></H2>
-<!--%plaintext &lt;?INDEX {\tt ISAPIReadAheadBuffer} directive&gt; -->
-<A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> ISAPIReadAheadBuffer <EM>size</EM><BR>
-<A
- HREF="directive-dict.html#Default"
- REL="Help"
-><STRONG>Default:</STRONG></A> 49152<BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Override"
- REL="Help"
-><STRONG>Override:</STRONG></A> None<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> Base<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> mod_isapi<BR>
-<A
-HREF="module-dict.html#Compatibility"
-REL="Help"
-><STRONG>Compatibility:</STRONG></A> Apache 1.3.13 and later, Win32 only<P>
-
-
- Defines the maximum size of the Read Ahead Buffer sent to
- ISAPI extensions when they are initially invoked. All
- remaining data must be retrieved using the ReadClient
- callback; some ISAPI extensions may not support the
- ReadClient function. Refer questions to the ISAPI extension's
- author.
- <P>
-<HR>
-
-<H2><A NAME="isapilognotsupported">ISAPILogNotSupported directive</A></H2>
-<!--%plaintext &lt;?INDEX {\tt ISAPILogNotSupported} directive&gt; -->
-<A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> ISAPILogNotSupported on|off<BR>
-<A
- HREF="directive-dict.html#Default"
- REL="Help"
-><STRONG>Default:</STRONG></A> on<BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Override"
- REL="Help"
-><STRONG>Override:</STRONG></A> None<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> Base<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> mod_isapi<BR>
-<A
-HREF="module-dict.html#Compatibility"
-REL="Help"
-><STRONG>Compatibility:</STRONG></A> Apache 1.3.13 and later, Win32 only<P>
-
- Logs all requests for unsupported features from ISAPI extensions
- in the server error log. While this should be turned off once
- all desired ISAPI modules are functioning, it defaults to on
- to help administrators track down problems.
- <P>
-<HR>
-
-<H2><A NAME="isapiappendlogtoerrors">ISAPIAppendLogToErrors directive</A></H2>
-<!--%plaintext &lt;?INDEX {\tt ISAPIAppendLogToErrors} directive&gt; -->
-<A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> ISAPIAppendLogToErrors on|off<BR>
-<A
- HREF="directive-dict.html#Default"
- REL="Help"
-><STRONG>Default:</STRONG></A> off<BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Override"
- REL="Help"
-><STRONG>Override:</STRONG></A> None<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> Base<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> mod_isapi<BR>
-<A
-HREF="module-dict.html#Compatibility"
-REL="Help"
-><STRONG>Compatibility:</STRONG></A> Apache 1.3.13 and later, Win32 only<P>
-
- Record HSE_APPEND_LOG_PARAMETER requests from ISAPI extensions
- to the server error log.
- <P>
-<HR>
-
-<H2><A NAME="isapiappendlogtoquery">ISAPIAppendLogToQuery directive</A></H2>
-<!--%plaintext &lt;?INDEX {\tt ISAPIAppendLogToQuery} directive&gt; -->
-<A
- HREF="directive-dict.html#Syntax"
- REL="Help"
-><STRONG>Syntax:</STRONG></A> ISAPIAppendLogToQuery on|off<BR>
-<A
- HREF="directive-dict.html#Default"
- REL="Help"
-><STRONG>Default:</STRONG></A> off<BR>
-<A
- HREF="directive-dict.html#Context"
- REL="Help"
-><STRONG>Context:</STRONG></A> server config<BR>
-<A
- HREF="directive-dict.html#Override"
- REL="Help"
-><STRONG>Override:</STRONG></A> None<BR>
-<A
- HREF="directive-dict.html#Status"
- REL="Help"
-><STRONG>Status:</STRONG></A> Base<BR>
-<A
- HREF="directive-dict.html#Module"
- REL="Help"
-><STRONG>Module:</STRONG></A> mod_isapi<BR>
-<A
-HREF="module-dict.html#Compatibility"
-REL="Help"
-><STRONG>Compatibility:</STRONG></A> Apache 1.3.13 and later, Win32 only<P>
-
- Record HSE_APPEND_LOG_PARAMETER requests from ISAPI extensions
- to the query field (appended to the CustomLog %q component).
- <P>
-
-<!--#include virtual="footer.html" -->
-</BODY>
-</HTML>
+</pre>
+
+ <p>Whether or not you have preloaded an ISAPI extension, all
+ ISAPI extensions are governed by the same permissions and
+ restrictions as CGI scripts. That is, <code>Options
+ ExecCGI</code> must be set for the directory that contains the
+ ISAPI .dll file.</p>
+
+ <p>Review the <a href="#notes">Additional Notes</a> and the <a
+ href="#journal">Programmer's Journal</a> for additional details
+ and clarification of the specific ISAPI support offered by
+ mod_isapi.</p>
+
+ <h2><a id="notes" name="notes">Additional Notes</a></h2>
+
+ <p>Apache's ISAPI implementation conforms to all of the ISAPI
+ 2.0 specification, except for some "Microsoft-specific"
+ extensions dealing with asynchronous I/O. Apache's I/O model
+ does not allow asynchronous reading and writing in a manner
+ that the ISAPI could access. If an ISA tries to access
+ unsupported features, including async I/O, a message is placed
+ in the error log to help with debugging. Since these messages
+ can become a flood, the directive <code>ISAPILogNotSupported
+ Off</code> exists to quiet this noise.</p>
+
+ <p>Some servers, like Microsoft IIS, load the ISAPI extension
+ into the server and keep it loaded until memory usage is too
+ high, or unless configuration options are specified. Apache
+ currently loads and unloads the ISAPI extension each time it is
+ requested, unless the ISAPICacheFile directive is specified.
+ This is inefficient, but Apache's memory model makes this the
+ most effective method. Many ISAPI modules are subtly
+ incompatible with the Apache server, and unloading these
+ modules helps to ensure the stability of the server.</p>
+
+ <p>Also, remember that while Apache supports ISAPI Extensions,
+ it <strong>does not support ISAPI Filters.</strong> Support for
+ filters may be added at a later date, but no support is planned
+ at this time.</p>
+
+ <h2><a id="journal" name="journal">Programmer's
+ Journal</a></h2>
+
+ <p>If you are programming Apache 2.0 mod_isapi modules, you
+ must limit your calls to ServerSupportFunction to the following
+ directives:</p>
+
+ <dl>
+ <dt>HSE_REQ_SEND_URL_REDIRECT_RESP</dt>
+
+ <dd>Redirect the user to another location.<br />
+ This must be a fully qualified URL (e.g.
+ http://server/location).</dd>
+
+ <dt>HSE_REQ_SEND_URL</dt>
+
+ <dd>Redirect the user to another location.<br />
+ This cannot be a fully qualified URL, you are not allowed to
+ pass the protocol or a server name (e.g. simply
+ /location).<br />
+ This redirection is handled by the server, not the
+ browser.<br />
+ <strong>Warning:</strong> in their recent documentation,
+ Microsoft appears to have abandoned the distinction between
+ the two HSE_REQ_SEND_URL functions. Apache continues to treat
+ them as two distinct functions with different requirements
+ and behaviors.</dd>
+
+ <dt>HSE_REQ_SEND_RESPONSE_HEADER</dt>
+
+ <dd>Apache accepts a response body following the header if it
+ follows the blank line (two consecutive newlines) in the
+ headers string argument. This body cannot contain NULLs,
+ since the headers argument is NULL terminated.</dd>
+
+ <dt>HSE_REQ_DONE_WITH_SESSION</dt>
+
+ <dd>Apache considers this a no-op, since the session will be
+ finished when the ISAPI returns from processing.</dd>
+
+ <dt>HSE_REQ_MAP_URL_TO_PATH</dt>
+
+ <dd>Apache will translate a virtual name to a physical
+ name.</dd>
+
+ <dt>HSE_APPEND_LOG_PARAMETER</dt>
+
+ <dd>
+ This logged message may be captured in any of the following
+ logs:
+
+ <ul>
+ <li>in the \"%{isapi-parameter}n\" component in a
+ CustomLog directive</li>
+
+ <li>in the %q log component with the
+ ISAPIAppendLogToQuery On directive</li>
+
+ <li>in the error log with the ISAPIAppendLogToErrors On
+ directive</li>
+ </ul>
+ The first option, the %{isapi-parameter}n component, is
+ always available and prefered.
+ </dd>
+
+ <dt>HSE_REQ_IS_KEEP_CONN</dt>
+
+ <dd>Will return the negotiated Keep-Alive status.</dd>
+
+ <dt>HSE_REQ_SEND_RESPONSE_HEADER_EX</dt>
+
+ <dd>Will behave as documented, although the fKeepConn flag is
+ ignored.</dd>
+
+ <dt>HSE_REQ_IS_CONNECTED</dt>
+
+ <dd>Will report false if the request has been aborted.</dd>
+ </dl>
+
+ <p>Apache returns FALSE to any unsupported call to
+ ServerSupportFunction, and sets the GetLastError value to
+ ERROR_INVALID_PARAMETER.</p>
+
+ <p>ReadClient retrieves the request body exceeding the initial
+ buffer (defined by ISAPIReadAheadBuffer). Based on the
+ ISAPIReadAheadBuffer setting (number of bytes to buffer prior
+ to calling the ISAPI handler) shorter requests are sent
+ complete to the extension when it is invoked. If the request is
+ longer, the ISAPI extension must use ReadClient to retrieve the
+ remaining request body.</p>
+
+ <p>WriteClient is supported, but only with the HSE_IO_SYNC flag
+ or no option flag (value of 0). Any other WriteClient request
+ will be rejected with a return value of FALSE, and a
+ GetLastError value of ERROR_INVALID_PARAMETER.</p>
+
+ <p>GetServerVariable is supported, although extended server
+ variables do not exist (as defined by other servers.) All the
+ usual Apache CGI environment variables are available from
+ GetServerVariable, as well as the ALL_HTTP and ALL_RAW
+ values.</p>
+
+ <p>Apache 2.0 mod_isapi supports additional features introduced
+ in later versions of the ISAPI specification, as well as
+ limited emulation of async I/O and the TransmitFile semantics.
+ Apache also supports preloading ISAPI .dlls for performance,
+ neither of which were not available under Apache 1.3
+ mod_isapi.</p>
+ <hr />
+
+ <h2><a id="isapifilecache" name="isapifilecache">ISAPIFileCache
+ directive</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt ISAPIFileCache} directive&gt; -->
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ISAPIFileCache
+ <em>file</em> [<em>file</em>] ...<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> None<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_isapi<br />
+ <a href="module-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Apache 2.0 and
+ later, Win32 only
+
+ <p>Specifies a space-separated list of file names to be loaded
+ when the Apache server is launched, and remain loaded until the
+ server is shut down. This directive may be repeated for every
+ ISAPI .dll file desired. The full path name of each file should
+ be specified.</p>
+ <hr />
+
+ <h2><a id="isapireadaheadbuffer"
+ name="isapireadaheadbuffer">ISAPIReadAheadBuffer
+ directive</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt ISAPIReadAheadBuffer} directive&gt; -->
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ISAPIReadAheadBuffer
+ <em>size</em><br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> 49152<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> None<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_isapi<br />
+ <a href="module-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Apache 1.3.13
+ and later, Win32 only
+
+ <p>Defines the maximum size of the Read Ahead Buffer sent to
+ ISAPI extensions when they are initially invoked. All remaining
+ data must be retrieved using the ReadClient callback; some
+ ISAPI extensions may not support the ReadClient function. Refer
+ questions to the ISAPI extension's author.</p>
+ <hr />
+
+ <h2><a id="isapilognotsupported"
+ name="isapilognotsupported">ISAPILogNotSupported
+ directive</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt ISAPILogNotSupported} directive&gt; -->
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ISAPILogNotSupported
+ on|off<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> on<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> None<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_isapi<br />
+ <a href="module-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Apache 1.3.13
+ and later, Win32 only
+
+ <p>Logs all requests for unsupported features from ISAPI
+ extensions in the server error log. While this should be turned
+ off once all desired ISAPI modules are functioning, it defaults
+ to on to help administrators track down problems.</p>
+ <hr />
+
+ <h2><a id="isapiappendlogtoerrors"
+ name="isapiappendlogtoerrors">ISAPIAppendLogToErrors
+ directive</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt ISAPIAppendLogToErrors} directive&gt; -->
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ISAPIAppendLogToErrors
+ on|off<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> off<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> None<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_isapi<br />
+ <a href="module-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Apache 1.3.13
+ and later, Win32 only
+
+ <p>Record HSE_APPEND_LOG_PARAMETER requests from ISAPI
+ extensions to the server error log.</p>
+ <hr />
+
+ <h2><a id="isapiappendlogtoquery"
+ name="isapiappendlogtoquery">ISAPIAppendLogToQuery
+ directive</a></h2>
+ <!--%plaintext &lt;?INDEX {\tt ISAPIAppendLogToQuery} directive&gt; -->
+ <a href="directive-dict.html#Syntax"
+ rel="Help"><strong>Syntax:</strong></a> ISAPIAppendLogToQuery
+ on|off<br />
+ <a href="directive-dict.html#Default"
+ rel="Help"><strong>Default:</strong></a> off<br />
+ <a href="directive-dict.html#Context"
+ rel="Help"><strong>Context:</strong></a> server config<br />
+ <a href="directive-dict.html#Override"
+ rel="Help"><strong>Override:</strong></a> None<br />
+ <a href="directive-dict.html#Status"
+ rel="Help"><strong>Status:</strong></a> Base<br />
+ <a href="directive-dict.html#Module"
+ rel="Help"><strong>Module:</strong></a> mod_isapi<br />
+ <a href="module-dict.html#Compatibility"
+ rel="Help"><strong>Compatibility:</strong></a> Apache 1.3.13
+ and later, Win32 only
+
+ <p>Record HSE_APPEND_LOG_PARAMETER requests from ISAPI
+ extensions to the query field (appended to the CustomLog %q
+ component).</p>
+
+ <p><!--#include virtual="footer.html" -->
+ </p>
+ </body>
+</html>
+