什么“部分不透明”对于Windows代码意味着什么?

时间:2013-07-09 16:00:51

标签: windows device-driver

我在the documentation for a windows OS "DRIVER_OBJECT"中看到A driver object is partially opaque。但“部分不透明”是什么意思?

我猜这意味着只有DRIVER_OBJECT的一部分是可用的,但那么,从程序上来说,这意味着什么呢?也就是说,如果某些代码具有指向DRIVER_OBJECT的指针,那么它可以将整个对象读取(并可能写入)作为一个单元。

1 个答案:

答案 0 :(得分:2)

完整的引用是,

  

驱动程序对象部分不透明。司机作家必须了解   驱动程序的某些成员对象初始化驱动程序并且   如果驱动程序无法卸载,请将其卸载。以下成员   驱动程序可以访问驱动程序对象。

相关部分是:驱动程序编写者必须了解某些成员。

为了编写/使用驱动程序,您需要访问代码的某些部分。各种各样的界面。 (没有语言形式化)。在上面引用之后的文件中解释了这些成员。

  

应考虑驱动程序对象中的未记录成员   无法访问。依赖于对象成员位置或的驱动程序   访问未记录的成员可能无法保持便携性   随着时间的推移可以与其他驱动程序互操作。

这意味着当所需的“界面”可见时,驱动程序中的任何其他内容都应被视为“私有”。当然你可以在C中达到它,但这是不受支持的,它可能会破坏,不可移动等等。

这是部分不透明的定义,不透明的意思是“not transparent”。 部分不透明表示部分不透明,或相反,部分可见。使用部分不透明而不是部分可见,强调驱动对象的隐藏性质,而不是可见部分。