1. PDEVICE_OBJECT IoAttachDeviceToDeviceStack( __in PDEVICE_OBJECT SourceDevice, __in PDEVICE_OBJECT TargetDevice ); //返回绑定之前栈顶的设备对象指针 第一参数是过滤设备指针 第二个是要在挂载的设备对象指针 即: SourceDevice:你要创建的Device TargetDevice:你要附加到的Device,设备栈中一个任一个device 举例:如果有以下序列 a-b-c-d-e-f,其中a为最底层,f为最高层,newdevice为你新建的设备 此调用IoAttachDeviceToDeviceStack(newdevice,f) 此时返回的设备即为f。 IoAttachDeviceToDeviceStack(newdevice,c) 此时返回的设备还是为f。 总之就是返回的肯定是未attach前的最高层的设备