|
首页
专栏
代码
WIKI快查
帐号登录
QQ注册或登录
WIKI
+
-
NTSTATUS(驱动错误码)代码对照
GetLastError()返回值对照表
Windows IOCTL代码大全
IRP大全
URB功能大全 URB_FUNCTION
Windows驱动预定义设备GUID
Windows驱动预定义设备GUID
Windows Inf文件设备GUID分类(设备安装程序类)
WMI大全
windows服务启动选项
Windows NT内核函数大全
Native API函数介绍
Windows内核回调函数
windows加载即插即用PNP设备的过程
类驱动、迷你端口驱动,端口驱动,总线驱动
api-ms* API函数集
Windows 中“设备管理器”中的错误代码
windows体系结构
Windows内核版本大全及获取函数
火哥教程大全目录中级上
火哥教程大全目录中级下
显卡驱动代码下载
UNICODE、多字节和通用兼容字符串函数对照表
Windows驱动通过inf文件生成cat文件步骤
Windows内核版本大全及获取函数
火哥教程大全目录中级下
火哥教程大全目录中级上
2022-01-18
598
0
原文转自:http://quick.ntoskr.com/up.html
您好,该文仅对登录用户可见,请
登录访问!
随手分享,手有余香
Windows内核版本大全及获取函数
火哥教程大全目录中级下
0 篇笔记
写笔记
Windows应用与
内核
内存共享
我们知道,进程之间如果要进行数据,是可以通过共享内存来实现的。其原理就是将同一片物理内存,分别进行不同的线性映射,这样就可以得到2个线性地址,而这两个线地址址对应的空间就是物理内存的空间。这样,如果我们在各自的进程分别读写内存,另一个进程中对应的线性地址空间的数据同时也会变化。原理如下图:相同的......
内核
事件等待KeWaitForSingleObject超时处理和IPR的完成例程
Windows
内核
中通过KeWaitForSingleObject等待事件完成,并且设置IPR的完成例程NTSTATUSIrpCompletionRoutine( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, ......
Windows
内核
线程睡眠
许多读者一定使用过Sleep函数。这能使程序停下一段时间。许多需要连续、长期执行,但是又不希望占太多CPU使用率的任务,可以在中间加入睡眠。这样能使CPU使用率大大降低。即使睡眠的时间非常短(几十个毫秒)。在驱动中也可以睡眠。使用到的
内核
函数的原型如下: NTSTATUS Ke......
Windows
内核
中获得当前时间
接下来的一个需求是得到当前的可以供人类理解的时间。包括年、月、日、时、分、秒这些要素。在驱动中不能使用诸如CTime之类的MFC类。不过与之对应的有TIME_FIELDS,这个结构中含有对应的时间要素。KeQuerySystemTime()得到当前时间。但是得到的并不是当地时间,而是一个格林威治时......
Windows
内核
驱动创建线程
有时候需要使用线程来完成一个或者一组任务。这些任务可能耗时过长,而开发者又不想让当前系统停止下来等待。在驱动中停止等待很容易使整个系统陷入“停顿”,最后可能只能重启电脑。但一个单独的线程长期等待,还不至于对系统造成致命的影响。另一些任务是希望长期、不断的执行,比如不断写入日志。为此启动一个特殊的线程......
Windows
内核
驱动中使用new和delete
在Windows驱动中如果要分配内存,我们使用的ExAllocatePoolWithTag,ExAllocatePool,而释放内存时使用的是ExAllocatePoolWithTag和ExFreePool函数。我们知道,在
内核
中其实不是不能用C++,而是使用时有很大的限制。如果稍不留神,就会掉进......
Windows
内核
内存申请和释放
内存泄漏是C语言中一个臭名昭著的问题。但是作为
内核
开发者,读者将有必要自己来面对它。在传统的C语言中,分配内存常常使用的函数是malloc。这个函数的使用非常简单,传入长度参数就得到内存空间。在驱动中使用内存分配,这个函数不再有效。驱动中分配内存,最常用的是调用ExAllocatePoolWithT......
dbgview
内核
打印
使用Windbg调试或使用DbgView进行
内核
打印时,经常会遇到
内核
的打印函数DbgPrint(KdPrint)打印的输出日志不能被显示,这是因为win7及以上的操作系统DbgPrint(KdPrint)默认是不输出的,所以需要修改注册表项,并重启方可。Windows Registry Edi......
Windows NT
内核
函数大全
函数名称说明NtLoadDriver服务控制管理器加载设备驱动NtUnloadDriver服务控制管理器支持卸载指定的驱动程序NtRegisterNewDevice加载新驱动文件NtQueryIntervalProfile返回数据NtSetInter......
Windows
内核
中获得当前TickCount
在编程中,获得当前的系统日期和时间,或者是获得一个从启动开始的毫秒数,是很常见的需求。获得系统日期和时间往往是为了写日志。获得启动毫秒数很适合用来做一个随机数的种子。有时也使用时间相关的函数来寻找程序的性能瓶颈。熟悉Win32应用程序开发的读者会知道有一个函数GetTickCount(),这个函数......
Windows
内核
打开和关闭文件
文件的打开下面的函数用于打开一个文件: NTSTATUS ZwCreateFile( OUT PHANDLE FileHandle, IN ACCESS_MASK DesiredAccess, ......
Windows
内核
回调函数
CmRegisterCallbackCmRegisterCallbackEx 注册表回调ExRegisterCallbackObRegisterCallbacksPsSetCreateProcessNotifyRoutinePsSetCreateProcessNotifyRoutineEx......
Windows
内核
事件Event
一些读者可能熟悉“事件驱动”编程技术。但是这里的“事件”与之不同。
内核
中的事件是一个数据结构。这个结构的指针可以当作一个参数传入一个等待函数中。如果这个事件不被“设置”,则这个等待函数不会返回,这个线程被阻塞。如果这个事件被“设置”,则等待结束,可以继续下去。这常常用于多个线程之间的同步。如果一个......
Windows
内核
驱动定时器
使用过Windows应用程序编程的读者的读者一定对SetTimer()映像尤深。当需要定时执行任务的时候,SetTimer()变得非常重要。这个功能在驱动开发中可以通过一些不同的替代方法来实现。比较经典的对应是KeSetTimer(),这个函数的原型如下:BOOLEAN KeSetTimer......
Windows
内核
中GetTickCount64
在应用层可以通过GetTickCount和GetTickCount64获取当前系统的滴答数,在Windows
内核
中没有直接可以使用的函数。所我以我们需要自行封装。Windows
内核
是100纳秒为单位的,所以可以自行封装以毫秒为单位的函数。//1msLONGLONG pnponGetTickCo......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
分类导航
ASIO
ASIO
KS-AUDIO-COM
音频处理对象APO
文件系统
NTFS文件系统
FAT文件系统
文件系统
磁盘分区
Win32应用层
Win32 API功能封装
MFC应用代码
WIN32磁盘操作代码
常用基本功能函数封装
Windows基础
Windows基础知识
COM原理
Duilib学习笔记
PE
SetupApi函数
Windows Update
注册表
Windows驱动
Windows驱动
C/C++逆向汇编
devcon工具使用
INF文件
PortClass音频
ReactOS PnpMgr函数分析
WDDM显卡驱动
WDF
WDM驱动调试
WHQL
WIKI
Windbg
Windows x64内核数据结构
Windows内核代码片段
Windows蓝屏分析
Windows音频体系UAA
Windows驱动笔记
Winoows内核设计思想之IRP
驱动签名
技术提问/意见反馈
加入QQ群
感谢您的支持,我会继续努力的!
扫码打赏,你说多少就多少
打开
支付宝
扫一扫,即可进行扫码打赏哦
您的支持,是我们前进的动力!