IOXControl

Top  Previous  Next

 

extern "C" __declspec(dllexport) int IOXControl(

CONTROLPARMSIN *pParmsIn,

CONTROLPARMSOUT *pParmsOut

);

 

 

IOXControl is called to open, close, start or stop the plugin, or to execute an output action.

 

 

The CONTROLPARMSIN structure fields

 

type: Specifies CONTROL_OPEN, CONTROL_CLOSE, CONTOL_START, CONTROL_STOP, or CONTOL_EXECUTE.

CONTROL_OPEN is called when the plugin is enabled.  This is the call that should be used to claim hardware resources.
CONTROL_CLOSE is called when the plugin is disabled.  Hardware resources should be released here.
CONTROL_START is called when plugins are started.  Input plugins should begin sending events only after this call is received.
CONTROL_STOP is called when plugins are stopped.  Input plugins should stop sending events when this call is received.
CONTROL_EXECUTE is called to request an output plugin perform an output action.

 

 

ruleRunCount: Set in CONTOL_EXECUTE requests to indicate the number of times the rule containing this output action has been run.

 

datalength: Set in CONTOL_EXECUTE requests to specify the length or the databuffer.

 

databuffer: Filled in CONTOL_EXECUTE requests with data specific to the output action.  This is the data that was entered by the user or acquire by a previous call to ShowOutSettings.  The plugin is responsible for deserializing this data from a single buffer into the various output options.

 

 

The CONTROLPARMSOUT structure fields

 

branchType: A flag returned from a CONTOL_EXECUTE request which indicates whether output execution should continue with the next output rule, jump to a different output item, or call another output item as a subroutine.  Possible values are BRANCHTYPE_NONE, BRANCHTYPE_JUMP, or BRANCHTYPE_SUB.  This flag is used by the ConditionalBranch plugin and should normally be set to BRANCHTYPE_NONE by any other plugin.

 

branchLabel:  The rule item label target when returning BRANCHTYPE_JUMP or BRANCHTYPE_SUB.