WDM驱动的基本结构
WDM驱动的基本结构1、物理设备对象和功能设备对象 WDM模型,完成一个设备操作,至少有两个对象共同完成。其中一个是物理设备对象(PDO),另一个是功能设备对象(FDO),其关系是附加和被附加的关系。 PC插...
NT式驱动程序的基本结构
NT式驱动程序的基本结构1、驱动程序入口(DriverEntry) 主要对驱动程序进行初始化操作,是由系统进程调用的,打开Windows任务管理器里面的名为System的进程即为系统进程。 驱动加载时,系统进程启动新的...
设备对象(DEVICE_OBJECT)
设备对象(DEVICE_OBJECT)typedef struct DECLSPEC_ALIGN(MEMORY_ALLOCATION_ALIGNMENT) _DEVICE_OBJECT { CSHORT Type; USHORT Size; LONG ReferenceCount;&...
驱动对象(DRIVER_OBJECT)
驱动对象(DRIVER_OBJECT)每个驱动程序会有唯一一个驱动对象与之对应,并且该驱动对象是在驱动加载时被内核中的对象管理程序创建的。typedef struct _DRIVER_OBJECT { CSHORT Type; &...
INF文件详解(转)
NF文件格式要求一个INF文件是以段组织的简单的文本文件。一些段油系统定义(System-Defined)的名称,而另一些段由INF文件的编写者命名。每个段包含特定的条目和命名,这些命名用于引用INF文件其它地方定义的附加段。...
卸载NT驱动程序 (源Windows驱动程序详解)
//卸载NT驱动程序 BOOL UnloadNTDriver( char * szSvrName ) { BOOL bRet = FALSE; SC_HANDLE hServiceMgr=NULL;//SCM管理器的句柄 SC_HANDLE h...
加载NT驱动的代码(源Windows驱动开发技术详解)
加载NT驱动的代码1、调用OpenSCManager,打开SCM管理器2、调用CreateService,创建服务,成功则到步骤63、用GetLastError得到错误返回值4、如果创建错误,返回值为ERROR_IO_PENDING,说明服务已经创建过,不需要重新创建,...
程序加载NT式驱动
程序加载NT式驱动设备驱动程序的动态加载主要由服务控制管理程序(Service Control Manager, SCM)来完成。加载和卸载NT驱动分为四个步骤:1、为NT驱动创建新的任务2、开启此项服务。3、关闭此项服务。4、删除NT驱动所...
手动加载NT驱动
手动加载NT驱动1、在HKEY_LOCAL_MACHINE\SYSTEM|CurrentControlSet\Services中增加新的项目,项目名称为驱动名称,例如MyDriver2、添加以下子键DisplayName(REG_SZ):MyDriverErrorControl (REG_DWORD):1Group (REG_S...
DDK BUILD相关设置
1、makefile!INCLUDE $(NTMAKEENV)\makefile.def2、Dir文件Build递归的指定编译的目录和文件,dir文件描述需要编译的子目录,例如下,build将依次编译DIRS= \ general &nb...
QT QTableWidget 用法总结 (转)
QT QTableWidget 用法总结 分类: QT 平台技术 2011-08-18 15:50 256人阅读 评论(1) 收藏 举报 QTableWidget是QT程序中常用的显示数据表格的空间,很类似于VC、C#中的DataGrid。说到QTableWidget,就必须讲一下...
读取硬盘分区表信息(来源网络)
void GetDriveGeometry(){ HANDLE hDevice = CreateFile("\\\\.\\PHYSICALDRIVE0", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, N...
编写控制台程序,获得标准输入输出的窗口句柄
1. 编写控制台程序,获得标准输入输出的窗口句柄GetStdHandle 函数声明如下 : HANDLE GetStdHandle( DWORD nStdHandle ); GetStdHandle()返回标准的输入、输出或错误的设备的句柄,也就是获得输入...
Oracle优化(13)
oracle中性能视图V$SYSSTAT小结时间:2010-01-11 15:04:32来源:网络 作者:未知 点击:225次 V$SYSSTAT中包含多个统计项,这部分介绍了一些关键的v$sysstat统计项,在调优方面相当有用。下列按字母先后排序: V$SYSS...
Oracle优化(12)
索引:建立在表的一列或多列的辅助对象,它有助于快速访问该表中的数据。由于其内在结构,索引具有某些内在的开销,这些开销依赖于为检索由索引中ROWID指定的行所访问的表中的块数,此开销可能超过进行顺序全表扫描...
Oracle优化(11)
计算对象统计数据的各种方法analyze table line_items compute statistics /* this calculation computes full statistics for the line_items table and all of its index*/或analyze table line_items compute sta...
Oracle优化(10)
利用二叉并行方法监控操作系统资源控制情况,使用Oracle系统会话等待统计数据确定系统性能难点的确切性质,为有效的性能管理做好充分准备,方法的关键是找出问题根源。再总结一下这个方法:1、从V$system_event开始...
Oracle优化(8)
从ORACLE7起,ORADEBUG工具就开始被DBA使用了。它可以tracing any session / dump SGA and other memory structure / wakeup oracle process / suspend and resume processing ….一、概要首先看看helpSQL> oradebu...
Oracle优化(5)
性能线索的杂项来源Oracle性能管理侦查的许多线索可以再Oracle的跟踪文件和警告日志中找到。监控警告日志应该作为数据库日常维护的例行部分。需要特别注意死锁一类的信息,参数LOG_CHECKPOINTS_TO_ALERT=TRUE将使检...
Oracle优化(6)
http://lht821008.blog.163.com/blog/static/416478620104198824724/在平时都是常使用oracle的alter方式来做oracle的会话和进程跟踪,今天发现使用oradebug命令有着其独到的优点。使用方法很简单,如下:oradebug的...