CALLFRAME_FREE Enumeration

Determines the parameter type to be freed.

Syntax

typedef enum CALLFRAME_FREE {
  CALLFRAME_FREE_NONE,
  CALLFRAME_FREE_IN,
  CALLFRAME_FREE_INOUT,
  CALLFRAME_FREE_OUT,
  CALLFRAME_FREE_TOP_INOUT,
  CALLFRAME_FREE_TOP_OUT,
  CALLFRAME_FREE_ALL
} ;

Constants

CALLFRAME_FREE_NONE No values are freed.
CALLFRAME_FREE_IN The [in] parameters are freed. This includes both top-level pointers and the data they reference.
CALLFRAME_FREE_INOUT The data referenced by [in, out] parameters are freed. However, the top-level pointers, which are the actual parameter values, are not freed.

On the server side, this is typically used post-call, as in CALLFRAME_FREE_IN. On the client side, this is typically used when the server was not actually invoked (and so unmarshaling of return values was not attempted) or when unmarshaling of the return values failed.

CALLFRAME_FREE_OUT The data referenced by [out] parameters are freed. However, the top-level pointers, which are the actual parameter values, are not freed.

On the server side, this is typically used post-call, as in CALLFRAME_FREE_IN. On the client side, this is typically only used when unmarshaling of return values failed.

CALLFRAME_FREE_TOP_INOUT The [in, out] parameters are freed. This includes both top-level pointers and the data they reference.
CALLFRAME_FREE_TOP_OUT The [out] parameters are freed. This includes both top-level pointers and the data they reference.
CALLFRAME_FREE_ALL All [in], [out], and [in, out] parameters are freed. This includes both top-level pointers and the data they reference.

Requirements

   
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Header callobj.h

See Also

ICallFrame::Free

ICallFrame::FreeParam