Compartilhar via


Função FunctionEnter

Notifica o criador de perfil que o controle está sendo passado para uma função.

ObservaçãoObservação:

O FunctionEnter função está obsoleto no .NET estrutura versão 2.0. Ele continuará a funcionar, mas serão em uma penalidade de desempenho. Use o FunctionEnter2 funcionar em vez disso.

void FunctionEnter (
        [in]  FunctionID funcID
);

Parâmetros

  • funcID
    [in] O identificador da função à qual o controle é passado.

Comentários

The FunctionEnter função é um retorno de chamada; você precisa implementá-lo. A implementação deve utilizar o __declspec(naked) atributo de classe de armazenamento.

O mecanismo de execução não salva os registros antes de chamar essa função.

  • Na entrada, você deve salvar todos os registradores usar, inclusive aqueles em unidade de ponto flutuante (FPU).

  • Ao sair, você deve restauração a pilha por exibir Desativar todos os parâmetros que foram enviados pelo seu chamador.

A implementação de FunctionEnter não deve bloquear porque ele atrasará lixo coleção. A implementação não deve tentar um lixo coleção porque a pilha pode não ser um lixo coleção-estado amigável. Se um lixo coleção é tentada, o tempo de execução será bloqueado até FunctionEnter Retorna.

Além disso, a FunctionEnter função não deve chamar código gerenciado ou em qualquer forma de causa uma alocação de memória gerenciada.

Requisitos

Plataformas: See Requisitos de sistema do .NET framework.

Cabeçalho: CorProf.idl

Biblioteca: CorGuids.lib

Versões do .NET estrutura: 1.1, 1.0

Consulte também

Referência

Função FunctionEnter2

Função FunctionLeave2

Função FunctionTailcall2

Método ICorProfilerInfo2::SetEnterLeaveFunctionHooks2

Outros recursos

Criação de perfil global estático funções