阅读:813回复:3
入门
写好WDM驱动后
1。改注册表在local mechine下的system/currentcontrolset/service/建立与驱动同名的键 (如:bulkusb.sys 就是 bulkusb 键),然后在该键下面建立四个值 Type(DWORD) 1 ErrorControl (DWORD) 1 Start (DWORD) 3 DisplayName \"test device\" 2。copy sys文件到系统目录的driver下 3。重启机器 ------------------------- 手动启动driver的方法是这样的:(择抄于WIN2K设备驱动设计指南) SC_HANDLE m_hSCM; DWORD m_state; SC_HANDLE m_hDriver; if (m_hSCM == NULL) { m_hSCM = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS); if (m_hSCM == NULL) { AfxMessageBox(\"Failed to gain access to the Service Control Manager\\n\" \"Possibly running without Administrator rights?\"); return false; } } if (m_hDriver == NULL) { m_hDriver = OpenService(m_hSCM, m_drvName, SERVICE_ALL_ACCESS); if (m_hDriver == NULL) { CString msg; msg.Format(\"Failed to locate driver: %s\", m_drvName); AfxMessageBox(msg); return false; } } // Query driver to see if currently stopped... SERVICE_STATUS ss; ControlService(m_hDriver, SERVICE_CONTROL_INTERROGATE, &ss); if (ss.dwCurrentState != SERVICE_STOPPED) { AfxMessageBox(\"Driver is not in STOPPED state\"); return; } // Now do the request - start the thing DWORD success = StartService(m_hDriver, 0, NULL); // no args if (!success) { DWORD err = GetLastError(); CString msg; msg.Format(\"The attempt to start service %s failed due to error: %d\", m_drvName, err); AfxMessageBox(msg); return; } ----------------------------------------------- 就可以在设备管理器中看到你的设备了 |
|
沙发#
发布于:2002-11-12 11:13
咋了,
|
|
|
板凳#
发布于:2002-11-12 12:38
我是个新手,所以把自己的一点入门知识写出来,求证一下,也想供其他像我一样的人参考一下
|
|
地板#
发布于:2002-11-12 14:05
挺好...
|
|
|