2025-11-28 00:35:46 +09:00

190 lines
8.2 KiB
HTML
Raw Permalink Blame History

<head>
<title>IIS Samples - Simple ISAPI Extension</title>
</head>
<body>
<a name="top"></a>
<p>
<h2>IIS Samples - Simple ISAPI Extension</h2>
<a name="IIS_Simple"></a>
<p>This sample demonstrates how to use the required functions of every ISAPI extension. When learning
ISAPI, this is a good place to start.</p>
<p><font color="blue"><b>Important</b></font> &nbsp; These samples are provided for educational purposes only. They are not
intended to be used in a production environment, have not been tested in a production
environment, and Microsoft does not provide technical support for them.
<p>
&nbsp;</p>
<p>
<a href="#ovr">Sample Overview</a><br>
<a href="#req">Requirements</a><br>
<a href="#loc">Location of the Source Code</a><br>
<a href="#bld">Build and Install the Sample</a><br>
<a href="#run">Run the Sample</a><br>
<a href="#out">Sample Output</a><br>
<a href="#hlp">Helpdesk</a></p>
<p>
&nbsp;</p>
<h4><a name="ovr"></a>Sample Overview</h4>
<p>Every ISAPI extension needs to implement three functions so that IIS can use it properly.
The <b>GetExtensionVersion</b> function should use the version structure provided by IIS to set
the ISAPI architectural version number of this extension.
The <b>HttpExtensionProc</b> function processes the request and outputs the appropriate response
to the web client using WriteClient().
The <b>TerminateExtension</b> function is called when the WWW service is shutdown and typically
contains cleanup code. More information is contained in the source files for the sample.</p>
<font size="2"><a href="#top">to top</a></font>
<p>&nbsp;</p>
<h4><a name="req"></a>Requirements</h4>
<p>This sample requires the installation of the following software to
function properly:</p>
<ul>
<li>Windows XP Professional with IIS 5.1 installed or Windows XP Server with
IIS 6.0 installed.</li>
</ul>
<font size="2"><a href="#top">to top</a></font>
<p>&nbsp;</p>
<h4><a name="loc"></a>Location of the Source Code</h4>
<p>IIS samples are included in the IIS Software Developer Kit (SDK).
You can download the IIS SDK from
<a href="http://go.microsoft.com/fwlink/?LinkId=7298">Platform SDK Update</a>.
You can view the SDK at <a href="http://go.microsoft.com/fwlink/?LinkId=1694">MSDN Online</a>.
In the table of contents at MSDN Online, click <b>Web Development</b>, <b>Server Technologies</b>,
<b>Internet Information Services (IIS)</b>, <b>SDK Documentation</b>,
<b>Internet Information Services</b>, <b>Samples</b>.</p>
<p>The following source code files are required for this sample:</p>
<table border="1">
<tr>
<th>File</th>
<th>Description</th>
</tr>
<tr>
<td>Simple.sln</td>
<td>Simple Visual Studio .NET solution file, required to build this sample in Visual Studio .NET.</td>
</tr>
<tr>
<td>Simple.vcproj</td>
<td>Simple Visual Studio .NET C Project file, required to build this sample in Visual Studio .NET.</td>
</tr>
<tr>
<td>Simple.dsp, Simple.dsw</td>
<td>Simple Visual Studio 6.0 project files, required to build this sample in Visual Studio Version 6.</td>
</tr>
<tr>
<td>Simple.cpp</td>
<td>Simple source modules containing the code that implements the sample.</td>
</tr>
<tr>
<td>Simple.def</td>
<td>Simple.dll definition containing code for creating the sample.</td>
</tr>
<tr>
<td>MAKEFILE</td>
<td>Simple makefile for command line compilation</td>
</tr>
<tr>
<td>Run.htm</td>
<td>Simple Web file, required to illustrate how the sample file is used.</td>
</tr>
</table><br>
<font size="2"><a href="#top">to top</a></font>
<p>&nbsp;</p>
<h4><a name="bld"></a>Build and Install the Sample</h4>
<p>To build this sample using the Visual C++ IDE, the following
steps must be performed:</p>
<ol>
<li>Open the solution (VS.NET) or desktop (VS6) file to open the project.</li>
<li>Click <b>Build</b> to create the DLL.</li>
</ol>
<p>To build and run this sample without using the Visual C++ IDE, the
following steps must be performed:</p>
<ol>
<li>Type <b>NMAKE All</b> from the command line. For example, if your sample files are located in
a folder called <code>C:\MySamples</code>, type the following at the command line:
<pre>cd /d c:\MySamples
NMAKE All</pre>
</li>
</ol>
<p>&nbsp;</p>
<p>To install this sample, the following steps must be performed:</p>
<ol>
<li>Copy the Simple.dll and Run.htm files to a physical folder on your computer. For example,
create a folder called <code>C:\Samples</code> and copy the files to that folder.</li>
<li>Create a virtual directory that maps to the physical folder containing your files. To create
a virtual directory, open the Internet Information Services (IIS) Manager by clicking <b>Start</b>,
<b>Run</b>, type <code>inetmgr</code> in the text box and click <b>OK</b>. Right-click on the Web
site where you want to create a virtual directory, click <b>New</b>, and click <b>Virtual
Directory</b>. In the <b>Alias</b> text box, type the name you want for your virtual directory, for
example, <code>Simple</code>. In the <b>Directory</b> text box, type the path to the
folder that contains your files.
<li>Configure strong security on your new virtual directory. Right-click the virtual directory name,
click <b>Properties</b>, and click the <b>Directory Security</b> tab. Press F1 for tips on
securing your virtual directory.</li>
<li>Use Windows Explorer to set restricted access control on the sample .dll file in its physical folder.
For more information, click <b>Start</b>, <b>Help and Support</b>, and search for <b>Access Control</b>.</li>
</ol>
<font size="2"><a href="#top">to top</a></font>
<p>&nbsp;</p>
<h4><a name="run"></a>Run the Sample</h4>
<p>In order to run this sample, follow the instructions listed below:</p>
<ol>
<li>Browse to your sample Web files in Internet Explorer (IE). For example, if your files are in a
virtual directory called <code>Simple</code>, type
<code>http://localhost/Simple/Run.htm</code> in the <b>Address</b> bar
of IE.
</li>
</ol>
<font size="2"><a href="#top">to top</a></font>
<p>&nbsp;</p>
<h4><a name="out"></a>Sample Output</h4>
<p>The following output is displayed somewhere after you perform step 1 from <b>Run the Sample</b>:</p>
<pre><b>Simple ISAPI Extension</b>
Copy the Simple.dll into the same directory as this html file. Then click here.
</pre>
<p>After you click <code>Then click here</code>, the following is displayed:</p>
<pre>Hello from Simple ISAPI Extension DLL!
</pre>
<font size="2"><a href="#top">to top</a></font>
<p>&nbsp;</p>
<h4><a name="hlp"></a>Help Desk</h4>
<p>If here you do not find answers to your questions, visit the
<a href="http://go.microsoft.com/fwlink/?linkid=1782">Microsoft Help and Support</a>
Web site.</p>
<table border="1">
<tr>
<th>Problem</th>
<th>Possible Solution</th>
</tr>
<tr>
<td>When browsing to the HTM page, IE returns <b>HTTP 404 - File not found</b></td>
<td>Verify that you have created a virtual directory of the same name you
are typing in the Address box of IE....</td>
</tr>
<tr>
<td>When building the dll, C++ returns the a permissions error.</td>
<td>Once you have called the dll from your web page, your system considers
it a loaded dll. You must unload it to build it again, either by
unloading the ASP application or deleting the dll from system32\dllcache.</td>
</tr>
<tr>
<td>When building the dll, C++ returns a permissions error.</td>
<td>Once you have called the dll from your web page, your system considers
it a loaded dll. You must unload it to build it again, either by
unloading the ASP application or deleting the dll from system32\dllcache.</td>
</tr>
<tr>
<td>When browsing to the dll, IE gives you a permissions error.</td>
<td>The folder and virtual directory must have Execute permissions set on them.</td>
</tr>
</table><br>
<font size="2"><a href="#top">to top</a></font>
<hr class="iis" size="1">
<p align="center"><i><EFBFBD> 1997-2002 Microsoft Corporation. All rights reserved.</i></p>
</body>
</html>