关于操作系统中为什么要使用句柄:
个人理解是,因为虚拟内存的机制,导致同一个对象的物理地址是经常变化的,所以操作系统不能通过物理地址直接操作对象,而采用句柄这样的索引来查找物理地址。
在同一个进程中,其实是可以通过虚拟地址去查找对象的。但句柄相对于用虚拟地址的方式还有个好处,就是他只是一个索引,操作他并不会有更改对象内容的风险。
关于LSP:
应用程序调用Ws2_32.dll的API来实现socket,而该dll又调用Winsock服务提供者来实现API。因此,通过修改服务提供者,能够达到自定义网络行为的目的。(LSP等方法的原理)