摘要:
在Windows分层驱动模型中,设备栈中的设备一般都是通过对上层传来的IRP做相应的处理来实现驱动的功能。这里对常用的几种IRP传递及完成的方式进行归纳和总结:1. 在本层驱动中完成1.1 在本层驱动中以同步方式完成在本层同步完成一般做完相应处理后,设置Irp->IoStatus.Status和Irp->IoStatus.Information,调用IoCompleteRequest完成该IRP,return IRP的完成状态即可。1.2 在本层驱动中以异步方式完成在本层异步完成一般是得到IRP后将其入队/起线程另行处理,同时调用IoMarkIrpPending将该IRP标记为Pe 阅读全文
posted @ 2012-06-26 15:46
spinsoft
阅读(904)
评论(0)
推荐(0)
摘要:
在写网络程序的时候,建立TCP socket: sock = socket(PF_INET, SOCK_STREAM, 0);然后在绑定本地地址或连接远程地址时需要初始化sockaddr_in结构,其中指定address family时一般设置为AF_INET,即使用IP。相关头文件中的定义:AF = Address Family PF = Protocol Family AF_INET = PF_INET所以在windows中AF_INET与PF_INET完全一样. 而在Unix/Linux系统中,在不同的版本中这两者有微小差别.对于BSD,是AF,对于POSIX是PF.理论上建立socke 阅读全文
posted @ 2012-06-26 15:08
spinsoft
阅读(419)
评论(0)
推荐(0)
摘要:
八伟大的工具,Windows用户永远都不想错过有许多的应用程序你可以找到,但是获得免费并且好用 的程序不是一件容易的事情,每当你需要这样的软件的时候,你就会网上搜啊搜,结果下载下来一运行达不到想要的效果,这就是今天我分享我收藏的8个工具原因,这几个工具绝对牛Pandora RecoveryPandora Recovery允许您查找和恢复可收回从NTFS和FAT格式化的卷中删除的文件。潘多拉恢复将扫描您的硬盘驱动器和现有的和删除的文件和目录(文件夹)的任何逻辑驱动器支持的文件格式与您的计算机上建立一个索引。BatteryCareBatteryCare是一个软件来优化笔记本电脑的电池的使用和性能。 阅读全文
posted @ 2012-06-26 12:42
spinsoft
阅读(196)
评论(0)
推荐(0)
摘要:
一、设备对象(DEVICE_OBJECT)kd> dt _device_objectntdll!_DEVICE_OBJECT +0x000 Type : Int2B +0x002 Size : Uint2B +0x004 ReferenceCount : Int4B +0x008 DriverObject : Ptr32 _DRIVER_OBJECT ;该设备所属的驱动对象 +0x00c NextDevice : Ptr32 _DEVICE_OBJECT ;指向下一个设备,该设备与下一个设备同属于一个驱动对象 +0x010 AttachedDevice : Ptr32 _DEVICE_O 阅读全文
posted @ 2012-06-26 11:23
spinsoft
阅读(663)
评论(0)
推荐(0)
摘要:
通常设备对象都把自己的名字放到\Device目录中。在Windows 2000中,设备的名称有两个用途。第一个用途,设备命名后,其它内核模式部件可以通过调用IoGetDeviceObjectPointer函数找到该设备,找到设备对象后,就可以向该设备的驱动程序发送IRP。另一个用途,允许应用程序打开命名设备的句柄,这样它们就可以向驱动程序发送IRP。应用程序可以使用标准的CreateFile API打开命名设备句柄,然后用ReadFile、WriteFile,和DeviceIoControl向驱动程序发出请求。应用程序打开设备句柄时使用\\.\路径前缀而不是标准的UNC(统一命名约定)名称,如 阅读全文
posted @ 2012-06-26 11:22
spinsoft
阅读(1291)
评论(0)
推荐(0)
摘要:
一、代码部分//HelloWDM.h#pragma once#ifdef __cplusplusextern "C"{#endif#include <wdm.h>#ifdef __cplusplus}#endif#define INITCODEcode_seg("INIT")#define LOCKEDCODEcode_seg()#define PAGEDCODEcode_seg("PAGE")#define INITDATAdata_seg("INIT")#define LOCKEDDATAdata_ 阅读全文
posted @ 2012-06-26 11:21
spinsoft
阅读(769)
评论(0)
推荐(0)