Partager via


ICallFrame ::Free, méthode (callobj.h)

Libère la copie du cadre pour éviter une fuite de mémoire.

Lorsqu’une copie d’un frame d’appel est effectuée avec la méthode Copy, le cadre d’appel ne propre pas automatiquement les données copiées. Par conséquent, une fois qu’une copie du cadre d’appel est retournée, l’utilisateur est responsable d’appeler la méthode Free pour libérer la copie de frame et éviter une fuite de mémoire.

Syntaxe

HRESULT Free(
  [in] ICallFrame       *pframeArgsDest,
  [in] ICallFrameWalker *pWalkerDestFree,
  [in] ICallFrameWalker *pWalkerCopy,
  [in] DWORD            freeFlags,
  [in] ICallFrameWalker *pWalkerFree,
  [in] DWORD            nullFlags
);

Paramètres

[in] pframeArgsDest

Pointeur vers un instance de l’interface ICallFrame. Représente le pointeur de pile de l’image d’appel vers laquelle les paramètres de sortie doivent être copiés avant que la copie du cadre ne soit libérée. Le cadre de destination est généralement l’image parente à partir de laquelle l’image a été copiée à l’origine. Ce paramètre est facultatif.

Lors de la libération d’une image et de la spécification d’un paramètre pframeArgsDest qui se trouve dans le même espace mémoire que celui du frame récepteur, seul le paramètre pWalkerCopy est appelé sur chaque pointeur d’interface.

[in] pWalkerDestFree

Pointeur vers un instance de l’interface ICallFrameWalker. S’il existe des paramètres d’entrée et de sortie dans pframeArgsDest, la propagation nécessite que ces valeurs soient libérées. En fournissant l’objet pWalkerDestFree , les pointeurs d’interface seront libérés. Si pframeArgsDest a la valeur NULL, ce paramètre doit également avoir la valeur NULL et les pointeurs d’interface doivent être libérés en appelant la méthode Release .

[in] pWalkerCopy

Pointeur vers un instance de l’interface ICallFrameWalker. Lorsque les paramètres d’entrée et de sortie dans pframeArgsDest sont libérés, la propagation des paramètres de sortie est effectuée. Si ce paramètre n’est pas spécifié, les pointeurs d’interface sont passés à AddRef. Ce paramètre est facultatif.

[in] freeFlags

Indicateurs de l’énumération CALLFRAME_FREE .

[in] pWalkerFree

Pointeur vers un instance de l’interface ICallFrameWalker. Lorsque spécifié, un rappel est effectué pour chaque pointeur d’interface rencontré lors de la libération. Si ce paramètre n’est pas spécifié, les pointeurs d’interface sont libérés par la méthode Release .

[in] nullFlags

Indicateurs de l’énumération CALLFRAME_NULL .

Valeur retournée

Cette méthode peut retourner les valeurs suivantes.

Code de retour Description
S_OK
La commande s'est correctement terminée.
E_UNEXPECTED
Une erreur inattendue s’est produite.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête callobj.h

Voir aussi

ICallFrame