Megosztás:


IMetaDataEmit::GetSaveSize Method

Lekéri a szerelvény becsült bináris méretét és metaadatait az aktuális hatókörben.

Syntax

HRESULT GetSaveSize (
    [in]  CorSaveSize fSave,
    [out] DWORD       *pdwSaveSize
);

Parameters

fSave [in] A CorSaveSize enumerálás értéke, amely meghatározza, hogy pontos vagy hozzávetőleges méret legyen-e. Csak három érték érvényes: cssAccurate, cssQuick és cssDiscardTransientCAs:

  • A cssAccurate a pontos mentési méretet adja vissza, de a számítás hosszabb időt vesz igénybe.

  • cssQuick visszaad egy méretet, párnázva a biztonság, de kevesebb időt vesz igénybe a számítás.

  • A cssDiscardTransientCAs azt jelzi GetSaveSize , hogy eldobható egyéni attribútumokat képes eldobni.

pdwSaveSize [kifelé] A fájl mentéséhez szükséges méretre mutató mutató.

Remarks

GetSaveSize bájtban kiszámítja a szerelvény és az összes metaadat mentéséhez szükséges helyet az aktuális hatókörben. (Az IMetaDataEmit hívása::A SaveToStream metódus ennyi bájtot bocsát ki.)

Ha a hívó implementálja az IMapToken interfészt ( az IMetaDataEmit::SetHandler vagy az IMetaDataEmit::Merge) GetSaveSize két átvételt hajt végre a metaadatokon az optimalizálása és tömörítése érdekében. Ellenkező esetben nem történik optimalizálás.

Ha optimalizálást végez, az első lépés egyszerűen rendezi a metaadat-struktúrákat az importálási idő szerinti keresések teljesítményének finomhangolásához. Ez a lépés általában rekordok áthelyezését eredményezi, azzal a mellékhatással, hogy az eszköz által a jövőbeni hivatkozás céljából megtartott jogkivonatok érvénytelenítve lesznek. A metaadatok azonban csak a második lépés után tájékoztatják a hívót ezekről a jogkivonat-módosításokról. A második lépésben különböző optimalizálásokat hajtunk végre, amelyek célja a metaadatok általános méretének csökkentése, például az eltávozás (korai kötés) mdTypeRef és mdMemberRef a jogkivonatok optimalizálása, amikor a hivatkozás egy olyan típusra vagy tagra vonatkozik, amely az aktuális metaadat-hatókörben deklarálva van. Ebben a lépésben a tokenleképezés újabb fordulója következik be. Ezt követően a metaadatmotor értesíti a hívót az interfészen keresztül IMapToken a módosított tokenértékekről.

Requirements

Platformok: Lásd: .NET által támogatott operációs rendszerek.

Header: Cor.h

Library: CorGuids.lib

See also