インターフェイス名の末尾にある数字の意味は何ですか?IHTMLDocument3-7
メンバーがなく(#5の例を参照)、8
ジェスチャー関連のメンバーがいることがわかります。番号はWindowsバージョンから派生していますか?
4 に答える
これは、パブリック COM インターフェイスの一般的な機能です。
下位互換性が必要な場合は、公開されたインターフェイスを変更したくありません。これは、人々が書いたすべてのコード、たとえば IE 6 が IE 7 で動作しなくなり、すべての顧客がそれらに腹を立て、彼らが腹を立てることを意味するためです。あなたに。
したがって、公開する必要のある新しい機能を IE 5 が追加する場合、 を変更する代わりにIHTMLDocument
、新しいインターフェイスを作成し、IE5 が両方をサポートするようにします (継承、QueryInterface
、またはより明示的なメカニズムによって)。また、IE 7.0.2、IE 8、Win XP など、さらに新しい機能が追加された場合は、別の機能を作成します。等々。
MS は単なる連番ではなく、説明的なサフィックスを考え出すことができたかもしれませんが、それはおそらく役立つというよりも混乱を招くでしょう. 、IHTMLDocument2
、IHTMLDocument3
などは名前です。追加された順序を除いて、それらは何の意味もありません。
インターフェイス名の末尾の数字の意味は何ですか?
これは、COM インターフェイスをバージョン管理するための標準的な規則です。IXXX2 は IXXX を新しい機能で拡張します。IXXX3 は、IXXX2 を新しい機能で拡張します。これにより、クライアントは、新しいバージョンがリリースされたときに中断することなく古い関数を使用し、必要に応じて新しい関数を使用できます。それらの関数を呼び出す前に、それらの関数が使用可能かどうかを確認することもできます。
IHTMLDocument3-7 にはメンバーがありません
そのアイデアはどこから得たのですか?それらの実際の定義を見てください。それらは、あるインターフェイスから次のインターフェイスに多くの新しいメンバーを公開します。
いいえ - インターフェイスの異なるバージョンを意味するだけです。これは、Windows のバージョンとは何の関係もありません (さらに言えば、MSHTML のバージョンとはほとんど、またはまったく関係ありません):