Compartir a través de


Método ICallFrame::Free (callobj.h)

Libera la copia de marco para evitar una pérdida de memoria.

Cuando se realiza una copia de un marco de llamada con el método Copy , el marco de llamada no limpia los datos copiados automáticamente. Por lo tanto, después de devolver una copia del marco de llamada, el usuario es responsable de llamar al método Free para liberar la copia de fotogramas y evitar una pérdida de memoria.

Sintaxis

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

Parámetros

[in] pframeArgsDest

Puntero a una instancia de la interfaz ICallFrame . Representa el puntero de pila del marco de llamada al que se deben copiar los parámetros out antes de que se libere la copia del marco. El marco de destino suele ser el marco primario del que se copió originalmente el marco. Este parámetro es opcional.

Al liberar un marco y especificar un parámetro pframeArgsDest que se encuentra en el mismo espacio de memoria que el del marco receptor, solo se llama al parámetro pWalkerCopy en cada puntero de interfaz.

[in] pWalkerDestFree

Puntero a una instancia de la interfaz ICallFrameWalker . Si hay parámetros dentro y fuera en pframeArgsDest, la propagación requiere que esos valores se liberen. Al proporcionar el objeto pWalkerDestFree , se liberarán punteros de interfaz. Si pframeArgsDest es NULL, este parámetro también debe ser NULL y los punteros de interfaz deben liberarse llamando al método Release .

[in] pWalkerCopy

Puntero a una instancia de la interfaz ICallFrameWalker . Cuando se liberan los parámetros de entrada y salida en pframeArgsDest , se lleva a cabo la propagación de parámetros de salida. Si no se especifica este parámetro, los punteros de interfaz se pasarán a AddRef. Este parámetro es opcional.

[in] freeFlags

Marcas de la enumeración CALLFRAME_FREE .

[in] pWalkerFree

Puntero a una instancia de la interfaz ICallFrameWalker . Cuando se especifica, se realiza una devolución de llamada para cada puntero de interfaz encontrado mientras se libera. Si no se especifica este parámetro, el método Release libera los punteros de interfaz.

[in] nullFlags

Marcas de la enumeración CALLFRAME_NULL .

Valor devuelto

Este método puede devolver los valores siguientes.

Código devuelto Descripción
S_OK
El método se completó correctamente.
E_UNEXPECTED
Se produjo un error inesperado.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado callobj.h

Consulte también

ICallFrame