Annotation of q_a/samples/ddk/portio/readme.txt, revision 1.1.1.1

1.1       root        1: Generic Port I/O Driver
                      2: 
                      3: Included with this file:
                      4:      a Windows NT device driver to provide simple access to 8/16/32 bit IO
                      5:      ports using IOCTL calls.
                      6: 
                      7:      some simple test programs which read from ports and write to them. 
                      8: 
                      9: This sample is based on a driver submitted by Robert R. Howell, which in turn
                     10: was based on the adlib driver in the DDK.  We cleaned up the comments, tested
                     11: dynamic loading/unloading and added registry support.  Any questions regarding
                     12: this sample should be directed to Microsoft.
                     13: 
                     14: This driver provides an example of a minimal driver.  Neither it, nor the
                     15: sample programs are intended to be used in a production environment.  Rather,
                     16: they are intended as a skeleton driver for those devices which do not use
                     17: interrupts or DMA.
                     18: 
                     19: ===============================================================
                     20: BUILDING THE DRIVER AND EXAMPLES:
                     21: ---------------------------------------------------------------
                     22: To compile the device driver:
                     23:  
                     24:     1) Run the "SETENV.BAT" which should be in the MSTOOLS directory.  This 
                     25:        sets basic environment variables needed by NT.  The program does not 
                     26:        require any arguments. 
                     27: 
                     28:     2) Run the "SETENV.BAT" which should be in the DDK directory.  This sets 
                     29:        the environment variables needed by the DDK programs.  It does require 
                     30:        command line arguments.  It will print out instructions if run without
                     31:        arguments.
                     32: 
                     33:     3) Run "BUILD".  This invokes the Microsoft make routines.
                     34:        They produce log files called BUILD.WRN, and BUILD.LOG.
                     35:        The WRN file will contain warnings that no components have been
                     36:        extracted from certain libraries, even if the build succeeds.
                     37:        If it does succeed the driver will be named genport.sys and
                     38:        can be found in the I386 subdirectory created by BUILD.
                     39: 
                     40:     4) Copy the genport.sys file from the obj\I386 subdirectory created by
                     41:        BUILD to the \WINNT\SYSTEM32\DRIVERS directory where all the NT device
                     42:        drivers are stored.  If the system responds  "ACCESS DENIED" then a
                     43:        previous version of the file is currently in use, and NT will not let
                     44:        you replace it.  You can unload it by typing "net stop genport".
                     45: 
                     46: ---------------------------------------------------------------------------
                     47: To compile the NT test programs:
                     48: 
                     49:     2) Run "SETENV.BAT" which is in the MSTOOLS directory.  It sets the 
                     50:        environment variables needed by the SDK programs.
                     51: 
                     52:     3) Run "NMAKE -f gptest.mak".  It will build two programs:  gpdread and
                     53:        gpdwrite.  If you just type the program name without any parameters,
                     54:        they will print instructions.
                     55: 
                     56: ------------------------------------------------------------------------
                     57: To install the Generic Port I/O driver (GENPORT) use the REGINI utility to
                     58: create the entries listed in the genport.ini file.
                     59: 
                     60: --------------------------------------------------------
                     61: To use the IOCTL directly, see the comments in the example programs.
                     62: 
                     63: They
                     64:       1) Open "\\.\GpdDev" using CreateFile.
                     65:       2) Read from the port by placing the relative address (0, 1, 2, .. )
                     66:          into a buffer, calling an IOCTL, then reading a buffer.
                     67:       3) Write to the port by placing the relative address and a 
                     68:          value into a buffer then calling an IOCTL. 
                     69:       4) Close the device with  CloseHandle.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.