Partilhar via


Função FunctionTailcall3

Notifica o gerador de perfis de que a função atualmente em execução está prestes a executar uma chamada de cauda para outra função.

Sintaxe

void __stdcall FunctionTailcall3 (FunctionOrRemappedID functionOrRemappedID);  

Parâmetros

functionOrRemappedID [in] O identificador da função atualmente em execução que está prestes a fazer uma chamada de cauda.

Observações

A FunctionTailcall3 função de chamada de retorno notifica o gerador de perfis, uma vez que as funções estão a ser chamadas. Utilize o método ICorProfilerInfo3::SetEnterLeaveFunctionHooks3 para registar a implementação desta função.

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

O motor de execução não guarda quaisquer 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 retirar todos os parâmetros que foram emitidos pelo autor da chamada.

A implementação de FunctionTailcall3 não deve bloquear, uma vez que atrasará a libertação da memória. A implementação não deve tentar uma libertação da memória, porque a pilha pode não estar num estado amigável de libertação da memória. Se for tentada uma libertação da memória, o runtime bloqueará até FunctionTailcall3 ser devolvido.

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

Requisitos

Plataformas: Veja Requisitos de Sistema.

Cabeçalho: CorProf.idl

Biblioteca: CorGuids.lib

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

Ver também