词条 | IoAttachDeviceToDeviceStack() |
释义 | 如果一个设备被其他设备绑定,它们在一起的一组设备,被称为设备栈(之所以称为栈,是由于和请求的传递方式有关)。实际上, IoAttachDevice总是会绑定设备栈上最顶层的那个设备。 AttachedDevice是一个用来返回的指针的指针。绑定成功后,被绑定的设备指针被返回到这个地址。 前面已经提到了并不是所有的设备都有设备名字,所以依靠IoAttachDevice无法绑定没有名字的设备。另外还有两个API:一个是 IoAttachDeviceToDeviceStack,另一个是IoAttachDeviceToDeviceStackSafe。这两个函数功能一样,都是根据设备对象的 指针(而不是名字)进行绑定;区别是IoAttachDeviceToDeviceStackSafe更加安全,而且只有在Windows 2000SP4和Windows XP 以上的系统中才有。一般都使用IoAttachDeviceToDeviceStackSafe,但当试图兼容较低版本的Windows 2000时, 应该使用IoAttachDeviceToDeviceStack。 NTSTATUS 在Window 2000下应该使用另外一个函数IoAttachDeviceToDeviceStack,这个函数除了缺少最后一个参数之外(实际上放到返回值里了), 其他的和IoAttachDeviceToDeviceStackSafe函数相同。 PDEVICE_OBJECT 这个函数返回了最终被绑定的设备指针,这也就导致了它不能返回一个明确的错误码。但是如果为NULL,则表示绑定失败了。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。