Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает предполагаемый двоичный размер сборки и его метаданные в текущей области.
Syntax
HRESULT GetSaveSize (
[in] CorSaveSize fSave,
[out] DWORD *pdwSaveSize
);
Parameters
fSave [in] Значение перечисления CorSaveSize , указывающее, требуется ли получить точный или приблизительный размер. Допустимы только три значения: cssAccurate, cssQuick и cssDiscardTransientCAs:
cssAccurate возвращает точный размер сохранения, но требует больше времени для вычисления.
cssQuick возвращает размер, заполненный для безопасности, но занимает меньше времени для вычисления.
cssDiscardTransientCAs сообщает
GetSaveSize, что он может выбросить удаленные настраиваемые атрибуты.
pdwSaveSize [out] Указатель на размер, необходимый для сохранения файла.
Remarks
GetSaveSize вычисляет необходимое пространство в байтах, чтобы сохранить сборку и все ее метаданные в текущей области. (Вызов метода IMetaDataEmit::SaveToStream выдает это число байтов.)
Если вызывающий объект реализует интерфейс IMapToken (через IMetaDataEmit::SetHandler или IMetaDataEmit::Merge), GetSaveSize выполните два передачи метаданных для оптимизации и сжатия. В противном случае оптимизация не выполняется.
При выполнении оптимизации первый проход просто сортирует структуры метаданных для настройки производительности поиска во время импорта. Этот шаг обычно приводит к перемещению записей с побочным эффектом, который маркеры, сохраненные средством для будущей ссылки, являются недействительными. Метаданные не сообщают вызывающему объекту этих маркеров до момента второго прохода, однако. Во втором проходе выполняются различные оптимизации, которые предназначены для уменьшения общего размера метаданных, таких как оптимизация (ранняя привязка) mdTypeRef и mdMemberRef маркеры, когда ссылка относится к типу или члену, объявленному в текущей области метаданных. В этом проходе происходит еще один раунд сопоставления маркеров. После этого обработчик метаданных уведомляет вызывающий объект через его IMapToken интерфейс о любых измененных значениях маркеров.
Requirements
Платформ: См. сведения о поддерживаемых операционных системах .NET.
Header: Cor.h
Library: CorGuids.lib