Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Obtém o tamanho binário estimado do assembly e seus metadados no escopo atual.
Syntax
HRESULT GetSaveSize (
[in] CorSaveSize fSave,
[out] DWORD *pdwSaveSize
);
Parameters
fSave [em] Um valor da enumeração CorSaveSize que especifica se deve obter um tamanho preciso ou aproximado. Apenas três valores são válidos: cssAccurate, cssQuick, e cssDiscardTransientCAs:
cssAccurate retorna o tamanho exato de salvamento, mas leva mais tempo para calcular.
cssQuick retorna um tamanho, acolchoado para segurança, mas leva menos tempo para calcular.
cssDiscardTransientCAs diz
GetSaveSizeque pode jogar fora atributos personalizados descartáveis.
pdwSaveSize [saídas] Um ponteiro para o tamanho necessário para salvar o arquivo.
Remarks
GetSaveSize Calcula o espaço necessário, em bytes, para salvar o assembly e todos os seus metadados no escopo atual. (Uma chamada para o método IMetaDataEmit::SaveToStream emitiria esse número de bytes.)
Se o chamador implementar a interface IMapToken (por meio de IMetaDataEmit::SetHandler ou IMetaDataEmit::Merge), GetSaveSize executará duas passagens sobre os metadados para otimizá-los e compactá-los. Caso contrário, nenhuma otimização será executada.
Se a otimização for executada, a primeira passagem simplesmente classifica as estruturas de metadados para ajustar o desempenho das pesquisas em tempo de importação. Essa etapa normalmente resulta na movimentação de registros, com o efeito colateral de que os tokens retidos pela ferramenta para referência futura são invalidados. No entanto, os metadados não informam o chamador dessas alterações de token até depois da segunda passagem. Na segunda passagem, várias otimizações são realizadas com o objetivo de reduzir o tamanho geral dos metadados, como otimização (vinculação antecipada) mdTypeRef e mdMemberRef tokens quando a referência é a um tipo ou membro declarado no escopo de metadados atual. Nesta passagem, ocorre outra rodada de mapeamento de tokens. Após essa passagem, o mecanismo de metadados notifica o chamador, por meio de sua IMapToken interface, sobre quaisquer valores de token alterados.
Requirements
Plataformas: Consulte Sistemas operacionais suportados pelo .NET.
Header: Cor.h
Library: CorGuids.lib