2012-02-21 10 views
0

私はCDCデバイスを持っています。私は彼のための運転手を開発する。 iniファイルの パート:常にusb cdcデバイスドライバ

c->ConnectionIndex = iPort; 
c->SetupPacket.bmRequest = 0x80; 
c->SetupPacket.wValue = (USB_STRING_DESCRIPTOR_TYPE<<8)|descriptorNum; 
c->SetupPacket.wLength = n; 
Success = DeviceIoControl(
    hRoot, 
    IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION, 
    c, n, 
    c, n, 
    &returnBytes, 
    NULL); 
///Sometime GetLastError == 31 // Device not working 

desctop(PC)上でこのコード通常の作業が、唯一いつか、インストール時にラップトップ(ノートブック)でデバイスを動作します:

[ClassInstall32] 
CopyFiles=ClassInstall.CopyFiles 
AddReg=ClassInstall.AddReg 

[ClassInstall.CopyFiles] 
My_USBDriver.dll,,,0x2000 

[ClassInstall.AddReg] 
HKR,,,,%DEVICEMANAGERCATEGORY% 
HKR,,Icon,,"102" 
HKR,,Installer32,,"My_USBDriver.dll,MyUSBPortsClassInstaller" 
HKR,,NoInstallClass,,1 

[DriverInstall] 
include=mdmcpq.inf 
CopyFiles=DriverInstall.CopyFiles 
AddReg=DriverInstall.AddReg 

[DriverInstall.CopyFiles] 
usbser.sys,,,0x2000 

[DriverInstall.AddReg] 
HKR,,DevLoader,,*ntkern 
HKR,,NTMPDriver,,%DRIVERFILENAME%.sys 

[DriverInstall.Services] 
AddService=usbser, 0x00000002, DriverService 

[DriverService] 
DisplayName=%SERVICE% 
ServiceType=1 
StartType=3 
ErrorControl=1 
ServiceBinary=%12%\%DRIVERFILENAME%.sys 

インストーラ機能は、コードを持っています(システムによるインストール機能呼び出し)。これらのmashinesのOSはWindows7です。 しかし私は私のprogrm(デバッグ用に作成された)からインストール機能を呼び出すと、このコードは常に正しく(ノートブックやPC上で)動作します。 誰でもこの問題に関するアイデアはありますか?

+0

エラーコード31は、「このデバイスに必要なドライバをWindowsに読み込めないため、このデバイスが正しく動作していません」という意味です。 - マシンは64ビットOSで動作していますか?そうであれば、ドライバの署名検証をオフにし、テスト署名を有効にする必要があります。 – Polynomial

+0

私の行動:1)bcdedit/set testsigning on 2)再起動3)ロード時にf8を押して、ドライバチェックを必要としないを選択してください。 – user1025874

答えて

0

あなたはデスクトップとラップトップと言ったが、私はコンピュータの形状が重要ではないと思う。 1つは32ビットOSですか?もう1つは64ビットですか? 64ビットINFセクションは表示されません。

関連する問題