Compartilhar via


Método IMetaDataEmit::GetSaveSize

Obtém o dimensionar estimado de binário do assembly e seus metadados no escopo corrente.

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 dimensionar exato ou aproximado. Somente três valores são válido: cssAccurate, cssQuick e cssDiscardTransientCAs:

    • cssAccurate retorna Salvar dimensionar exato, mas leva mais tempo para calcular.

    • cssQuick retorna um dimensionar, preenchido para segurança, mas leva menos time para calcular.

    • informa ao cssDiscardTransientCAsGetSaveSize Se ele pode jogar fora discardable atributos personalizados.

  • pdwSaveSize
    [out] Um ponteiro para o dimensionar necessário para salvar o arquivo.

Comentários

GetSaveSize Calcula o espaço necessário, em bytes, para salvar o conjunto e todos os seus metadados no escopo corrente. (Uma telefonar 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 or IMetaDataEmit::mesclagem), GetSaveSize executará duas passagens sobre metadados para otimizar e compactá-lo. Caso contrário, nenhum otimizações são executadas.

Se otimização for executada, a primeira passagem simplesmente classifica as estruturas de metadados para ajustar o desempenho das pesquisas de time de importação. Essa etapa geralmente resultados 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 etapa, várias otimizações são executadas que pretendem reduzir o dimensionar geral dos metadados, sistema autônomo a otimização para longe (associação inicial) mdTypeRef e mdMemberRef Quando a referência é um tipo ou membro declarada no corrente escopo de metadados de tokens. Essa etapa, outra round de mapeamento de token ocorre. Após essa etapa, o mecanismo de metadados notifica o chamador por meio de sua IMapToken interface de quaisquer valores alterados token.

Requisitos

Plataformas: See Requisitos de sistema do .NET framework.

Cabeçalho: Cor.h

Biblioteca: Usado sistema autônomo um recurso em MSCorEE.dll

.NET Framework Versions: 3.5 SP1, 3,5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1

Consulte também

Referência

Interface IMetaDataEmit

Interface IMetaDataEmit2