## EndEvaluate

### Description

This optional callback is a single-threaded task for freeing up memory, cleaning resources, or anything required to undo the work performed in BeginEvaluate. The EndEvaluate callback uses the ICENodeContext object to clean up the user data stored in the BeginEvaluate callback.

Warning | The input and output ports cannot be accessed at all through the ICENodeContext object in this callback. The Evaluate callback can access both input and output port information and the BeginEvaluate callback can access input ports only in some cases.

### Applies To

Custom ICENodes

### Syntax

    CStatus <icenode_name>_EndEvaluate( CRef& in_context )
    {
            ...
    }

<icenode_name> is the name specified in the call to PluginRegistrar::RegisterICENode, with any spaces converted to underscores.

### Parameters

Parameter | Language | Type | Description
--- | --- | --- | ---
in_context | C++ | CRef& | A reference to the ICENodeContext object. Context::GetSource returns the ICENode.

### See Also

- BeginEvaluate
- Evaluate
- Init (ICE Nodes)
- SubmitEvaluationPhaseInfo
- ICE Node Callbacks