Serial Mouse Sample Builds but Doesn't Install

Last reviewed: July 25, 1996
Article ID: Q153966
The information in this article applies to:
  • Microsoft Windows Device Development Kit (DDK), version 95

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 reference words: 4.00 Windows 95
KBCategory: kbprg
KBSubcategory: DdkMouse



THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: July 25, 1996
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.