谈windows中的句柄】的更多相关文章

谈windows中的句柄   每当一个进程打开一个对象,系统就返回一个句柄作为凭证,由此可以想到,句柄是依赖于具体的进程的,换句话说,句柄一定属于某个进程,以后在访问这个对象时就要使用这个凭证!     所以句柄还可以认为是一个进程和一个对象之间建立的一种连接,一座桥梁,一个上下文,就像一个门一样,已经打开.这种连接就持续存在,直到关闭. 一个进程可打开对个对象,就会拥有多个句柄,所以每个进程都拥有一个句柄表,在进程控制块EPROCESS中有个指针ObjectTable是_HANDLE_TABL…
1.句柄是什么?   在windows中,句柄是和对象一一对应的32位无符号整数值.对象可以映射到唯一的句柄,句柄也可以映射到唯一的对象.2.为什么我们需要句柄?   更准确地说,是windows需要句柄.windows需要向程序员提供必要地编程接口,在这些接口中,允许程序员访问.创建和销毁对象.但是,出于封装地考虑,windows并不想向程序员返回指针.指针包含了太多的信息.首先指针给出了对象存储的确切位置:其次,要操作一个指针,程序员必须知道指针所指对象的内部结构特征,也即,windows必…
(一)句柄 在程序设计中,句柄(handle)是一种特殊的智能指针.当一个应用程序要引用其他系统(如数据库.操作系统)所管理的内存块或对象时,就要使用句柄. 句柄与普通指针的区别在于,指针包含的是引用对象的内存地址,而句柄则是由系统所管理的引用标识,该标识可以被系统重新定位到一个内存地址上.这种间接访问对象的模式增强了系统对引用对象的控制.通俗的说就是我们调用句柄就是调用句柄所提供的服务,即句柄已经把它能做的操作都设定好了,我们只能在句柄所提供的操作范围内进行操作,但是普通指针的操作却多种多样,…
写在前面:这里介绍句柄 对于“句柄”,在下一直停留在一知半解的认识层面,近日在下学习Windows编程,决定趁此机会将句柄彻底搞清楚.查阅了一些网络上的资料,发现网络上的讲解大概可以分为两类:一种是以比喻.类比的方式说明,这种方法虽然形象易懂,但并没有从原理上.本质上加以揭示,让人仍然想问“为什么?”.“怎么实现?”.另一种是给出源代码,无可厚非,这当然是最本质的说明了,但这样一来,又显得不够直观,初学者理解起来有一定的难度.鉴于此,在下尽微末之能,结合自己的愚见,在两者之间折中,用图解的方式来…
摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系统中都有动态库的概念,采用动态库可以有效的减少程序大小,节省空间,提高效率,增加程序的可扩展性,便于模块化管理.但不同操作系统的动态库由 于格式不同,在需要不同操作系统调用时需要进行动态库程序移植.本文分析和比较了两种操作系统动态库技术,并给出了将Visual C++编制的动态库移植到Linux上的方法和经验.推荐linux动态库的创建请阅读:<Linux静态/动态链接库的创建和使用>  文章来源:http://www…
一.大写标示符 Windows中的很多标识符都是以两个或者三个大写字母作为前缀的,且其后紧跟一个下划线.这些标识符都是常量数值,前缀表明该常量的一般类别.如下 前缀 常量 CS(Class Style) 类风格选项 CW(Create Window) 创建窗口选项 DT(Draw Text) 文本绘制选项 IDI(ID Image) 图标的ID号 IDC(ID Cursor) 光标的ID号 MB(Messge Box) 消息框选项 SND(Sound) 声音选项 WM(Window Messag…
内核对象用于管理进程.线程和文件等诸多种类的大量资源,每一个内核对象都只是一个句内存快,它由操作系统内核分配,并只能右操作系统内核访问.这个内存块是一个数据结构,其维护着与对象相关的信息,其中少数成员是所有对象都有的,其他大多数都是不同类型的对象特有的. 由于内核对象只能由操作系统内核访问,因此windows提供了句柄来标识内核对象,对于应用程序来说,这个句柄就相当于这个内核对象.应用程序创建一个内核对象,就会返回对应的句柄,然后可以以这个句柄作为参数,去调用操纵和关闭内核对象的函数. 操作系统…
[转载]解析WINDOWS中的DLL文件---经典DLL解读 在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库.现在就走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧!  初窥门径:Windows的基石 随便打开一个系统目录,一眼望去就能看到很多扩展名DLL的文件,这些就是经常说的“动态链接库”,DLL是Dynamic Link Library(即“动态链接库”)的缩写.从Microsoft公司推出首个版本的Windows以来,动态链接库就一直是这个操作系统的基础…
来源  http://www.0xaa55.com/forum.php?mod=viewthread&tid=1401&extra=page%3D1  windows里常用句柄操作资源,而对应的对象由操作系统维护, 对象分:用户对象.GDI对象和内核对象: 用户对象用于windows管理,GDI对象用于绘图,内核对象用于内存.进程和IPC, Windows核心编程写道识别内核对象的方法是看有没有SECURITY_DESCRIPTOR参数     用户对象的资源包括:快捷键.光标.标记.dd…
浅谈Windows环境下DOS及MS-DOS以及常见一些命令的介绍 前记 自己是搞编程的,首先我是一个菜鸟,接触计算机这么久了,感觉很多计算机方面的技术和知识朦朦胧胧.模模糊糊,貌似有些贻笑大方了:所以最近腾出了点时间来了解计算机的基础知识,准备整理整理这些知识,我想也为时不晚. 说来整理,其实并非一件易事,各人的视野都是有限的,当然“百事通”我是做不来的,还是实实在在的拿出来分享分享,贻笑贻笑大方,让大家拍拍板砖也未尝不可. 为什么要学习批处理? 首先,我是一个后生,自从接触计算机就一直使用的…