Método ICallFrame::Free (callobj.h)
Libera a cópia de quadro para evitar um vazamento de memória.
Quando uma cópia de um quadro de chamada é feita com o método Copy, o quadro de chamada não limpo os dados copiados automaticamente. Portanto, depois que uma cópia do quadro de chamada é retornada, o usuário é responsável por chamar o método Free para liberar a cópia de quadro e evitar um vazamento de memória.
Sintaxe
HRESULT Free(
[in] ICallFrame *pframeArgsDest,
[in] ICallFrameWalker *pWalkerDestFree,
[in] ICallFrameWalker *pWalkerCopy,
[in] DWORD freeFlags,
[in] ICallFrameWalker *pWalkerFree,
[in] DWORD nullFlags
);
Parâmetros
[in] pframeArgsDest
Um ponteiro para uma instância da interface ICallFrame . Representa o ponteiro de pilha do quadro de chamada para o qual os parâmetros out devem ser copiados antes que a cópia do quadro seja liberada. O quadro de destino geralmente é o quadro pai do qual o quadro foi originalmente copiado. Esse parâmetro é opcional.
Ao liberar um quadro e especificar um parâmetro pframeArgsDest que está no mesmo espaço de memória que o do quadro receptor, somente o parâmetro pWalkerCopy é chamado em cada ponteiro de interface.
[in] pWalkerDestFree
Um ponteiro para uma instância da interface ICallFrameWalker . Se houver parâmetros de entrada e saída em pframeArgsDest, a propagação exigirá que esses valores sejam liberados. Ao fornecer o objeto pWalkerDestFree , os ponteiros de interface serão liberados. Se pframeArgsDest for NULL, esse parâmetro também deverá ser NULL e os ponteiros da interface deverão ser liberados chamando o método Release .
[in] pWalkerCopy
Um ponteiro para uma instância da interface ICallFrameWalker . Quando os parâmetros de entrada e saída em pframeArgsDest são liberados , a propagação dos parâmetros de saída é realizada. Se esse parâmetro não for especificado, os ponteiros da interface serão passados para AddRef. Esse parâmetro é opcional.
[in] freeFlags
Sinalizadores da enumeração CALLFRAME_FREE .
[in] pWalkerFree
Um ponteiro para uma instância da interface ICallFrameWalker . Quando especificado, um retorno de chamada é feito para cada ponteiro de interface encontrado durante a liberação. Se esse parâmetro não for especificado, os ponteiros da interface serão liberados pelo método Release .
[in] nullFlags
Sinalizadores da enumeração CALLFRAME_NULL .
Retornar valor
Esse método pode retornar os valores a seguir.
Código de retorno | Descrição |
---|---|
|
O método foi concluído com sucesso. |
|
Ocorreu um erro inesperado. |
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | callobj.h |