Partilhar via


Função FunctionLeave3

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

Sintaxe

void __stdcall FunctionLeave3(FunctionOrRemappedID functionOrRemappedID);  

Parâmetros

functionOrRemappedID [in] O identificador da função a partir da qual é devolvido o controlo.

Observações

A FunctionLeave3 função de chamada de retorno notifica o gerador de perfis como as funções estão a ser chamadas, mas não suporta a inspeção de valor devolvido. Utilize o método ICorProfilerInfo3::SetEnterLeaveFunctionHooks3 para registar a implementação desta função.

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

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 FunctionLeave3 não deve ser bloqueada, uma vez que irá atrasar a recolha de lixo. A implementação não deve tentar uma libertação de lixo, uma vez que 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é FunctionLeave3 ser devolvido.

A FunctionLeave3 função não pode chamar para o código gerido ou causar uma alocação de memória gerida de qualquer forma.

Requisitos

Plataformas: Veja Requisitos do Sistema.

Cabeçalho: CorProf.idl

Biblioteca: CorGuids.lib

.NET Framework Versões: Disponível desde 4

Ver também