1.3.9 分层
I/O管理器一个有用的功能是允许把一个驱动程序堆在另一个驱动程序之上。这样在分
编写如网络驱动等有协议栈程序时,可以为各层编写相对独立的代码。当驱动程序需要
在不同的平台上移植时,只需重新编写最下层的硬件驱动程序即可。高层驱动程序的另
一个功能是可以对用户请求进行予处理,比如把较大的请求分割成较小的请求分多次传
给给下层的程序。
1.3.10 设备名及其符号连接
Windows NT系统维护着一个对象名字空间,把所有在系统内注册过的对象的名字分类
存在一个树状空间里,用Win32 SDK提供的WinObj工具可以浏览这个空间。如果希望设备
能被用户的CreateFile函数打开,就需要在调用IoCreateDevice创建该设备对象时赋予
它一个名字,位于\Device\下,并调用IoCreateSymbolicLink在\DosDevices\下创建一
个符号连接。这样,用户程序就能用CreateFile("\\\\.\\符号连接名",……)打开该设
备,并获得其句柄。
--