Container: Verbunddateien
In diesem Artikel werden die Komponenten und die Implementierung von Verbunddateien sowie Vorteile und Nachteile der Verwendung von Verbunddateien in den OLE-Anwendungen.
Verbunddateien sind ein wesentlicher Bestandteil OLE.Sie werden verwendet, um Datenübertragungs- und OLE-Dokumenten Datenspeicher zu erleichtern.Verbunddateien handelt es sich um eine Implementierung des aktiven strukturierten Speichermodells.Konsistente Schnittstellen sind diese Serialisierung unterstützen, in einem Speicher in einen Datenstream oder ein Dateiobjekt.Verbunddateien werden in Microsoft Foundation Class Library COleStreamFile von Klassen und COleDocument unterstützt.
Hinweis |
---|
Verwenden einer Verbunddatei bedeutet nicht, dass die Informationen von einem OLE-Dokument oder einem Verbunddokument stammen.Verbunddateien sind lediglich eine der Methoden, OLE-Dokumente, Verbunddokumente und andere Daten zu speichern. |
Komponenten einer Verbunddatei
Die OLE-Implementierung von Verbunddateien werden drei Objekttypen: Datenstromobjekte Speicherobjekten, und ILockBytes-Objekten.Diese Objekte sind mit den Komponenten eines standardmäßigen dateisystems folgendermaßen aus:
Datenstromobjekte, z. B. Dateien, Speichern von Daten aus allen geben ein.
Speicherobjekten, wie Verzeichnisse, können andere Speicher und Datenstromobjekte enthalten.
LockBytes-Objekte stellen die Schnittstelle zwischen den Speicherobjekten und physische Hardware dar.Bestimmen Sie, wie die tatsächlichen Bytes, was dem Datenträger LockBytes-Objekt zugreift, z. B. eine Festplatte oder ein Bereich des globalen Speichers geschrieben werden.Weitere Informationen zu LockBytes-Objekte und ILockBytes-Schnittstelle finden Sie in der OLE-Programmierreferenz.
Vorteile und Nachteile von Verbunddateien
Verbunddateien bieten die Vorteile der Methoden, die mit früheren Dateispeicher nicht verfügbar sind.Sie enthalten:
Inkrementelles Dateizugreifen.
Dateizugriff zugriffsarten.
Standardisierung der Dateistruktur.
Mögliche Nachteile von Verbunddateien — groß und Leistungsprobleme in Bezug auf Speicher auf Disketten — sollten beim Entscheiden berücksichtigt werden, ob sie in der Anwendung verwendet.
Inkrementeller Zugriff auf Dateien
Inkrementeller Zugriff auf Dateien ist ein automatischer Vorteil der Verwendung von Verbunddateien.Da die Verbunddatei als "Dateisystem innerhalb einer Datei angezeigt werden kann," können einzelne Objekttypen, z. B. Speicher, diesen Stream oder zugegriffen werden, ohne dass die gesamte Datei zu laden.Dies kann die Zeit erheblich beeinträchtigen, die eine Anwendung neue Objekte zur Bearbeitung durch den Benutzer zugreifen muss.Im inkrementellen Aktualisieren auf Grundlage des gleichen Ansatz bietet die gleichen Vorteile.Anstatt die gesamte Datei zu speichern, um die Änderungen an einem Objekt zu sparen, speichert vorgenommen werden nur das OLE Datenstrom- oder Speicherobjekt, das vom Benutzer bearbeitet wird.
Dateizugriffs-Zugriffsarten
Klicken Sie in der Lage sein, um festzustellen, wann Änderungen an Objekten in einer Verbunddatei auf dem Datenträger übermittelt werden, ist ein weiterer Vorteil von Verbunddateien.Der Modus, in dem Dateien zugegriffen werden, transaktiv bestimmt, oder verweisen, wenn Änderungen übernommen werden.
Transaktiver Modus verwendet einen Vorgang Zweiphasencommit, um Änderungen an Objekten in einer Verbunddatei vorzunehmen, da er führt er die alte und die neue Kopien des Dokuments verfügbar, wenn der Benutzer auf die beschließt, ob die Änderungen gespeichert werden sollen oder rückgängig zu machen.
Direktbetrieb enthält, während diese Änderungen am Dokument vorgenommen werden, ohne die Möglichkeit, sie später rückgängig zu machen.
Weitere Informationen über Zugriffsmodi finden Sie in der OLE-Programmierreferenz.
Standardisierung
Die standardisierte Struktur von Verbunddateien können verschiedene OLE-Anwendungen, die durchzublättern Verbunddateien, die von der OLE-Anwendung ohne Kenntnis der Anwendung erstellt werden, die eigentlich die Datei erstellt wurde.
Größen-und Überlegungen zur Leistung
Aufgrund der Komplexität der Struktur und der Datenspeicher Verbunddatei Möglichkeit, Daten, neigen Dateien mithilfe dieses Formats inkrementell zu speichern, als andere Dateien mithilfe des unstrukturierten Flatfile "oder" Arbeitsspeicher größer sein.Wenn Ihre Anwendung speichert und lädt Dateien häufig mithilfe von Verbunddateien kann bewirken, dass sich die Dateigröße zu erhöhen, viel schneller als noncompound Dateien.Da Verbunddateien großes abrufen können, die Zugriffsgeschwindigkeit gespeicherten Dateien für geladen und auf Disketten kann aus dem Ergebnis der langsameren Zugriffs auf Dateien beeinflusst werden.
Andere Thema Leistung auswirkt, ist Verbunddatei Datagrammfragmentierung.Die Größe einer Verbunddatei wird durch den Unterschied zwischen dem ersten und dem letzten Datenträger Bereichen für die Datei bestimmt.Eine fragmentierte Datei kann viele Bereiche an freiem Speicherplatz enthält, die keine Daten enthalten, gezählt werden jedoch beim Bestimmen der Größe zu berechnen.Während der Lebensdauer einer Verbunddatei, werden diese Bereiche durch das Einfügen oder Löschen von Speicherobjekten erstellen.
Verwenden des Verbunddatei-Formats für Ihre Daten
Nachdem Sie haben erfolgreich eine Anwendung erstellt wird, die eine Dokumentklasse verfügt, die von COleDocument abgeleitet ist, stellen Sie sicher, dass das Hauptdokument Konstruktor EnableCompoundFile aufruft.Wenn der OLE-Containeranwendungen Anwendungs-Assistent erstellt wird, wird dieser Aufruf für eingefügt.
In der OLE-Programmierreferenz finden Sie unter IStream, IStorage und ILockBytes.