Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Získá odhadovanou binární velikost sestavení a jeho metadata v aktuálním oboru.
Syntax
HRESULT GetSaveSize (
[in] CorSaveSize fSave,
[out] DWORD *pdwSaveSize
);
Parameters
fSave [v] Hodnota výčtu CorSaveSize , která určuje, jestli se má získat přesná nebo přibližná velikost. Platné jsou pouze tři hodnoty: cssAccurate, cssQuick a cssDiscardTransientCAs:
CssAccurate vrátí přesnou velikost uložení, ale výpočet trvá déle.
CssQuick vrátí velikost, paddded pro bezpečnost, ale trvá méně času k výpočtu.
CssDiscardTransientCAs říká
GetSaveSize, že může zahodit zahozené vlastní atributy.
pdwSaveSize [ven] Ukazatel na velikost, která je nutná k uložení souboru.
Remarks
GetSaveSize vypočítá požadované místo v bajtech k uložení sestavení a všech jeho metadat v aktuálním oboru. (Volání metody IMetaDataEmit::SaveToStream by vygenerovalo tento počet bajtů.)
Pokud volající implementuje rozhraní IMapToken (prostřednictvím IMetaDataEmit::SetHandler nebo IMetaDataEmit::Merge), GetSaveSize provede dvě předávání metadat pro optimalizaci a komprimaci. V opačném případě se neprovedou žádné optimalizace.
Pokud se provede optimalizace, první předání jednoduše seřadí struktury metadat a vyladí výkon hledání v čase importu. Tento krok obvykle vede k přesouvání záznamů s vedlejším účinkem, který tokeny zachované nástrojem pro budoucí odkazy zneplatní. Metadata neinformují volajícího o těchto změnách tokenů, dokud však po druhém průchodu neinformuje. Ve druhém průchodu se provádějí různé optimalizace, které mají snížit celkovou velikost metadat, například optimalizovat pryč (časnou vazbu) mdTypeRef a mdMemberRef tokeny, pokud je odkaz na typ nebo člen, který je deklarován v aktuálním oboru metadat. V tomto průchodu dojde k dalšímu kolo mapování tokenů. Po tomto předání modul metadat volajícímu prostřednictvím rozhraní IMapToken oznámí všechny změněné hodnoty tokenu.
Requirements
Platformy: Viz podporované operační systémy .NET.
Header: Cor.h
Library: CorGuids.lib