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上で)動作します。 誰でもこの問題に関するアイデアはありますか?
エラーコード31は、「このデバイスに必要なドライバをWindowsに読み込めないため、このデバイスが正しく動作していません」という意味です。 - マシンは64ビットOSで動作していますか?そうであれば、ドライバの署名検証をオフにし、テスト署名を有効にする必要があります。 – Polynomial
私の行動:1)bcdedit/set testsigning on 2)再起動3)ロード時にf8を押して、ドライバチェックを必要としないを選択してください。 – user1025874