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.
Ruft die geschätzte binäre Größe der Assembly und deren Metadaten im aktuellen Bereich ab.
Syntax
HRESULT GetSaveSize (
[in] CorSaveSize fSave,
[out] DWORD *pdwSaveSize
);
Parameters
fSave [in] Ein Wert der CorSaveSize-Aufzählung , die angibt, ob eine genaue oder ungefähre Größe abgerufen werden soll. Nur drei Werte sind gültig: cssAccurate, cssQuick und cssDiscardTransientCAs:
cssAccurate gibt die genaue Speichergröße zurück, dauert jedoch länger, um die Berechnung zu berechnen.
cssQuick gibt eine Größe zurück, die zur Sicherheit gepolstert ist, benötigt jedoch weniger Zeit, um die Berechnung zu berechnen.
cssDiscardTransientCAs teilt mit
GetSaveSize, dass sie verworfene benutzerdefinierte Attribute wegwerfen kann.
pdwSaveSize [out] Ein Zeiger auf die Größe, die zum Speichern der Datei erforderlich ist.
Remarks
GetSaveSize berechnet den erforderlichen Speicherplatz in Bytes, um die Assembly und alle metadaten im aktuellen Bereich zu speichern. (Ein Aufruf der IMetaDataEmit::SaveToStream-Methode würde diese Anzahl von Bytes ausgeben.)
Wenn der Aufrufer die IMapToken-Schnittstelle implementiert (über IMetaDataEmit::SetHandler oder IMetaDataEmit::Merge), GetSaveSize führt zwei Übergaben über die Metadaten aus, um sie zu optimieren und zu komprimieren. Andernfalls werden keine Optimierungen durchgeführt.
Wenn die Optimierung durchgeführt wird, sortiert der erste Durchlauf einfach die Metadatenstrukturen, um die Leistung von Importzeitsuchen zu optimieren. Dieser Schritt führt in der Regel zum Verschieben von Datensätzen, wobei der Nebeneffekt, den token, die vom Tool für zukünftige Verweise aufbewahrt werden, ungültig sind. Die Metadaten informieren den Aufrufer dieser Tokenänderungen erst nach dem zweiten Durchlauf. Im zweiten Durchlauf werden verschiedene Optimierungen durchgeführt, die die Gesamtgröße der Metadaten verringern sollen, z. B. das Optimieren (frühe Bindung) mdTypeRef und mdMemberRef Token, wenn der Verweis auf einen Typ oder ein Element ist, der im aktuellen Metadatenbereich deklariert ist. In diesem Durchgang tritt eine weitere Runde der Tokenzuordnung auf. Nach diesem Durchlauf benachrichtigt das Metadatenmodul den Aufrufer über die IMapToken Schnittstelle aller geänderten Tokenwerte.
Requirements
Plattformen: Siehe .NET unterstützte Betriebssysteme.
Header: Cor.h
Library: CorGuids.lib