Função FunctionEnter
Notifica o criador de perfil que o controle está sendo passado para uma função.
Observaçã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
Método ICorProfilerInfo2::SetEnterLeaveFunctionHooks2