阿里云文档 2023-09-03

如何在Windows开发主机上实现SDK移植_物联网平台(IoT)

本文介绍以获取MQTT上云和OTA固件升级能力为例,描述在Windows开发主机上的SDK移植过程。

文章 2010-10-23 来自:开发者社区

15、Windows驱动开发技术详解笔记(11) 基本概念

9、Windows驱动程序的入口函数规定为_DriverEntry@8,所以用C++编写时要用extern。 驱动程序中,不能使用编译器运行时函数,甚至C语言中的malloc,C++的new函数都不能用,因为他们在VC中的实现都是调用了Win32 API了。要用的话,必须自己重载new等运算符。大部分运行时函数是通过Win32 API实现的。在内核模式下无法调用用户模式的程序,而用户模式下通过参....

文章 2010-10-23 来自:开发者社区

14、Windows驱动开发技术详解笔记(10) 基本概念

一、基本框架<?xml:namespace prefix = o /> 二、基本概念 1、操作系统的主要任务是调度线程,还有一些必要的工作,如:内存管理,进程管理,安全管理和I/O管理,这些部分叫做执行部件。 2、Ring是CPU的概念,而用户/内核模式是操作系统的概念。编写驱动主要为了操作硬件,如访问物理内存,设备端口等。驱动程序相当于内核的补丁,不同硬件设备会有不同的补...

文章 2010-10-20 来自:开发者社区

13、Windows驱动开发技术详解笔记(9) 基本语法回顾

10、HOOK SSDT 的实现<?xml:namespace prefix = o /> SSDT 的全称是System Services Descriptor Table,即系统服务描述符表。这个表的作用是把ring3 的Win32 API 与ring0 的内核API 联系起来。当然SSDT 并不仅仅只包含一个庞大的地址索引表,它还包含着一些其它有用的信息,诸如地址索引的基地址.....

文章 2010-10-20 来自:开发者社区

12、Windows驱动开发技术详解笔记(8) 基本语法回顾

 8、加裁驱动,驱动与设备 1)前面我们主要通过Driver Studio和KmdManager。现在了解一下程序加裁。 Windows NT式驱动是基于服务方式加载的,可以通过修改注册表内容完成,也可以通过服务相关API完成。设备驱动程序的动态加载主要由服务控制管理程序(Service Control Manager, SCM)系统组件完成,该组件可以启动、停止和控制服务等。 具体加裁...

文章 2010-10-20 来自:开发者社区

11、Windows驱动开发技术详解笔记(7) 基本语法回顾

9、驱动程序与应用程序通信  1)使用WriteFile通信  可以在应用层调用ReadFile 和WriteFile 分别从驱动中读取和写入数据,他们通过两个不同的IRP来传递信息。 http://msdn.microsoft.com/en-us/library/ff549427%28VS.85%29.aspx 一个例子如下: 首先是我们的应用层程序代码:   代码...

文章 2010-10-19 来自:开发者社区

10、Windows驱动开发技术详解笔记(6) 基本语法回顾

<?xml:namespace prefix = o /> 7、I/O Request Package,输入输出请求包 1)基本概念 IRP 的全名是I/O Request Package,即输入输出请求包,它是Windows 内核中的一种非常重要的数据结构。上层应用程序与底层驱动程序通信时,应用程序会发出I/O 请求,操作系统将相应的I/O 请求转换成相应的IRP,不同的IR...

文章 2010-10-18 来自:开发者社区

9、Windows驱动开发技术详解笔记(5) 基本语法回顾

    5、在驱动中获取系统时间 1)获取启动毫秒数  在ring3 我们可以通过一个GetTickCount 函数来获得自系统启动开始的毫秒数,在ring0也有一个与之对应的KeQueryTickCount 函数。不幸的是,这个函数并不能直接返回毫秒数,它返回的是“滴答”数,而一个时钟“滴答”到底是多久,这在不同的系统中可能是不同的,因此我们还需要另外一个函数的辅助...

文章 2010-10-18 来自:开发者社区

8、Windows驱动开发技术详解笔记(4) 基本语法回顾

 4、注册表操作 和文件操作类似,在操作注册表之前需要首先打开注册表,获得一个句柄,这可以通过函数ZwCreateKey 完成。与ZwCreateFile函数类似,它通过一个OBJECT_ATTRIBUTES 获得需要创建或打开的路径信息,但在内核中这个路径与用户模式下不相同,实际上,因为用户模式下的应用程序总是由某个“当前用户”打开的,因此在用户模式下可以直接访问HKEY_CLASSE...

文章 2010-10-18 来自:开发者社区

6、Windows驱动开发技术详解笔记(2) 基本语法回顾

    1、字符串   Unicode 字符串有一个结构体定义如下: typedef struct _UNICODE_STRING { USHORT Length; // 字符串的长度(字节数) USHORT MaximumLength; // 字符串缓冲区的长度(字节数) PWSTR Buffer; // 字符串缓冲区 } UNICODE_STRING, *PUNI...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注