指针也就是数据在内存中的地址,从C语言开始有指针概念,指针的一直广泛地在高级编程语言中使用,后来随着面向对象的编程方法出现,指针摇身一变成为对象的名字(JAVA中没指针),在windows 系统编程中,用句柄表示系统资源的名称,比如窗口句柄、内存句柄、文件句柄,其实句柄的本质也是内存地址,windows系统不允许应用程序直接访问系统保护内存,只能间接通过系统API接口来,而句柄往往是重要的参数。
指针这一编程中很重要很有用的概念,可是它有一个局限性,就是只能局限在进程内、局限在一台计算机内(同一台计算机上两个进程可以通过共享内存或窗口消息通信),一个指针对另外一台计算机是毫无意义的,而这局限对网络时代程序开发无疑是致命的,现在计算机间通信主要是TCP/IP,在编程上来讲就是socket套接字,用socket来通信你得到是一段无意义的数据流,你需要自己制定两边的通讯协议,协议数据流的编码和解码不仅耗费你大量的编程时间,而且如果没有经验也容易产生大量的BUG,于是想出了一个通用的办法RPC(Remote Procedure call), 它是一个高层协议,底层可以由 tcp  udp ipx 等来实现,RPC省去自定义通讯协议的麻烦,只要你按照它的规范写好接口,通过调用函数就可以通信,(两边都各有一插桩程序,实际是两插桩帮助通信)然而要用RPC我们的程序好像又回到C语言时代,要想实现一个简单的功能都太复杂,完全无法借用MFC的好处,还好微软拿出了COM、DCOM方案,DCOM使用RPC实现通信,可是COM技术对初学者无疑困难重重,用起来也麻烦!
   看了几篇关于微软的VISTA系统的文章,既然64位操作系统管理的内存可以说是无限,那么可不可以把全世界计算机的内存统一编址,这样指针就不局限在本地了,就是每台计算机都记得它在统一编址中的偏移,当偏移超出了本机的范围,计算机的一个服务就通过TCP/IP自动把另一台计算机的内存同步到本地(当然了你得要有权限),就可以通过指针访问别的计算机的数据来通信了 呢,这样我们编成也容易多了呢?