这个方法将调用者创建的设备对象和在设备链中最上面的设备进行绑定,并返回一个指向原先处于设备链最上面的设备对象的指针。
PDEVICE_OBJECT
IoAttachDeviceToDeviceStack(
IN PDEVICE_OBJECT SourceDevice,
IN PDEVICE_OBJECT TargetDevice
);
- 指向调用者创建的设备对象. TargetDevice
-
指向另外一个驱动的设备对象,可以在前面调用IoGetDeviceObjectPointer来得到这个指针。
参数
SourceDevice返回值
IoAttachDeviceToDeviceStack 返回指向SourceDevice所绑定的设备对象的指针. 如果TargetDevice上面有另外的设备的话,返回的指针所指向的对象跟TargetDevice是有区别的。打个比方,假设原来有一个设备对象链 B——C,其中B处于链的顶端,现在有一个新的设备对象A,执行IoAttachDeviceToDeviceStack (A,C)后,链就变成了A——B——C,同时函数返回B。
IoAttachDeviceToDeviceStack 当无法进行绑定的时候返回NULL,例如当目标设备的别卸载的时候.