Método de IMetaDataEmit::GetSaveSize
Obtém o tamanho estimado de binário de assembly e seus metadados no escopo atual.
HRESULT GetSaveSize (
[in] CorSaveSize fSave,
[out] DWORD *pdwSaveSize
);
Parâmetros
fSave
[in] Um valor igual a CorSaveSize enumeração que especifica se deve obter um tamanho exato ou aproximado. Somente três valores são válidos: cssAccurate, cssQuick e cssDiscardTransientCAs:cssAccurate retorna a salvar o tamanho exato, mas leva mais tempo para calcular.
cssQuick retorna um tamanho, preenchido para segurança, mas leva menos tempo para calcular.
cssDiscardTransientCAs informa ao GetSaveSize que pode jogar fora descartáveis atributos personalizados.
pdwSaveSize
[out] Um ponteiro para o tamanho que é necessário para salvar o arquivo.
Comentários
GetSaveSizeCalcula o espaço necessário, em bytes, para salvar o conjunto e todos os seus metadados no escopo atual. (Uma chamada para o IMetaDataEmit::SaveToStream método poderia emitir este número de bytes.)
Se o chamador implementa o IMapToken interface (por meio de IMetaDataEmit::SetHandler ou IMetaDataEmit::Merge), GetSaveSize executará duas passagens sobre os metadados para otimizar e compactar o proprietário. Caso contrário, nenhum otimizações são executadas.
Se for realizada a otimização, a primeira passagem simplesmente classifica as estruturas de metadados para ajustar o desempenho das pesquisas de tempo de importação. Essa etapa geralmente resulta em movendo registros, com o efeito colateral que tokens mantidos pela ferramenta para referência futura são invalidados. Os metadados não informar o chamador dessas alterações token até após a segunda passagem, entretanto. Na segunda passagem, várias otimizações executadas que se destinam a reduzir o tamanho geral dos metadados, como, por exemplo, otimizando distante (vinculação antecipada) mdTypeRef e mdMemberRef tokens quando a referência é um tipo ou membro que é declarado no atual escopo de metadados. Esse passo, ocorre uma nova rodada de mapeamento de token. Após essa etapa, o mecanismo de metadados notifica o chamador por meio de sua IMapToken interface, de quaisquer valores alterados token.
Requisitos
Plataformas: Consulte Requisitos de sistema do .NET Framework.
Cabeçalho: Cor.h
Biblioteca: Usado como um recurso em mscoree
.NET Framework versões: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1