win10驱动开发3——编写HelloDriver
DebugView下载地址
创建项目
C语言风格生成驱动
#include <ntddk.h> VOID Unload(IN PDRIVER_OBJECT pDriverObject)
{KdPrint(("Goodbye driver\n"));
}NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath
)
{DriverObject->DriverUnload = Unload;return STATUS_SUCCESS;
}
禁用驱动的数字签名强制
- 方式一
bcdedit /set testsigning on
shutdown -r -t 0 是立刻重启
shutdown -s -t 0 是立刻关机
管理员身份运行cmd
- 方式二
1.先打开DebugView
方式二:解决办法是,重命名dbgv.sys
注:cmd以管理员身份运行
打开Ctrl+L可以选择过滤关键信息,多个关键信息可以使用;号隔开。
- 创建驱动
sc create mydriver binpath=C:\Users\Administrator\Desktop\MyDriver1.sys type=kernel
- 启动驱动
net start mydriver
- 停止驱动
net stop mydriver
如何删除驱动?
sc delete mydriver
工具调试
KmdManager下载地址
C++风格生成驱动
#include <ntddk.h> VOID Unload(IN PDRIVER_OBJECT pDriverObject)
{//驱动卸载的时候显示KdPrint(("Goodbye driver\n"));
}extern "C" NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath
)
{DriverObject->DriverUnload = Unload;//驱动启动的时候显示KdPrint(("Hello driver\n"));return STATUS_SUCCESS;
}
win10驱动开发3——编写HelloDriver相关推荐
- arm裸机与嵌入式linux驱动开发,如何编写基于ARM的裸机程序和基于Linux的驱动程序?...
在嵌入式开发中,ADC应用比较频繁,本文主要讲解ADC的基本原理以及如何编写基于ARM的裸机程序和基于Linux的驱动程序. ARM架构:Cortex-A9Linux内核:3.14 在讲述ADC之前, ...
- Win10驱动开发之开发环境的搭建(一)
核心内容: 这次学习最后采用的开发环境如下: Windows : win10 64位 1809版本(Host计算机和测试计算机上相同) Visual Studio Community 2017 : 版 ...
- 001:VS2019+WDK10+Win10 驱动开发环境
参考以下两篇文章: Download the Windows Driver Kit (WDK) - Windows drivers | Microsoft Learn <VS2019+WDK10 ...
- win10驱动开发4——加载/卸载驱动
注意加载卸载驱动必须是win32项目 #include <Windows.h> #include <stdio.h> int main() {//等同于创建驱动======== ...
- win10驱动开发19——IRP同步
这篇文章代码有问题可以参靠这篇 这篇文章 #include <windows.h> #include <stdio.h>void LpoverlappedCompletionR ...
- Win10驱动开发2——双机调试
双机调试 WinDbug下载地址WDK里面自带该工具 前置环境说明本机有windbug,wmware里面刚安装好win10系统. 设置debug模式 bcdedit bcdedit /dbgsetti ...
- IIO子系统(Linux驱动开发篇)
1.原因 内部 ADC 将原始的模拟数据转换为数字量,然后通过其他的通信接口,比如 IIC.SPI等传输给SOC 当你使用的传感器的本质是ADC或者DAC,优先考虑使用IIO驱动框架 2.IIO子系统 ...
- STM32MP157驱动开发——Linux IIO驱动(上)
STM32MP157驱动开发--Linux IIO驱动(上 ) 0.前言 一.IIO 子系统简介 1.iio_dev 结构体 2.iio_dev 申请与释放 3.iio_dev 注册与注销 4.iio ...
- Linux驱动开发8 platform驱动分隔、分离与分层
我们在前面几章编写的设备驱动都非常的简单,都是对IO进行最简单的读写操作.像I2C. SPI.LCD 等这些复杂外设的驱动就不能这么去写了,Linux 系统要考虑到驱动的可重用性,因 ...
- STM32MP157驱动开发——Linux IIO驱动(下)
STM32MP157驱动开发--Linux IIO驱动(下) 0.前言 一.IIO 触发缓冲区 1.IIO 触发器 2.申请触发器 3.释放触发器 4.注册触发器 5.注销触发器 6. IIO 缓冲区 ...
最新文章
- DAL(数据库访问层)
- JSP中文乱码问题解决方案
- 试图抓取非英文windows操作系统镜像时PE无法正常启动解决方法
- codeforces 850 A
- matlab算概率,用matlab计算概率,再次吐槽某些吧友国战比赛七框选将的建议
- MVC 之 Partial View 用法
- Spring 事务原理和使用
- c语言课设报告时钟vc环境,C语言课程设计报告模拟时钟转动程序.doc
- setitime和相关函数
- Java打包后运行找不到资源文件问题
- 科研绘图,看这一篇就够了(内含免费送书活动)
- 安卓入门教程(十五)- Fragment,Service,WAMP下载
- kfold cross_validate Stratified KFold StratifiedKFold 和 StratifiedShuffleSplit 交叉验证方法
- 剑指 Offer 04. 二维数组中的查找
- python:批量分割图片(把一张图片横向平均分割成7张)
- Pycharm2018激活注册码(有效期至2019.05)python
- .net C# 堆 栈 垃圾回收 GC
- 杀掉window/system32/driver下.sys的流氓文件
- CSS如何修改滚动条的样式?
- android 4.4打开MTP模式以及USB CD Rom模式打开方法