上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 40 下一页
  2012年6月26日
摘要: 在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)
  2012年6月25日
该文被密码保护。 阅读全文
posted @ 2012-06-25 15:45 spinsoft 阅读(0) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2012-06-25 15:00 spinsoft 阅读(0) 评论(0) 推荐(0)
摘要: http://blog.csdn.net/sheismylife/article/details/217033目录:COM多线程原理与应用... 1目录:... 1前言:... 1套间:... 1套间的定义:... 1套间的分类:... 2套间的进入和退出:.. 2对象的同步:... 2组件对象的同步:... 2COM对象线程模型:.. 2进程内对象线程模型的种类:.. 3ATL对多线程的支持:.. 3对象引用的保护:... 3成员变量的保护:... 4COM+导致的变化:... 4上下文概述:... 4上下文对象:... 4调用对象:.. 5前言:COM多线程一直是个不容易弄清的问题,我也被 阅读全文
posted @ 2012-06-25 13:18 spinsoft 阅读(339) 评论(0) 推荐(0)
摘要: http://blog.csdn.net/sheismylife/article/details/7625898目录:IDispatch接口原理与应用... 1目录:... 1前言:... 1IDispatch接口的定义:... 1创建支持IDispatch接口的COM对象:... 4标准方式调用IDispatch接口的方法:... 5采用ATL智能指针类调用IDispatch接口的方法:... 7使用类COleDispatchDriver调用IDispatch的方法:... 11前言:尽管com接口是跨语言的,但是很多语言在使用com时更多地通过Automation技术来和com对象通信。I 阅读全文
posted @ 2012-06-25 13:16 spinsoft 阅读(826) 评论(0) 推荐(0)
上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 40 下一页