• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > 初学驱动的疑问

初学驱动的疑问

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了蜂鸣器驱动电路疑问,疑问的图片,疑问的动态图片,反义疑问句的回答,疑问的卡通图片等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 初学驱动的疑问
描述:

刚开始学驱动,什么都不会,一个很简单的驱动,什么也不做,就是mov  eax, STATUS_SUCCESS, 调用StartService总是不成功,当调用GetLastError是返回的错误代码不在MSDN上给出的有关部门StartService可能出现的错误,实在是搞不懂,还请大家帮忙看看,谢谢了。
源程序如下:
源程序里include的头文件就省略了
驱动源程序
;myDriver1.asm
.386
.model .....
....
....
include ....
...
.code
DriverEntry proc   pDriverObject:PDRIVER_OBJECT, pusRegistryPath:PUNICODE_STRING
mov eax, STATUS_SUCCESS
ret
DriverEntry
end DriverEntry
;***********编译过程*********
ml /c /coff myDriver1.asm
link /driver /out:myDriver1.sys /subsystem:native myDriver1.obj
驱动安装的源程序
;scp1.asm
.386
.model .....
......
....
include ....
...
.const
szServceName db 'SvName', 0
szDisplayName db 'DpName', 0
szImagePath db 'c:\myDriver1.sys', 0
ErrorCode   dd   ERROR_ACCESS_DENIED
            dd  ERROR_INVALID_HANDLE
            dd  ERROR_PATH_NOT_FOUND
            dd  ERROR_SERVICE_ALREADY_RUNNING
            dd  ERROR_SERVICE_DATABASE_LOCKED
            dd  ERROR_SERVICE_DEPENDENCY_DELETED
            dd  ERROR_SERVICE_DEPENDENCY_FAIL
            dd  ERROR_SERVICE_DISABLED
            dd  ERROR_SERVICE_LOGON_FAILED
            dd  ERROR_SERVICE_MARKED_FOR_DELETE
            dd  ERROR_SERVICE_NO_THREAD
            dd  ERROR_REQUEST_TIMEOUT
ErrorMsg  db  'ERROR_ACCESS_DENIED', 0
          db  'ERROR_INVALID_HANDLE', 0
          db  'ERROR_PATH_NOT_FOUND', 0
          db  'ERROR_SERVICE_ALREADY_RUNNING', 0
          db  'ERROR_SERVICE_DATABASE_LOCKED', 0
          db  'ERROR_SERVICE_DEPENDENCY_DELETED', 0
          db  'ERROR_SERVICE_DEPENDENCY_FAIL', 0
          db  'ERROR_SERVICE_DISABLED', 0
          db  'ERROR_SERVICE_LOGON_FAILED', 0
          db  'ERROR_SERVICE_MARKED_FOR_DELETE', 0
          db  'ERROR_SERVICE_NO_THREAD', 0
          db  'ERROR_REQUEST_TIMEOUT', 0, 0
          db  'Fail to Define Error Code', 0
.code
;************ Procedure Used to Define Error
ParseError     proc
               push  ebp
               mov   ebp, esp
               ;[ebp + 8]     ErrorCode
           
               mov   ebx, offset ErrorCode
               mov   esi, offset ErrorMsg
               mov   ecx, [ebp + 8]
         _@_@@3:
               cmp   [ebx], ecx
               jz    _@_@@1
         _@_@@2:
               lodsb
               or   al, al
               jnz  _@_@@2
               lodsb
               or   al, al
               jz   _@_@@1
               dec   esi
               add   ebx, 4
               jmp   _@_@@3
         _@_@@1:
               invoke MessgeBox, 0, 0, esi, 0
           
               mov  esp, ebp
               pop  ebp
               ret   4
ParseError     endp
start:
invoke OpenSCManager, 0, 0, SC_MANAGER_CREATE_SERVICE
;
;为简单其间,都设调用成功,下同
;
push eax
invoke CreateService, eax, offset szServiceName, offset zDisplayName,\
SERVICE_START+DELETE, SERVICE_KERNEL_DRIVER, SREVICE_DEMAND_START,\
SERVICE_ERROR_IGNORE, offset szImagePath, 0, 0, 0, 0, 0
push eax
invoke StartService, eax, 0, 0
                or   eax, eax
 &nb

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 初学驱动的疑问

相关文章

  • 2017-06-05 vxworks网卡驱动etsec不使用vxbus
  • 2017-06-05 来者有分,分不够会继续加。请问这么理解对吗?驱动程序只是实现硬件的安装,得到它的实际物理地址。底层的用户程序对这个地址操作,留出
  • 2017-06-05 手机做遥控器的原理???求解答
  • 2017-06-05 菜鸟提问,测试板子问题
  • 2017-06-05 请教:手机做个小app,利用wifi实现与另一独立wifi模块(作为服务器使用)通信;
  • 2017-06-05 jenkins日志文件写满占满硬盘
  • 2017-06-05 vxworks68UP模式下进不了系统
  • 2017-06-05 USB方式WinCE5连接ActiveSync出现“建立合作关系失败”错误
  • 2017-06-05 嵌入式开发,启动问题?
  • 2017-06-05 如何读懂时序图

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • ppp无法拨号失败
    • 请问dllVXDsys都是驱动程序来的吗?有什么区别?都是用什么来开发的?具体怎么用?谢谢!
    • 中断处理时发生栈溢出
    • 蓝牙HC-06模块配对连接问题
    • 这个程序中为什么会一直循环呢,感觉while里面有问题啊
    • Win2000Delphi环境下使用WinIO读取内存数据
    • 高通8916boot哪里查看分区信息?
    • 关于lua语言的两个小疑问
    • 想做基于3g的无线视频监控,求大神指教
    • USB方式WinCE5连接ActiveSync出现“建立合作关系失败”错误

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有