Partilhar via


Função FunctionEnter

Notifica o gerador de perfis de que o controlo está a ser transmitido para uma função.

Nota

A FunctionEnter função foi preterida no .NET Framework versão 2.0 e a sua utilização incorrerá numa penalização de desempenho. Em alternativa, utilize a função FunctionEnter2 .

Sintaxe

void __stdcall FunctionEnter (  
    [in]  FunctionID funcID  
);  

Parâmetros

funcID [in] O identificador da função para a qual o controlo é transmitido.

Observações

A FunctionEnter função é uma chamada de retorno; tem de implementá-la. A implementação tem de utilizar o __declspecatributo da classe de armazenamento (naked).

O motor de execução não guarda registos antes de chamar esta função.

  • À entrada, tem de guardar todos os registos que utiliza, incluindo os da unidade de vírgula flutuante (FPU).

  • Ao sair, tem de restaurar a pilha ao remover todos os parâmetros que foram emitidos pelo autor da chamada.

A implementação de FunctionEnter não deve ser bloqueada porque irá atrasar a recolha de lixo. A implementação não deve tentar uma libertação de lixo porque a pilha pode não estar num estado compatível com a libertação da memória. Se for tentada uma libertação de lixo, o runtime bloqueará até FunctionEnter ser devolvido.

Além disso, a FunctionEnter função não pode chamar para o código gerido ou, de alguma forma, causar uma alocação de memória gerida.

Requisitos

Plataformas: Veja Requisitos do Sistema.

Cabeçalho: CorProf.idl

Biblioteca: CorGuids.lib

.NET Framework Versões: 1.1, 1.0

Ver também