Annotation of ntddk/src/vdd/dosioctl/readme, revision 1.1.1.1

1.1       root        1: 
                      2: 
                      3: DOSIOCTL
                      4: 
                      5: This sample demonstrates the simulation of DOS function calls under NT.
                      6: Specifically, it shows how a DOS driver and VDD can tranlate DOS OPEN's,
                      7: CLOSE's and IOCTL's to the Win32 calls CreateFile(), CloseHandle() and
                      8: DeviceIoControl().
                      9: 
                     10: This 4 modules that make up this sample are listed below:
                     11: 
                     12:     DOSAPP      - DOS Application
                     13:     DOSDRVR     - DOS Device Driver
                     14:     VDD         - NT Virtual Device Driver
                     15:     KRLNDRVR    - NT Kernel Device Driver
                     16: 
                     17: These four modules work together to illustrate the basic communication
                     18: mechanisms that exist for each component.  When these components are
                     19: properly installed, running the DOS application will cause the following
                     20: chain of events to occur:
                     21: 
                     22: 
                     23:   1) DOSAPP issues an IOCTL Read.
                     24: 
                     25:   2) DOSDRV passes the call and buffer pointer to the VDD with the
                     26:      DispatchCall() function.
                     27: 
                     28:   3) VDD passes the buffer pointer from DOSDRV to KRNLDRVR with
                     29:      the Win32 DeviceIoControl() function.
                     30: 
                     31:   4) KRNLDRVR responds to the IOCTL with static information.
                     32: 
                     33:   5) The chain returns, and DOSAPP displays the information.
                     34: 
                     35: 
                     36: When the DOS application is run, it should produce the following line:
                     37: 
                     38: IOCTL Read returns: 12345678
                     39: 
                     40: The significance of this output is that the value x'12345678' is
                     41: defined only in the NT kernel driver. The sole purpose of the other
                     42: components is to deliver this single piece of data from the NT
                     43: driver to the DOS application.
                     44: 
                     45: 
                     46: Installing and Running this sample
                     47: ----------------------------------
                     48: 
                     49: KRNLDRVR
                     50: --------
                     51: 
                     52: You can use Regedt32 to create a SERVICES entry for
                     53: the krnldrvr driver. Create a key under:
                     54: 
                     55:     HKEY_LOCAL_MACHINE\CurrentControlSet\Services\KRNLDRVR
                     56: 
                     57: with the following values:
                     58: 
                     59:     ErrorControl:DWORD 1
                     60:     Start:DWORD 3
                     61: 
                     62: Copy the KRNLDRVR.SYS created by the build process to the NT
                     63: SYSTEM32\DRIVERS directory. From and administrator account on
                     64: the machine, issue:
                     65: 
                     66:     NET START KRNLDRVR
                     67: 
                     68: Starting the driver manually in this manner can be beneficial
                     69: during the coding and testing phase of creating your own driver.
                     70: 
                     71: 
                     72: VDD
                     73: ---
                     74: 
                     75: Because the DOS driver explicitly loads the VDD with a RegisterModule(),
                     76: the VDD.DLL file produced by the build process need only be available
                     77: in the search path.
                     78: 
                     79: DOSDRVR
                     80: -------
                     81: 
                     82: The DOS driver can be loaded by adding a "device=" line in the CONFIG.NT
                     83: file in the SYSTEM32 directory.
                     84: 
                     85: 
                     86: DOSAPP
                     87: ------
                     88: 
                     89: The DOSAPP may simply be executed from any directory.

unix.superglobalmegacorp.com

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