
windows驱动开发
embededvc
25年软件工程经验,在通讯,安全,计算机图形图像等领域设计过多个可靠的商业化系统软件和产品。对技术执着,喜欢追求未知领域,兴趣广泛。目前专注于工业自动化领域,研究ethercat,canopen等现场总线协议。
展开
-
wdk与DDK有什么区别
WDK采用WDF驱动模型,意为Windows Driver Foudation,是Vista及以后版本OS所采用的驱动模型,以前的DDK,是WDM驱动模型,意为Windows Driver Model转载 2011-09-27 13:47:39 · 4736 阅读 · 1 评论 -
嵌入式系统USB CDROM虚拟光驱驱动程序开发
带U盘功能的的USB接口设备已经越来越常见了。如果能够把产品说明书或者产品设备驱动程序做成一个USB CDROM,那该多方便。 假设: 你已经有了USB mass storage驱动。你的任务是在此基础上增加一个USB CDROM。 请在手边准备好:USB2.0协议,Mass storage协议,SCSI协议(可以忽略)。此外,你需要一个deb转载 2011-12-05 15:55:27 · 4650 阅读 · 0 评论 -
STM32F10X读写内部FLASH的完整工程
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4537050&bbs_page_no=1&search_mode=1&search_text=FLASH&bbs_id=3020转载 2011-11-29 23:27:24 · 1902 阅读 · 0 评论 -
STM32的USB上位机(VC++源码),动态库(VC++源码),STM32端原代码,驱动程序,全套源码
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3776746&bbs_page_no=1&bbs_id=3020转载 2011-11-29 22:58:55 · 3434 阅读 · 0 评论 -
wxWidgets处理Windows消息
经过分析src/msw/window.cpp,通过重载wxWindow的MSWWindowProc方法莱实现。 WXLRESULT MyPanel::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam) { switch( message )转载 2011-11-26 22:08:03 · 2355 阅读 · 0 评论 -
Detecting Hardware Insertion and/or Removal
http://www.codeproject.com/KB/system/HwDetect.aspxDetecting Hardware Insertion and/or RemovalBy Sam NG | 19 Jun 2006C++WindowsVisual-StudioDevIntermediateA user-mode applicatio转载 2011-11-26 22:05:31 · 2715 阅读 · 0 评论 -
vc检测USB设备插入或移除
1.添加消息映射消息映射BEGIN_MESSAGE_MAP(CONSTNETCNDlg, CDialog)//{{AFX_MSG_MAP(CONSTNETCNDlg)ON_WM_PAINT()ON_WM_QUERYDRAGICON()...ON_WM_DEVICECHANGE()//}}AFX_MSG_MAP声明消息响应函数:afx_msg BOOL转载 2011-11-26 22:00:15 · 8323 阅读 · 1 评论 -
USB在WINDOWS下的驱动开发
编程架构--------------------------------------------------------------------------------USB可以使程序员在不了解总线电气特性的情况下写出主机和设备的驱动软件。USB规范的第五章“USB数据流转载 2011-10-10 18:53:45 · 16243 阅读 · 0 评论 -
LibUsbDotNet
http://libusbdotnet.sourceforge.net/V2/Index.html转载 2011-09-28 14:03:00 · 3052 阅读 · 0 评论 -
windows外壳扩展编程之windows右键菜单
第一部分 SHELL基本概念 Windows外壳扩展(Windows Shell Extension),是一类特殊的COM对象,在这类COM对象中用户可以加入自己的特殊功能,而Windows外壳扩展最终都会被Windows Explorer所引用[1]。 A shell extension is a COM object that adds some kind of fun转载 2011-12-09 16:55:38 · 3244 阅读 · 0 评论 -
关于Platform SDK和Windows SDK
问题1:什么是Windows SDK?Windows SDK是用来支持32位和64位Windows平台以及.NET框架编程模型的开发包。Windows SDK这个名字从Windows Vista开始使用,它包含以前Platform SDK中的所有内容,同时包含.NET框架的内容。问题2:什么是Platform SDK? Platform SDK(也简写作PSDK)是在Windows V转载 2011-12-10 21:15:56 · 5206 阅读 · 0 评论 -
win7 64位下使用regsvr32注册activex dll
由于公司产品用了很多activex dll,而我的操作系统是64位的win7,在注册这些dll时碰到了很多问题,经过摸索,最后还是成功注册了,步骤如下:1、在C:\Windows\SysWOW64\下新建目录egs29oa,复制所有的dll到这个目录下2、点击开始,在“搜索程序和文件”里键入cmd,然后在搜索出来的cmd菜单上右键,以管理员的权限运行,3、此时cmd提示转载 2013-06-07 22:03:10 · 8875 阅读 · 0 评论 -
关于win7 64位下的DLL注入问题 个例
一个自己写的程序,在程序里openprocess了一个notepad.exe,然后用常规的WriteProcessMemory方法写注入,总是提示加载模块失败后来查到64位程序调用64位的DLL 32调用32的DLLtypedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);BOOL IsWow64(HANDLE h){转载 2013-06-07 22:16:25 · 4185 阅读 · 0 评论 -
在WinCE 6.0上使用远程桌面控件
说明:这个程序是从命令行执行的,解析命令行传入的参数信息,执行远程桌面连接。只描述实现过程,不讨论实现原理。1. 打开VS 2005,新建一个“MFC智能设备应用程序”项目2. 在应用程序类型处选择“单文档”;取消“文档/视图结构支持”;选择“在共享库中使用MFC”3. 在高级功能处选上“ActiveX控件”和“Windows套接字”4. 项目新建完成后,从项目源文件中排除转载 2013-06-07 22:10:18 · 2363 阅读 · 0 评论 -
WDK
WDK(Windows Driver Kit)是一种完全集成的驱动程序开发系统,它包含Windows Driver Device Kit (DDK),用于测试 Windows 驱动器的可靠性和稳定性。 目前微软最新版本为Windows Driver Kit 8 Consumer Preview 支持 Windows 8, Windows 7,和 Windows Vista. 包转载 2012-09-12 16:58:49 · 835 阅读 · 0 评论 -
WDF驱动模型
如所周知,自Windows 2000开始,开发驱动程序必以WDM为基础的,但其开发难度之大,根本不能奢望像用户模式应用程序开发那样容易。为改善这种局面,微软推出了新的驱动程序开发环境。要预先指出的是,这不是另起炉灶改弦更张,而是以WDM为基础进行了建模和封装,显著特点是降低了开发难度。因为:1、 将原来普通程序设计中基于对象的技术应用到了驱动开发中。WDM中虽也有对象模型,但与真正的基于对转载 2012-09-12 16:57:15 · 888 阅读 · 0 评论 -
驱动基础
1、三种类型的WDM驱动程序 总线驱动程序(bus driver) 功能驱动程序(function driver) 过滤驱动程序(filter driver)2、其他分类方法 类驱动程序(class driver) 端口驱动程序(port driver) 小端口驱动程序(miniort driver)3、驱动程序对象(DRIVER_OBJECT)转载 2012-02-13 17:57:16 · 1271 阅读 · 0 评论 -
VS2008 + WinDDK 7600.16385.1
开发过程中遇到问题的解决方案:1、链接KeGetCurrentIrql函数出现错误缺少wdm.lib,具体操作如下:2、unresolved external symbol __except_handler4在程序中,使用了 __try ,__except的工程,出现下面的错误:unresolved external symbol __except_handler4转载 2012-02-13 17:55:16 · 3987 阅读 · 1 评论 -
将VC6设置为WinDDK开发环境
WinDDK的编译等都基于命令行方式,其实也可以将VC6设置为WinDDK开发环境, 按照以下步骤来做,很简单1. 安装VC6, 最好安装VC助手.2. 新建一个project,类型是Makefile.3. 将工程文件(*.cpp, *.c , *.h)加进去, 利用VC6来编辑文件.4. 新建一个bat文件, 如: skeletion.bat, 编辑如下命令:# sk转载 2012-02-13 18:03:05 · 4164 阅读 · 2 评论 -
libusb-win32
Take note the latest version can be found in the libusb-win32 Sourceforge Trac Wiki. libusb-win32 is a port of the USB library libusb-转载 2011-09-27 17:30:26 · 11474 阅读 · 0 评论 -
采用lib库让usb设备和pc通讯
作为设备开发者, 一般需要让设备与上位机PC通讯, 我们往往考虑采用以下几种接口: rs232, USB, ethernet.现在在PC机上已经很难见到rs232的接口, 而ethernet也需要做特殊的配置, USB大多成为我们的首选. 对于数据偏少的应用, 我们可以利用U转载 2011-09-27 17:04:27 · 7419 阅读 · 0 评论 -
WDK中配置binplace
DDK2003/WDK中附带的binplace.exe用于将编译的文件放到一个统一的目录下,还有一个很有用的功能是符号剥离:能够将包含局部变量的pdb中的符号剥离出去,这样避免通过pdb公开太多的内部细节,比如微软操作系统pdb。写这篇文章的时候,WDK中已经有更高级的bin转载 2011-09-27 15:25:45 · 1894 阅读 · 0 评论 -
How_To_Build_The_First_SYS
Introduction第一个sys。 Details一、下载WDK7.0 前一个wiki已经讲过了。 二、安装WDK7.0 没什么好说的,完全安装,一路next,但是要注意的是,安装时必须是在光盘里,也就是没有光盘得用虚拟光驱才能顺利安装(当初我就是这样的- -转载 2011-09-27 14:11:20 · 770 阅读 · 1 评论 -
解决wdk 中不同编译环境兼容性问题解决
解决wdk 中不同编译环境产生的程序在低平台上不能运行的bug在wdk7600中,用 win7环境生成的sys和exe文件在低版本下不能运行,报不是合法的win32 映象文件.其实是由于生成的pe文件中有版本限制造成的,只需要在sources文件中加入_NT_TARG转载 2011-09-27 13:46:54 · 1392 阅读 · 0 评论 -
VS2008+WDK+DDKWzard 搭建驱动开发环境
一、WDK的介绍、下载、安装及配制1、关于WDKWindows Driver Kit(驱动程序工具包): 是一种完全集成的驱动程序开发系统,它包含 Windows Driver Device Kit (DDK),用于测试 Windows 驱动程序的可靠性和稳定性,包括:转载 2011-09-27 13:43:06 · 2421 阅读 · 0 评论 -
How to Get the WDK
http://msdn.microsoft.com/en-us/windows/hardware/gg487463原创 2011-09-27 12:58:38 · 465 阅读 · 0 评论 -
libusb_win32_1.2.5.0编译
1.首先设置winddk环境,运行C:\WinDDK\7600.16385.1\bin\setenv C:\WinDDK\7600.16385.1\bin fre x86 WXP.2.修改E:\libusb\libusb-win32-src-1.2.5.0\libusb-wi原创 2011-09-28 09:28:46 · 3425 阅读 · 2 评论 -
使用VC6.0集成开发环境编译设备驱动程序(一)
开发Windows驱动程序DDK软件包默认的编译方法是使用build工具,这需要程序员编写脚本文件描述一个工程。有时,程序员更喜欢使用VC IDE环境,这样可以方便地对代码进行交叉索引等操作。下面根据“Windows 驱动开发技术详解 ,张帆 史彩成,电子工业出版社”一书中的描述转载 2011-09-27 15:31:21 · 1241 阅读 · 0 评论 -
命令行编译和VC6.0编译驱动程序的方法
编译驱动程序分两个步骤,1、设置编译环境2、进行实际编译过程还有一个前提条件就是要安装ddk1、运行ddk目录下的setenv.bat,该命令最少有两个输入参数,一个是ddk的安装路径,一个是要求的编译结果。在不知道该如果输入参数的时候,可以不用任何参数,直接输入转载 2011-09-27 14:26:04 · 2083 阅读 · 0 评论 -
VC6+WDK+DriverStudio编译Windows驱动程序环境搭建
自己终于把这个环境搭起来了,费了九牛二虎之力,走了很多的弯路。大家分享吧,不要嫌麻烦这差不多是最简单了。一、需要的软件及版本Vc6 英文版;(随处都有)WDK3790.1830(1830_usa_ddk.iso的解压文件)或者2006.1106版本;(http:/转载 2011-09-27 13:53:36 · 1468 阅读 · 0 评论 -
Using the SetEnv.bat Command Line
http://msdn.microsoft.com/en-us/library/windows/apps/ff554139(v=vs.85).aspx转载 2011-09-27 14:27:15 · 729 阅读 · 0 评论 -
配置VC++6.0下驱动程序编译环境的步骤
操作系统:VMware 6.0 + Windows XP sp1/sp2DDK版本:Windows DDK 3790.1830编译环境:Microsoft Visual C++ 6.0 With SP6 1、 新建Win32 Application工程2、 B转载 2011-09-27 15:33:33 · 2257 阅读 · 0 评论 -
使用VC6.0集成开发环境编译设备驱动程序(二)
源文件Driver.h和Driver.cpp清单如下,以下程序根据我自己的理解进行了适当注释,有不对之处请谅解:/************************************************************************* 文件名称:转载 2011-09-27 15:31:57 · 942 阅读 · 0 评论 -
使用ddk/wdk编译应用程序
ddk 和wdk除了能开发windows驱动外,还可以作为应用程序开发的平台。以下是如何使用ddk和wdk编译应用程序的环境设置:1、安装ddk/wdk;2、准备makefile,这个文件内容比较固定,一般是以下的内容:!IF 0Copyright (C) M转载 2011-09-27 14:07:20 · 1746 阅读 · 1 评论 -
VC6.0 +WDK 开发驱动的环境配置
原来开发驱动的环境是VC6+DDK+DriverStudio3.2,当时配置的时候就花了好一阵功夫,也没有彻底搞清楚。现在要重装了,决定改用WDK来开发,但环境的配置又搞的我头疼,不太喜欢命令行方式的编译,还是想借助VC6来开发驱动。 在安装完VC6和WDK以转载 2011-09-27 13:59:16 · 821 阅读 · 0 评论 -
Windows驱动开发工具 WDK 学习笔记
目标:能够把电脑当作一个集成有高性能处理器的开发板用起来,当然,还自带了一个高级的操作系统Windows(必须的)。总之,就是在一个带了操作系统的高性能开发板上的驱动程序开发。性质:纯属业余爱好 1、昨天下载了WDK 7.1.0 Free版(From MS的正版,需要转载 2011-09-27 13:05:54 · 5412 阅读 · 0 评论 -
如何下载WDK
随着Windows Vista和Windows Server 2008的相继发布,微软的驱动开发工具也进行了相应的更新换代。原来的驱动开发工具包叫做DDK(Driver Develpment Kit),现在新版本的叫做WDK(Windows Driver Kit)。DDK或者转载 2011-09-27 12:59:17 · 720 阅读 · 0 评论 -
VC6+VA来编辑和编译开发驱动程序
1。新建一个空的Win32 Application,将驱动文件(包括INCLUDE和SOURCES)加入工程2。Tools-->Options-->Directories-->Executable files加入:C:\WINDDK\7600.16385.0\BIN\X8转载 2011-09-27 15:29:55 · 1281 阅读 · 0 评论 -
VC6.0下直接用DDK编译驱动程序的方法
csdn里只有提问和回答,个人觉得只有这个还不够,还需要人来分享知识,所以今天为了推广自己写的一个VC6小插件,顺便分享一下用VC6直接编译驱动程序的心得给需要的人。全文如下:《VC6编译驱动的方法(含32和64位)》======文章开始,转载请注明:潘氏软件 -转载 2011-09-27 15:28:51 · 729 阅读 · 0 评论 -
解决无法添加Activex控件变量的错误
在使用VC做开发时会经常使用到Activex控件,在插入Activex控件再添加控件变量时有时会遇到“ ...... \VC\VCWizards\CodeWiz\MFC\Variable\HTML\2052\default.htm”文件1211或者1212行缺少对象或者对象为null的错误。今天终于找到了解决这一错误的方法。首先在注册表中搜索所使用的动态库或者.ocx文件,比如mstscax.转载 2013-06-07 22:19:17 · 2118 阅读 · 0 评论