Serial Mouse Sample Builds but Doesn't Install

ID: Q153966


The information in this article applies to:


SUMMARY

The serial mouse sample VxD on the Win95 DDK CD in mouse\samples\sermou builds correctly using the MAKEFILE, but the resulting binary cannot be installed properly using the supplied INF. If you have tried this by moving the VXD and INF from the RETAIL folder onto a floppy disk and starting the Hardware Wizard, everything seems to install, but the driver never starts.


MORE INFORMATION

You can see the problem by debugging the Sermou_Initialize procedure. It is a series of checks and operations. Near the top, it loads the COMINFO struct from the registry. However, this step always fails because there is no such entry made by the INF file. The following INF repairs this problem, as well as a few typographical errors, and also shows how to claim the specific resources being used. Because this is a sample, you will need to edit it for your com port and delete the port itself from the Device Manager first. This is not necessary for the default VMOUSE serial behavior but is included as if this is to be adapted to a new non-serial hardware resource. Also, to make the ASM code always reverse X/Y without having to toggle from the debugger, comment out the first two instructions of the My_Manipulator procedure.

Sample Code


   ; start INF
   ; Setup file for sample VMOUSE minidriver
   ; Copyright 1993-1996 Microsoft Corporation
   ; modified for KB updated June 96 to repair sample on Win95 DDK April 96
   and before

   [Version]
   Signature="$CHICAGO$"
   Class=Mouse
   Provider=%MS%
   
   [DestinationDirs]
   DefaultDestDir = 11        ; LDID_SYS
   Sermou.Copy    = 11
   
   [SourceDisksNames]
   91=%SerMouDisk%,,1
   
   [SourceDisksFiles]
   sermou.vxd=91
   
   [Manufacturer]
   %MS%=MS
   
   ; Manufacturer Sections
   ; ----------------------------------------
   [MS]
   %Sermou.Desc%=Sermou
   
   ; Install sections
   ; ----------------------------------------
   [Sermou]
   DelReg=Prev.DelReg
   AddReg=VMOUSE.AddReg
   CopyFiles=Sermou.Copy
   UpdateInis=Sermou.Ini
   LogConfig=SampConfig
   
   [Prev.DelReg]
   HKR,,DevLoader
   HKR,,MouseDriver
   
   [VMOUSE.AddReg]
   HKR,,DevLoader,,*vmouse
   HKR,,MouseDriver,,sermou.vxd
   ;This manually set right here for your machine - to test sample - COM1
   ;HKLM,"Enum\Root\Mouse\0000",COMINFO,1,F8,02,03,02 ;COM2
   HKLM,"Enum\Root\Mouse\0000",COMINFO,1,F8,03,04,01 ;COM1
   
   [Sermou.Copy]
   sermou.vxd
   
   [Sermou.Ini]
   system.ini,boot.description,,"mouse.drv=%Sermou.Desc%"
   system.ini,boot,,"mouse.drv=mouse.drv"
   system.ini,386Enh,,"mouse=*vmouse"
   
   ;This manually set right here for your machine - to test sample - COM1
   ;Note that using the following will cause you to first remove the COM
   port installed there
   ;  since it accesses the serial port directly.
   ;It shows how you would claims resources exclusively by means of the
   INF.
   [SampConfig]
   ConfigPriority=HARDRECONFIG
   ;IOConfig=2f8-2ff(3ff::)      ;standard COM2
   ;IRQConfig=S:3
   IOConfig=3f8-3ff(3ff::)      ;standard COM1
   IRQConfig=S:4
   
   ; ----------------------------------------
   ; User-visible Strings
   
   [Strings]
   SerMouDisk="Sample Win95 Mouse Driver Disk June 96"
   MS="Microsoft"
   Sermou.Desc="Win95 Sample Serial Mouse Minidriver June 96"
   
   ; end INF 


REFERENCES

WDEB386 debugger and the Windows 95 DDK.

Additional query words: 4.00 Windows 95


Keywords          : kbDDK kbInput kbMouse kbHID 
Version           : 4.00
Platform          : WINDOWS 
Issue type        : 

Last Reviewed: March 5, 1999