7

インターフェイス名の末尾にある数字の意味は何ですか?IHTMLDocument3-7メンバーがなく(#5の例を参照)、8ジェスチャー関連のメンバーがいることがわかります。番号はWindowsバージョンから派生していますか?

4

4 に答える 4

20

これは、パブリック COM インターフェイスの一般的な機能です。

下位互換性が必要な場合は、公開されたインターフェイスを変更したくありません。これは、人々が書いたすべてのコード、たとえば IE 6 が IE 7 で動作しなくなり、すべての顧客がそれらに腹を立て、彼らが腹を立てることを意味するためです。あなたに。

したがって、公開する必要のある新しい機能を IE 5 が追加する場合、 を変更する代わりにIHTMLDocument、新しいインターフェイスを作成し、IE5 が両方をサポートするようにします (継承、QueryInterface、またはより明示的なメカニズムによって)。また、IE 7.0.2、IE 8、Win XP など、さらに新しい機能が追加された場合は、別の機能を作成します。等々。

MS は単なる連番ではなく、説明的なサフィックスを考え出すことができたかもしれませんが、それはおそらく役立つというよりも混乱を招くでしょう. 、IHTMLDocument2IHTMLDocument3などは名前です。追加された順序を除いて、それらは何の意味もありません。

于 2013-01-01T07:38:52.070 に答える
3

インターフェイス名の末尾の数字の意味は何ですか?

これは、COM インターフェイスをバージョン管理するための標準的な規則です。IXXX2 は IXXX を新しい機能で拡張します。IXXX3 は、IXXX2 を新しい機能で拡張します。これにより、クライアントは、新しいバージョンがリリースされたときに中断することなく古い関数を使用し、必要に応じて新しい関数を使用できます。それらの関数を呼び出す前に、それらの関数が使用可能かどうかを確認することもできます。

IHTMLDocument3-7 にはメンバーがありません

そのアイデアはどこから得たのですか?それらの実際の定義を見てください。それらは、あるインターフェイスから次のインターフェイスに多くの新しいメンバーを公開します。

于 2013-01-01T08:37:09.223 に答える
2

いいえ - インターフェイスの異なるバージョンを意味するだけです。これは、Windows のバージョンとは何の関係もありません (さらに言えば、MSHTML のバージョンとはほとんど、またはまったく関係ありません):

于 2013-01-01T07:24:39.213 に答える