Was bedeutet die Nummer am Ende des Schnittstellennamens? Ich sehe, dass IHTMLDocument3-7
keine Mitglieder haben ( siehe Beispiel für # 5 ), und 8
hat gestenbezogene Mitglieder. Ist die Zahl von der Windows-Version abgeleitet?
Dies ist eine allgemeine Funktion öffentlicher COM-Schnittstellen.
Wenn Sie Abwärtskompatibilität wünschen, möchten Sie niemals eine veröffentlichte Schnittstelle ändern, da dies bedeuten würde, dass der Code, für den die Leute geschrieben haben, IE 6 nicht mehr mit IE 7 arbeitet und alle ihre Kunden darauf wütend werden Sie werden wütend auf dich.
Wenn also IE 5 neue Features hinzufügt, die angezeigt werden müssen, anstatt IHTMLDocument
zu ändern, erstellen Sie eine neue Schnittstelle und unterstützen IE5 (durch Vererbung, QueryInterface
oder einen expliziteren Mechanismus). Und wenn IE 7.0.2 oder IE 8 oder Win XP oder was auch immer neue Funktionen hinzufügt, erstellen Sie eine andere. Und so weiter.
Während MS mit beschreibenden Suffixen anstelle von nur sequenziellen Zahlen kommen könnte, wäre das wahrscheinlich verwirrender als hilfreich. Also, IHTMLDocument2
, IHTMLDocument3
, usw. sind die Namen. Sie bedeuten nichts, außer der Reihenfolge, in der sie hinzugefügt wurden.
Was bedeutet die Zahl am Ende des Schnittstellennamens?
Dies ist die Standardkonvention für die Versionierung von COM-Schnittstellen. IXXX2 erweitert IXXX um neue Funktionen. IXXX3 erweitert IXXX2 um neue Funktionen und so weiter. Dies ermöglicht Clients, ältere Funktionen zu verwenden, ohne zu brechen, wenn neue Versionen veröffentlicht werden, und bei Bedarf neue Funktionen zu verwenden, sogar zu prüfen, ob diese Funktionen verfügbar sind, bevor sie versucht werden, sie aufzurufen.
Ich sehe, dass IHTMLDocument3-7 keine Mitglieder
haben
Woher hast du diese Idee? Schau dir ihre tatsächlichen Definitionen an. Sie setzen viele neue Mitglieder von einer Schnittstelle zur nächsten frei.
Tags und Links internet-explorer c++ mshtml