Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Notifica o criador de perfil de que o controle está sendo retornado de uma função.
Sintaxe
void __stdcall FunctionLeave3(FunctionOrRemappedID functionOrRemappedID);
Parâmetros
functionOrRemappedID [in] O identificador da função da qual o controle é retornado.
Comentários
A função de retorno de chamada FunctionLeave3 notifica o criador de perfil como as funções estão sendo chamadas, mas não dá suporte à inspeção de valor retornado. Use o método ICorProfilerInfo3::SetEnterLeaveFunctionHooks3 para registrar sua implementação dessa função.
A função FunctionLeave3 é 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 FunctionLeave3 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 isso. Se houver uma tentativa de coleta de lixo, o runtime será bloqueado até que FunctionLeave3 retorne.
A função FunctionLeave3 não pode chamar o código gerenciado ou causar uma alocação de memória gerenciada de nenhuma maneira.
Requisitos
Plataformas: confira Requisitos do sistema.
Cabeçalho: CorProf.idl
Biblioteca: CorGuids.lib
Versões do .NET Framework: disponíveis desde 4