home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 February / CHIP_2_98.iso / software / pelne / optionp / iis4_07.cab / README.TXT11 < prev    next >
Text File  |  1997-10-25  |  4KB  |  91 lines

  1. FORMDUMP - Form Decoder and Dumper, an Internet Information Server extension
  2.  
  3. NOTE: FORMDUMP has been revised from its first release
  4.  
  5. This sample is a Microsoft Internet Server extension, similar to CGI
  6. extensions common to many internet servers.  FORMDUMP illustrates how
  7. to write a DLL that can be used to obtain form data from a web
  8. browser, and also how to build a reply to the form.
  9.  
  10. This version of FORMDUMP incorporates two new features useful in
  11. exploring how forms are submitted.  The original version of FORMDUMP
  12. is structured into two major parts: organizing inbound data
  13. into a memory structure, and using that data to build a HTML page.
  14. This version adds a dump of the server variables as well as the
  15. security context in which the DLL thread runs in.
  16.  
  17. HttpExtensionProc does the following:
  18.  
  19. 1. Sends the header of the HTML response
  20. 2. Parses inbound form fields and send them back as HTML
  21. 3. Determines the security context in which the thread is running,
  22.    and return the domain and user as HTML
  23. 4. Uses GetServerVariable to retrieve all server variables, and
  24.    send them back as HTML
  25. 5. Sends the footer of the HTML resoponse
  26. 6. Returns control to IIS
  27.  
  28. This version also adds an HtmlPrintf() function in html.h.
  29.  
  30. To build this sample, you must have the Internet SDK installed,
  31. and the environment of your compiler properly set.  A Visual C++ 
  32. 4.0 makefile is included.
  33.  
  34. The following files are included in the sample:
  35.  
  36. FORMDUMP.CPP - The main source file and entry point for the DLL.
  37.  
  38. KEYS.CPP     - A set of reusable form data decoding functions.  They
  39.                implement an interface that you can use in your own
  40.                extension.
  41.  
  42. HTML.CPP     - A set of wrappers for common HTML features.  These
  43.                wrappers can also be reused.
  44.  
  45. KEYS.H       - The header file for the external interface
  46.                implemented in KEYS.CPP.
  47.  
  48. HTML.H       - The header file for all functions available in HTML.CPP.
  49.  
  50. FORMDUMP.DEF - The definition file (one is required for all Win32 DLLs).
  51.  
  52. FORMDUMP.MAK - A Visual C++ 4.0 make file.
  53.  
  54. MAKEFILE     - A generic make file
  55.  
  56.  
  57. NOTE: The source files all have .CPP extensions, though they really don't
  58. rely on any C++ specific features.  However, you can use C++ features,
  59. and if you use any of these .CPP files, you do not need extern "C".
  60.  
  61. To Build the DLL
  62. ----------------
  63.  
  64. Simply run NMAKE in the directory containing FORMDUMP.CPP, KEYS.CPP, HTML.CPP,
  65. and so on.  You must have the multi-threaded C Runtime libraries installed,
  66. and your environment must point to:
  67.  
  68. PATH=C:\MSTOOLS\BIN;C:\COMPILER\BIN
  69. INCLUDE=C:\MSTOOLS\INCLUDE;C:\INETSDK\INCLUDE
  70. LIB=C:\MSTOOLS\LIB
  71. WWWROOT=C:\INETSRV\WWWROOT
  72. WWWSCRIPTS=C:\INETSRV\SCRIPTS
  73.  
  74. Where C:\MSTOOLS points to the Win32 SDK, C:\INETSDK points to the Internet
  75. SDK, and C:\COMPILER points to your C++ compiler.
  76.  
  77. When setting WWWROOT and WWWSCRIPTS to your Internet Information Server
  78. locations, use a local or mapped drive.  If you want to use UNC names, be
  79. careful with using a $ in the name, because NMAKE will treat it as a macro.  
  80. If you must have a $ in the environment variable, preceed it with two
  81. carets (^^$) because both the command prompt and NMAKE will convert the
  82. caret symbol.  Here is an example of how to map to \\myserver\c$: 
  83.  
  84. SET WWWROOT=\\myserver\C^^$\inetsrv\wwwroot
  85.  
  86. Another issue is the type of C Runtimes that are linked with the ISAPI 
  87. extension. Make sure the DLL version of the C Runtimes is installed on your
  88. server, in the SYSTEM32 directory.  For Visual C++, the DLLs are MSVCRT40.DLL
  89. and MSVCR40D.DLL.  If these DLLs are not available, you will see error 500
  90. when trying to access the DLL from a Web browser.
  91.