Compartilhar via


Função FunctionLeave

Notifica o criador de perfil de que uma função está prestes a retornar ao chamador.

Observação

A função FunctionLeave foi preterida no .NET Framework versão 2.0. Ela continuará funcionando, mas incorrerá em uma penalidade de desempenho. Em vez disso, use a função FunctionLeave2.

Sintaxe

void __stdcall FunctionLeave (  
    [in] FunctionID funcID  
);  

Parâmetros

funcID [in] O identificador da função que está retornando.

Comentários

A função FunctionLeave é um retorno de chamada e você deve implementá-la. A implementação precisa usar o atributo __declspec (naked) da classe de armazenamento.

O mecanismo de execução não salva nenhum registro antes de chamar essa função.

  • Na entrada, você precisa salvar todos os registros usados, incluindo aqueles na FPU (unidade de ponto flutuante).

  • Na saída, você deve restaurar a pilha removendo todos os parâmetros que foram enviados por push pelo chamador.

A implementação de FunctionLeave não deve ser bloqueada porque atrasará a coleta de lixo. A implementação não deve tentar fazer uma coleta de lixo porque a pilha pode não estar em um estado adequado para a coleta de lixo. Se houver uma tentativa de coleta de lixo, o runtime será bloqueado até retornar FunctionLeave.

Além disso, a função FunctionLeave não deve chamar o código gerenciado ou de alguma forma causar uma alocação de memória gerenciada.

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: CorProf.idl

Biblioteca: CorGuids.lib

Versões do .NET Framework: 1.1, 1.0

Confira também