Annotation of ntddk/src/vdd/dosioctl/readme, revision 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.