1

Windows OS「DRIVER_OBJECT」のドキュメントで、A driver object is partially opaque. しかし、「部分的に不透明」とはどういう意味ですか?

これは、DRIVER_OBJECT の一部のみが利用可能であることを意味すると推測していますが、プログラム的に言えば、それはどういう意味ですか? つまり、一部のコードが DRIVER_OBJECT へのポインターを持っている場合、オブジェクト全体を 1 つの単位として読み取る (場合によっては書き込む) ことができます。

4

1 に答える 1

2

完全な引用は、

ドライバー オブジェクトは部分的に不透明です。ドライバーの作成者は、ドライバーを初期化し、ドライバーがアンロード可能な場合はドライバーをアンロードするために、ドライバー オブジェクトの特定のメンバーについて認識している必要があります。ドライバー オブジェクトの次のメンバーは、ドライバーにアクセスできます。

関連する部分は次のとおりです。ドライバーの作成者は、特定のメンバーについて知っておく必要があります。

ドライバーを作成/使用するには、コードの特定の部分にアクセスできる必要があります。ある種のインターフェース。(つまり、言語の形式化なしで)。これらのメンバーは、上記の引用の直後のドキュメントで説明されています。

ドライバー オブジェクト内の文書化されていないメンバーは、アクセスできないと見なす必要があります。オブジェクト メンバーの場所または文書化されていないメンバーへのアクセスに依存するドライバーは、他のドライバーとの移植性や相互運用性を維持できない可能性があります。

これが意味することは、必要な「インターフェース」が表示されている間、ドライバー内の他のものはすべて「プライベート」と見なされる必要があるということです。確かにCで到達できますが、これはサポートされておらず、壊れたり、移植できなくなったりする可能性があります。

これは部分的に不透明の定義であり、不透明とは「透明でない」ことを意味します。部分的に不透明とは、部分的に透明でないこと、または逆に、部分的に見えることを意味します。部分的に見えるではなく部分的に不透明を使用すると、ドライバー オブジェクトの目に見える部分ではなく、隠れた性質が強調されます。

于 2013-07-09T16:13:43.057 に答える