CALLFRAME_FREE enumeration

Determines the parameter type to be freed.

Syntax


typedef enum  { 
  CALLFRAME_FREE_NONE       = 0,
  CALLFRAME_FREE_IN         = 1,
  CALLFRAME_FREE_INOUT      = 2,
  CALLFRAME_FREE_OUT        = 4,
  CALLFRAME_FREE_TOP_INOUT  = 8,
  CALLFRAME_FREE_TOP_OUT    = 16,
  CALLFRAME_FREE_ALL        = 31
} CALLFRAME_FREE;

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

 

 

Show: