A method for creating a virtual device driver that runs under both Windows
3.x and Windows 95 operating systems is disclosed. There are two basic
obstacles to be overcome in creating a virtual device driver VxD that will
operate under both Windows 95 and Windows 3.x. The first obstacle, that of
identificational incompatibility, is cured by disguising a Windows 95
compatible driver as a Windows 3.x compatible driver. This is done by
renaming the Windows 95 driver with a file name having the three-character
extension "386". The version number within a Device Descriptor Block must
also be changed in order to effect a total disguise. Once the
identificational incompatibility has been cured through the aforementioned
steps, Windows 3.x will load the Windows 95 driver. The second obstacle,
that of partial functional incompatibility, is cured by appending
additional logic and supplementary Windows 3.x emulation routines to the
Windows 95 driver. The logic works in the following manner: Whenever a
Windows 3.x operating system call is made to the driver, the standard
Windows 95 driver interface is granted control whenever that interface is
compatible with Windows 3.x. However, whenever direct control by the
standard Windows 95 driver interface is incompatible with Windows 3.x, the
Windows 3.x driver interface is emulated by the supplementary routines.
Um método para criar um excitador de dispositivo virtual que funcione sob sistemas se operando de Windows 3.x e de Windows 95 é divulgado. Há dois obstáculos básicos ser superado em criar um excitador que de dispositivo virtual VxD que se operará sob Windows 95 e Windows 3.x. o primeiro obstáculo, aquele do incompatibility do identificational, é curado disfarçando um excitador compatível de Windows 95 como um excitador compatível de Windows 3.x. Isto é feito rebatizando o excitador de Windows 95 com um nome da lima que tem a extensão three-character "386". O número de versão dentro de um bloco do descriptor do dispositivo deve também ser mudado a fim efetuar um disfarce total. Uma vez que o incompatibility do identificational foi curado com as etapas acima mencionadas, Windows 3.x carregará o excitador de Windows 95. O segundo obstáculo, aquele do incompatibility funcional parcial, é curado adicionando a lógica adicional e rotinas suplementares da emulation de Windows 3.x ao excitador de Windows 95. A lógica trabalha na seguinte maneira: Sempre que uma chamada do sistema se operando de Windows 3.x é feita ao excitador, a relação padrão do excitador de Windows 95 é concedida o controle sempre que essa relação é compatível com Windows 3.x. entretanto, sempre que o controle direto pela relação padrão do excitador de Windows 95 é incompatível com Windows 3.x, o excitador que de Windows 3.x a relação é emulada pelas rotinas suplementares.