將串行應用移植到USB接口的簡便方法(06-100)
現(xiàn)在可以將應用連接到PC上,來看看Windows即插即用技術的響應了。 在對所有USB應用都適用的初始枚舉階段(在USB 2.0標準的第9章描述)之后,屏幕上將彈出一個對話框,提醒用戶已經(jīng)發(fā)現(xiàn)一個新的硬件設備,需要為操作系統(tǒng)對其進行配置,以便使用它。 雖然CDC驅動程序已經(jīng)是操作系統(tǒng)的一部分,但仍然需要更多的信息來幫助將新發(fā)現(xiàn)的設備與驅動程序進行綁定。 這會在Windows硬件管理器中創(chuàng)建針對特定端口的“屬性頁”,以后用戶可以用它卸載或重新配置端口。 在安裝階段,需要一個很小的純文本文件(擴展名為.inf)。需要先用(文本編輯器)準備好,當即插即用向導要求時提供。“.inf”舉例如下:
本文引用地址:http://cafeforensic.com/article/81086.htm ; Windows USB CDC ACM Setup File
; Copyright (c) 2000 Microsoft Corporation
; Copyright (C) 2004 Microchip Technology
Inc.
[Version]
Signature="$Windows NT$"
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-
08002BE10318}
Provider=%MCHP%
LayoutFile=layout.inf
DriverVer=08/17/2001,5.1.2600.0
[Manufacturer]
%MFGNAME%=DeviceList
[DestinationDirs]
DefaultDestDir=12
[SourceDisksFiles]
[SourceDisksNames]
[DeviceList]
%DESCRIPTION%=DriverInstall, USBVID
_04D8&PID_000A
;-----------------------------------------------
-------------------------------
; Windows 2000/XP Sections
;-----------------------------------------------
-------------------------------
[DriverInstall.nt]
CopyFiles=DriverCopyFiles
AddReg=DriverInstall.nt.AddReg
[DriverCopyFiles]
usbser.sys,,,0x20
[DriverInstall.nt.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,usbser.sys
HKR,,EnumPropPages32,,"MsPorts.dll,
Serial PortPropPageProvider"
[DriverInstall.nt.Services]
AddService=usbser, 0x00000002, Driver
Service
[DriverService]
DisplayName=%SERVICE%
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%usbser.sys
;------------------------------------------------ ------ ------------------------
; String Definitions
;------------------------------------------------ ------ -----------------------
[Strings]
MCHP="Microchip Technology Inc."
MFGNAME="Microchip Technology Inc."
DESCRIPTION="Communications Port"
SERVICE="USB RS-232 Emulation Driver"
上面的“.inf”例子可用作模板進行快速定制。 文件格式非常簡單,大多數(shù)Windows程序員都能快速讀懂。 即使對于不太熟悉的人,也可以很快識別中文件由不同部分組成,每個部分的標題包含在方括號中,在相應部分內(nèi)有一或多個由參數(shù)名稱和參數(shù)值組成的正文。 在整個文件中,只能少數(shù)幾個部分需要用戶定制,包括:
·[Device List] 部分包括從USB-IF獲得(許可)的公司和應用獨有的VID/PID號碼對以及其它信息。
·[Strings]部分包含操作系統(tǒng)在即插即用階段在不同的對話框中使用的不同字符串和標識,以及在硬件管理器中標識設備的字符串和標識。
評論