![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
driver
文章平均质量分 79
trustnature
一心向善
展开
-
Windows网络体系结构总结
标 题: 【原创】Windows网络体系结构总结作 者: jbwang时 间: 2009-11-23,11:22:25链 接: http://bbs.pediy.com/showthread.php?t=101794做了一些东西自己也看了一些书,最近总结了一下,想给大家分享一下,高手可以飞过了。如果有什么问题可以给小弟指正一下,多谢!在介绍Windows网络体系架构之前转载 2012-08-09 15:53:37 · 496 阅读 · 0 评论 -
服务和进程有什么区别
服务和进程有什么区别 2011-03-04 19:53:22| 分类:默认分类 | 标签:服务和进程有什么区别 |字号 订阅Windows Service 是主要用于服务器环境而长期运行的应用程序, 这类程序不需要有用户界面或者任何模拟输出。 任何的用户消息通常都是记录在Windows 事件日志里。Windows Service可以在操作系统启动的时转载 2012-09-19 10:13:18 · 598 阅读 · 0 评论 -
第一个驱动程序
#include #include #include #include //保存设备指针的全局变量PDEVICE_OBJECTg_tcpfltobj=NULL,g_udpfltobj=NULL,g_ipfltobj=NULL,g_tcpoldobj=NULL,g_udpoldobj=NULL,g_ipoldobj=NULL;//函数声明NTSTATUS c_n_转载 2012-08-24 14:50:30 · 541 阅读 · 0 评论 -
链表
数据类型 LIST_ENTRY 另一个常见的 Windows 2000 数据类型是 LIST_ENTRY 结构。内核使用该结构将所有对象维护在一个双向链表中。一个对象分属多个链表是很常见的, Flink 成员是一个向前链接,指向下一个 LIST_ENTRY 结构, Blink 成员则是一个向后链接,指向前一个 LIST_ENTRY 结构。通常情况下,这些链表都成环形转载 2012-08-28 09:26:31 · 476 阅读 · 0 评论 -
IoAttachDevice和IoAttachDeviceToDeviceStack 基础解说以及实现
基本解说:引用内容IoAttachDeviceNTSTATUS IoAttachDevice( IN PDEVICE_OBJECT SourceDevice, IN PUNICODE_STRING TargetDevice, OUT PDEVICE_OBJECT *AttachedDevice );SourceDevic转载 2012-08-09 16:41:24 · 1875 阅读 · 0 评论 -
驱动开发之五 --- TDI之一(飞雪楚狂人)
驱动开发之五 --- TDI之一转载自看雪论坛驱动专题本篇的题目有点容易让人误解。出于演示目的,我们写一个TDI客户端,但这并不是我们本篇的目的所在。本篇意在进一步探究怎样处理irp和怎样与之交互。本篇将会介绍怎样排队和处理要取消的IRP. 本篇真正的题目应该是“IRP处理介绍“,然而它不是一个非常引人注意的名字。并且我们的这个题目并不完全是一个谎言,因为我们会把TDI客户端驱动作为一个演转载 2012-08-09 23:22:12 · 1625 阅读 · 0 评论 -
?在tdi层截获socket操作
哦,这样啊。好吧,应用层的服务器端和客户端的应用程序就不用发了吧,就是tcp的典型操作,服务器端:socket,bind,listen,accept,send,receive客户端:socket,connect,receive,send驱动程序:status = IoCreateDevice(pDriverObject, 0, NULL, FILE_DEVICE_UNKNOWN原创 2012-08-10 10:47:03 · 879 阅读 · 0 评论 -
TDI过滤获取IP及端口
TDI过滤驱动获取IP地址及连接端口要涉及关于TDI的一些结构体,当接收到含有TDI的TDI_CONNECT连接IRP请求时,IRP请求栈顶的的参数parameters就是指向TDI_REQUEST_KERNEL_CONNECT结构体的指针,实际上,这个结构体就是TDI_REQUEST_KERNEL。这个结构体定义在tdikrnl.h中定义如下:typedef struct _TDI_REQU转载 2012-08-24 16:00:57 · 1633 阅读 · 0 评论 -
关于DeviceExtension的使用
首先定义一个全局扩展设备对象结构体:typedef struct _DEVICE_EXTENSION { PDEVICE_OBJECT pDevice; UNICODE_STRING ustrDeviceName; //设备名称 UNICODE_STRING ustrSymLinkName; //符号链接名} DEVICE_EXTENSION, *PDEVICE_EXTENSI原创 2012-08-31 09:48:45 · 4884 阅读 · 2 评论 -
驱动程序入门示例
/************************************************************************* 文件名称:Driver.h * 作 者:张帆* 完成日期:2007-11-1********************************转载 2012-08-31 09:53:51 · 581 阅读 · 0 评论 -
关于DERIVER_OBJECT结构
转载 2012-08-31 10:37:12 · 277 阅读 · 0 评论 -
设备栈
PIO_STACK_LOCATION stack=IoGetCurrentIrpStackLocation(pIrp);IoSkipCurrentIrpStackLocation 和函数 IoCallDriver来直接把请求传递到下层。转载 2012-09-01 09:40:59 · 234 阅读 · 0 评论 -
一段文件删除代码(动态加载驱动)
#include #define NT_DEVICE_NAME L"\\Device\\SuperKill"#define DOS_DEVICE_NAME L"\\DosDevices\\SuperKill"VOID SKillUnloadDriver( IN PDRIVER_OBJECT DriverOb转载 2012-09-22 21:49:03 · 2161 阅读 · 0 评论