上一页 1 ··· 56 57 58 59 60 61 62 63 64 ··· 75 下一页
摘要: 一、基本概念 1、线程是CPU的调度单位。 2、核心对象(kernel object)是系统的一种资源,系统对象一旦产生,任何应用程序都可以开启并使用该对象。系统给予核心对象一个计数值作为管理之用。 前三者用于线程的同步,file-mapping用于内存映射文件。这些核心对象的产生方式不同,但都会获得一个handle作为识别,每次被使用,对应的计数值加1,结束的方式则相当一致,调用CloseHa... 阅读全文
posted @ 2011-02-24 17:12 浪里飞 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 一、基本概念1、Windows程序的本质是基于消息的事件驱动。Windows程序分为程序代码和UI资源两大部分。如图所示,资源的实际内容是二进制代码,借助各种工具产生。在32位操作系统中不再有small/medium/large等内存模式之分。LIBC.LIB是C Runtime函数库的静态链接版本,MSVCRT.LIB是C RunTime函数库动态链接版本的import函数库。Windows消息分为两类(按输入):由硬件装置所产生的消息(如鼠标按下),放在系统队列(System Queue)中,以及由Windows系统或其它Windows程序传送过来的消息,放在程序队列(applicatio 阅读全文
posted @ 2011-02-24 16:28 浪里飞 阅读(3037) 评论(0) 推荐(0) 编辑
摘要: 1、64位操作系统与32位操作系统最大的不同在于寻址空间的大小,32位操作系统使用32位数据来表示内存地址,因此有232 (4GB)的可用空间,而64位操作系统可以使用16TB的内存地址空间。在64位操作系统下,指针和基本数据类型(int)所引用的空间是64位的。 Windows系统中包括的对象类型有很多种。内核对象、GDI图形对象、用户对象等。内核对象是与操作系统对系统的管理相关的对象,比如文... 阅读全文
posted @ 2011-02-23 22:08 浪里飞 阅读(1045) 评论(0) 推荐(0) 编辑
摘要: Windows系统具有很完善的安全和认证机制,称作访问控制机制。程序的执行主体(线程)在访问对象(文件、事件等)时,系统会根据线程的“权限”和线程需要访问的对象所具有的访问控制列表(ACL)中的“安全描述符”是否匹配来进行认证,决定一个线程是否可以操作一个对象。 一、基本概念1、A需要访问(Access)B,A就是访问的主体,B就是访问的客体。A的“访问令牌”和B的安全描述符共同决定了A是否可以访问B。 访问的主体是进程。在系统中,线程才是程序执行的流程,因此只有线程才能操作对象。每个线程都是属于一个进程的,线程并没有属于自己的权限,而是来源于线程所属于的进程。一个进程中的所有线程都具有同样. 阅读全文
posted @ 2011-02-23 21:22 浪里飞 阅读(2599) 评论(0) 推荐(0) 编辑
摘要: 关于驱动和内核的学习介绍,[2]中较为详细。这里只简述。 应用程序可以将设备驱动程序加载入内核。可以对已经加载了的设备驱动程序发送请求,进行控制或与内核程序进行通信,传输数据。 设备管理[1] 列举设备 SetupDiCreateDeviceInfoList函数创建一个空的设备信息列表。 SetupDiGetClassDevsEx函数获取指定类型GUID的所有设备的信息列表。 SetupDiEn... 阅读全文
posted @ 2011-02-23 17:01 浪里飞 阅读(2498) 评论(0) 推荐(0) 编辑
摘要: Windows上有两种主流的程序安装技术,一种是编写setup.exe文件,在程序安装时读取inf配置文件,将压缩保存于cab文件中的文件释放到指定位置,并进行环境设置。第二种方法是使用Windows Installer服务创建msi文件,由Windows服务读取msi文件中的配置信息和文件进行程序安装。由于第二种方法可以将整个安装程序集中在一个msi文件中,因此应用更为广泛。[1] 更好关于如... 阅读全文
posted @ 2011-02-23 15:51 浪里飞 阅读(644) 评论(0) 推荐(0) 编辑
摘要: Socket就是系统提供的一种使用传输层的网络协议进行数据传输的程序设计接口规范,经过Socket封装的应用程序不再需要处理与TCP协议相关的内容。诸如连接时的三次握手、分包、包头解析、重传、滑动窗口等行为应用程序都不需关注,而只需要像使用系统中的其他I/O接口一样进行输入和输出操作即可。IP Helper是Windows系统与IP协议相关的配置和管理的重要接口,通过IP Helper可以实现一些在网络通信软件中常用的功能,比如获取本机IP网关,配置、获得统计信息、网卡数量和连接状态等。Windows除了为网络通信程序设计提供Socket这样的传输层接口外,还提供了很多应用层协议接口,包括H. 阅读全文
posted @ 2011-02-23 11:10 浪里飞 阅读(3704) 评论(0) 推荐(0) 编辑
摘要: 区域(Regions)、路径(Paths)与修剪(Clip)操作一、区域[2] 区域是一种对象,具有形状、位置、大小,用于进行填充、绘制、反转、边沿勾勒等操作,或用于限制DC的输出范围(修剪)。区域的形状可以是任意的,可以是标准的矩形、椭圆、扇形等,也可以是多边形,还可以是这些形状组合(与、或、异或等)。[2] 在创建区域后,可以对区域进行填充和反转等操作。填充区域使用API函数FillRgn或PaintRgn。FillRgn可以指定画刷,而PaintRgn使用当前DC画刷。使用DC中被选入的当前画刷。无论什么形状的区域,都有一个边沿,这个边沿是一个矩形( RECT),是能进入这个区域框的最小 阅读全文
posted @ 2011-02-22 10:50 浪里飞 阅读(953) 评论(0) 推荐(0) 编辑
摘要: 一、绘制图形 GDI所能绘制形状有很多种,可区分为标准形状和非标准形状。标准形状使用几个简单、确定的属性就可以确定的形状,比如矩形(左上角点位置和长度)、椭圆(使用外切矩形)、圆角矩形(一个矩形加圆角半径)、弓形、扇形。 也有不标准的形状,所有不标准的形状都可以使用多边形(Polygon)来定义。定义多边形也需要使用一个点数组。将点数组中的点依其在数组中的顺序连接起来,就是一个多边形。在绘制时,图形内部使用DC的当前画刷对象进行填充,图形的边使用DC的当前画笔对象进行勾勒。1、相关APIGetClientRectSetRectCopyRect可以将一个RECT在屏幕上显示出来,显出的方式是有内 阅读全文
posted @ 2011-02-21 16:21 浪里飞 阅读(1022) 评论(0) 推荐(0) 编辑
摘要: 一、GDI的几个示例与概念1、笔和话刷的基本操作示例画笔示例2、DC的操作◇ GetDC◇ CreateDC 除了GetDC函数外CreateDC也可以获取DC的句柄。◇ ReleaseDC ReleaseDC的作用是释放DC,使其他应用程序可以使用。◇ DeleteDC DeleteDC的功能是释放DC的相关系统资源。3、颜色的表示COLORREF类型和RGB宏在GDI中使用红、绿、蓝三原色的组合来表示颜色。使用3个8位的数据组合来表示颜色,称作RGB字节,可以表示0x1000000种颜色。RGBQUAD数据结构用于表示RGB颜色,也可以使用COLORREF数据类型来表示,COLORREF与 阅读全文
posted @ 2011-02-21 15:34 浪里飞 阅读(1394) 评论(0) 推荐(0) 编辑
上一页 1 ··· 56 57 58 59 60 61 62 63 64 ··· 75 下一页