Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 [in] Um valor da enumeração CorSaveSize que especifica se um tamanho preciso ou aproximado deve ser obtido. Somente três valores são válidos: cssAccurate, cssQuick e cssDiscardTransientCAs:
cssAccurate retorna o tamanho de salvamento exato, mas leva mais tempo para calcular.
cssQuick retorna um tamanho, acolchoado para segurança, mas leva menos tempo para calcular.
cssDiscardTransientCAs informa
GetSaveSizeque ele pode jogar fora atributos personalizados descartados.
pdwSaveSize [out] 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 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á-la e compactá-la. Caso contrário, nenhuma otimização será executada.
Se a otimização for executada, a primeira passagem simplesmente classificará as estruturas de metadados para ajustar o desempenho das pesquisas de 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 após a segunda passagem. Na segunda passagem, são executadas várias otimizações destinadas a reduzir o tamanho geral dos metadados, como otimizar (associação antecipada) mdTypeRef e mdMemberRef tokens quando a referência é para um tipo ou membro que é declarado no escopo de metadados atual. Nessa passagem, ocorre outra rodada de mapeamento de token. Após essa passagem, o mecanismo de metadados notifica o chamador, por meio de sua IMapToken interface, de quaisquer valores de token alterados.
Requirements
Plataformas: Consulte sistemas operacionais com suporte do .NET.
Header: Cor.h
Library: CorGuids.lib