2009-12-22 17 views
6

मुझे एक डब्लूडीएम ड्राइवर बनाने की जरूरत है जो मौजूद डिवाइस को अनुकरण नहीं करता है। ड्राइवर,, जब O/S जूते, खोला और SetupDiXXX और CreateFile के माध्यम से बंद कर दिया लोड करने की आवश्यकता DeviceIoControl के लिए प्रतिक्रिया करने की जरूरत है आदिमैं विंडोज ड्राइवर कैसे विकसित कर सकता हूं जो हार्डवेयर को स्पर्श नहीं करता है?

मैं ड्राइवर कोडित है, लेकिन XP लोड करने के लिए मना कर दिया। प्रणाली घटना दर्शक का कहना है:

The MyDevice service failed to start due to the following error: The service cannot be started, either because it is disabled or because it has no enabled devices associated with it.

को देखते हुए मुझे लगता है कि, समस्या INF फ़ाइल (नीचे संदर्भ) में है। क्या यह? मुझे इसे ठीक करने के बारे में कैसे जाना चाहिए?

 
;; MyDevice.inf 

[Version] 
Signature="$Windows 95$" 

Class=MyDeviceDeviceClass 
ClassGUID={ff646f80-8def-11d2-9449-00105a075f6b} 
Provider=%ProviderName% 
DriverVer= 12/21/2009,1.0.0.1 

[ClassInstall32] 
Addreg=Class_AddReg 

[Class_AddReg] 
HKR,,,,%DeviceClassName% 
HKR,,Icon,,"-18" 

[DestinationDirs] 
MyDevice_Files_Driver = 10,System32\Drivers 


[Manufacturer] 
%MfgName%=Mfg0 

[Mfg0] 
%DeviceDesc%=MyDevice_DDI, *MyDevice 


[MyDevice_DDI] 
CopyFiles=MyDevice_Files_Driver 
AddReg=MyDevice_9X_AddReg 


[MyDevice_DDI.NT] 
CopyFiles=MyDevice_Files_Driver 
AddReg=MyDevice_NT_AddReg 

[MyDevice_DDI.NT.Services] 
Addservice = MyDevice, 0x00000002, MyDevice_AddService 

[MyDevice_AddService] 
DisplayName = %SvcDesc% 
ServiceType = 1 
StartType  = 3 
ErrorControl = 1 
ServiceBinary = %10%\System32\Drivers\MyDevice.sys 

[MyDevice_NT_AddReg] 
HKLM, "System\CurrentControlSet\Services\MyDevice\Parameters","BreakOnEntry", 0x00010001, 0 

[MyDevice_Files_Driver] 
MyDevice.sys 


[Strings] 
ProviderName="Acme" 
MfgName="Acme" 
DeviceDesc="Acme" 
DeviceClassName="Device class for MyDevice" 
SvcDesc="MyDevice NT service" 
+1

मुझे जवाब नहीं पता, लेकिन नल-मोडेम एमुलेटर (http://com0com.sourceforge.net/) जैसी परियोजनाएं इंगित करती हैं कि यह संभव है। शायद आप उस परियोजना को देखकर कुछ हासिल कर सकते हैं? –

+0

com0com ड्राइवर जो मुझे चाहिए, उसके करीब है, लेकिन समाधान का 100% नहीं: मुझे ड्राइवर को "नया हार्डवेयर जोड़ें" नियंत्रण कक्ष से भी इंस्टॉल करना पड़ा। आईएनएफ स्थापित करने पर बस राइट-क्लिक पर्याप्त नहीं था। – Clay

उत्तर

4

स्व उत्तर दिया:

मैं निम्नलिखित शामिल करने के लिए INF बदल दिया है:

[Mfg0] %DeviceDesc%=MyDevice_DDI, *MyDevice\ipm1

"\ ipm1" नया है, और मेरी आँखों में एक छोटे से वूडू। मुझे क्रिस कैंट के "लेखन विंडोज डब्लूडीएम डिवाइस ड्रॉर्स" में एक उदाहरण से मिला।

बड़ा परिवर्तन ड्राइवर स्थापित करने के लिए नियंत्रण कक्ष से "नया हार्डवेयर जोड़ें" विज़ार्ड का उपयोग कर रहा है। आईएनएफ स्थापित करने पर राइट-क्लिक पर्याप्त नहीं है। मुझे संदेह है कि यह कारण है कि यह पीएनपी प्रबंधक को आमंत्रित करता है जो ड्राइवर को नियंत्रित करने के लिए हार्डवेयर खोजने में सही ढंग से विफल रहता है।

संबंधित मुद्दे

 संबंधित मुद्दे