Serial Mouse Sample Builds but Doesn't Install
ID: Q153966
|
The information in this article applies to:
-
Microsoft Win32 Device Driver Kit (DDK) Windows 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 query words:
4.00 Windows 95
Keywords : kbDDK kbInput kbMouse kbHID
Version : 4.00
Platform : WINDOWS
Issue type :