When Dax schedules a worklet it uses three signatures to determine how and what will be scheduled. The obvious two signatures are the required ControlSignature and ExecutionSignature that is contained in each worklet. The third signature is called the InvocationSignature and it is created when the user calls dax::cont::Scheduler.Invoke(Worklet, … )
.
class CellAverage : public dax::exec::WorkletMapCell
{
public:
typedef void ControlSignature(Topology, Field(Point), Field(Out)); //ControlSignature