卸载 LSP 并重启系统依然有服务加载它

发现问题,2012-12-11 18:16:00

  快游(网游加速器)包含一个 LSP,属于加速核心组件,在测试 LSP 期间,发现一个奇怪的现象:反注册它,并 netsh winsock reset 加重启好几次……依然有程序加载它。用 Process Explorer 查看是:IpOverUsbSvc.exe 和 daemonu.exe。把 LSP 的 DLL 文件删掉,再重启,可以消灭这个奇怪的现象。但后来想重现这个怪现象时,却无法重现。

重现和解决问题,2012-12-25 15:38:00

  问题自然重现,继续研究。这两个进程对应的服务名是:IpOverUsbSvc 和 nvUpdatusService。手动重启这两个服务后,即不再加载 LSP。推理:这两个服务很可能每次重启机器时都没有正常关闭,系统提供了某种机制让他们在下一次重启后快速恢复了运行现场(保留了有 LSP 注册时的环境)。

分析问题,2013-03-26 23:24:30

  时隔三个月,偶然看到介绍”混合式关机”的文章,恍然大悟,原来是这货引发的八哥!

在安装 Win8 后,很多人都体验到了其开关机惊人的速度,尤其是开机速度,相比 Win7 之下,它提升的不止是一点半点。在某些超极本和配备了 SSD 的机器上,其开关机速度可以在数秒以内。例如 Surface Pro,其实测系统引导速度为2秒,从启动到自动登录到开始屏幕只要6秒。

究竟是什么技术提升了 Win8 的开关机速度呢?如果要用最简单的一句话概括,那应该是”系统会话休眠”,或者更简单的,”混合式关机”。

在 以往的 Windows OS 中,典型的关机顺序为:

  1. 单击”关机”。

  2. Windows 广播运行应用程序关机信息,让应用程序可以保存数据和设置。应用程序也可以要求一些额外的时间以结束其当前工作。

  3. Windows 为每个登录用户关闭用户会话。

  4. Windows 向服务发送关机信息,通知已开始关机,接着关闭服务。如果服务未响应,系统将强制关闭。

  5. Windows 向设备广播信息,示意设备进行关闭。

  6. Windows 关闭系统会话(也称为”会话 0”)。

  7. Windows 刷新系统驱动器待决数据,以确保完全保存。

  8. Windows 通过 ACPI 界面向系统发送信号以给计算机断电。

看着以上的典型关机步骤,你是不是也有想到一些步骤对应的屏幕上的 UI 表现呢~

再来看看 Windows 8 采用的混合式关机主要步骤:

  1. 单击”关机”。

  2. Windows 广播运行应用程序关机信息,让应用程序可以保存数据和设置。应用程序也可以要求取得一些额外的时间以结束其当前工作。

  3. Windows 为每个登录用户关闭用户会话。

  4. 系统会话休眠,并掉电。

可见,Windows 8 只关闭用户会话而不像以前那样完全关闭计算机。此时, Windows 不再等待并结束系统服务和关闭会话 0,而是让其进入休眠。这种关闭用户会话+休眠系统服务和系统会话的做法,被称为”混合式关机”,也就不难理解了。

或者说得通俗点,就好比你之前打扫卫生时,需要先组装专业的拖布,组装好了以后,才能开始打扫卫生。而现在,你可以拿起拖布直接开始打扫,因为你上次打扫完之后,并没有将拖布这一工具像以往那样拆卸下来收好。

开机在结构上是关机的逆过程,所以有了混合式关机,开机自然也就快了。但是,除了 RAID 卡外,一般硬盘的读取速度会比写入速度略快,加上关机的时候,系统会通知并等待应用程序退出,所以从感官上,开机过程会比关机过程显得要快一些。

枚举物理网卡

  其实目的是获取靠谱的 MAC 地址,但这个任务真蛋疼!不信您看看搜索出来的乐射……

  神马 GetAdaptersInfo、GetIfEntry、GetAdaptersAddresses、NetWkstaTransportEnum,还有读取注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards。这些都会枚举到虚拟网卡,给您举个例子“VirtualBox Host-Only Ethernet Adapter”,读取神马 NetCfgInstanceId、MediaSubType,都不靠谱,没有平台移植性!

  用 Setup API 枚举 Interface,匹配 PCI 和 USB 类型是比较靠谱的。

  蛋似,虚拟机的网卡也是虚拟的,为了方便在虚拟机测试,您要注意放开一些特例……很抱歉,领导说代码要保密,自己搜吧,关键字:SetupDiGetDeviceInterfaceDetail、OID_802_3_PERMANENT_ADDRESS。

  给个蛋碎的例子:\\.\pci#ven_10ec&dev_8168&subsys_050e1028&rev_06#4&224db6dd&0&00e5#{ad498944-762f-11d0-8dcb-00c04fc3358c}\{4cc0ea76-88b7-40e1-8b4b-6339f8dd49bf} 可以简称为 \\.\{4cc0ea76-88b7-40e1-8b4b-6339f8dd49bf} 或者 \\.\Global\{4cc0ea76-88b7-40e1-8b4b-6339f8dd49bf}

吃屎是不可避免的未来~

未来,可能是为了节省能源,或者出于“猪”道主义,人类已经不吃禽兽这类比较有情感的动物了,根据泥巴娃所梦,未来的人都是吃虫的。
果蝇、蛆等虫,虽然恶心,但是经过加工,确实是很好的蛋白质来源。
泥巴娃注意到这个流程:人拉屎,养蝇蛆,产蛋白质,加工成肉,人吃肉,拉屎……
这个过程很快,很快,快到来不及反应,就变成了——人吃屎!
一个个面目狰狞,手里还捧着一坨屎,要请泥巴娃吃,泥巴娃眼一睁,整个世界清静了~