Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die meisten Plattformen, einschließlich Windows, definieren ein Standardprotokoll zum Übertragen von Daten zwischen Anwendungen, basierend auf einer Reihe von Funktionen, die als Zwischenablage bezeichnet werden. Anwendungen, die diese Funktionen verwenden, können Daten freigeben, auch wenn ihre nativen Datenformate wild voneinander abweichen. Im Allgemeinen weisen diese Zwischenablage zwei erhebliche Mängel auf, die COM überwinden kann.
Zunächst verwenden Datenbeschreibungen nur einen Formatbezeichner, z. B. den einzelnen 16-Bit-Zwischenablageformatbezeichner unter Windows. Dies bedeutet, dass die Zwischenablage nur die Struktur ihrer Daten beschreiben kann, d. h. die Sortierung der Bits. Es kann "Ich habe eine Bitmap" "oder ich habe Text", aber es kann nicht die Zielgeräte angeben, für die die Daten zusammengesetzt sind, welche Ansichten oder Aspekte von sich selbst die Daten bereitstellen können oder welche Speichermedien für die Übertragung am besten geeignet sind. Beispielsweise kann er nicht melden: "Ich habe eine Textzeichenfolge, die im globalen Speicher gespeichert ist und für die Präsentation entweder auf dem Bildschirm oder auf einem Drucker formatiert ist" oder "Ich habe eine Miniaturansichtsskizzenbitmap für einen 100 DPI-Dot-Matrixdrucker gerendert und als Datenträgerdatei gespeichert".
Zweitens erfolgen alle Datenübertragungen, die die Zwischenablage verwenden, im Allgemeinen über den globalen Speicher. Die Verwendung des globalen Speichers ist für kleine Datenmengen relativ effizient, aber für große Mengen, wie z. B. ein Multimediaobjekt von 20 MB, sehr ineffizient. Der globale Arbeitsspeicher ist für ein großes Datenobjekt langsam, dessen Größe einen erheblichen Swapping für den virtuellen Arbeitsspeicher auf dem Datenträger erfordert. In Fällen, in denen die ausgetauschten Daten trotzdem hauptsächlich auf dem Datenträger gespeichert werden, ist das Erzwingen durch diesen Engpass im virtuellen Speicher sehr ineffizient. Eine bessere Möglichkeit wäre, den globalen Speicher vollständig zu überspringen und die Daten einfach direkt auf den Datenträger zu übertragen.
Um diese Probleme zu lindern, bietet COM zwei Datenstrukturen: FORMATETC und STGMEDIUM. Weitere Informationen finden Sie in den folgenden Themen:
Verwandte Themen