Plug-in Entry Point Parameters
- Updated2025-07-23
- 7 minute(s) read
Model plug-in entry points accept the following parameters:
| Name | Data Type | Model Plug-in Entry Point | Description |
|---|---|---|---|
| CallbackNames | String Array | OnTheFly Step Results | Each element in this array specifies the callback sequence name of the step result at the corresponding index in the Parameters.Results array. Callback names are the same as subsequence result property names. The callback name is SequenceCall for steps that TestStand generates within a sequence you run or within the subsequences it calls using Sequence Call steps. |
| CallingThread | Reference |
UUT Done Batch Done |
A reference to the test socket or controller thread that invoked the UUT Done or Batch Done entry point. If you configure the model plug-in to run in a new thread, the thread that runs the plug-in is a different thread from the thread the CallingThread parameter specifies. |
| CallingThreadBlocker | Reference |
UUT Done Batch Done |
Reference to a TestStand notification object. If the value of this reference is a value other than Nothing, a different thread is executing the entry point than is executing the process model. The calling thread that executes the process model does not proceed until the entry point sets this notification, which allows the entry point to safely copy parameter information that is subject to change if the process model proceeds to the next UUT or batch before the thread that runs the entry point completes. For example, the UUT Start entry point in the built-in reporting plug-in creates and stores a new report in ResultProcessor.RuntimeVariables.PerSocket[<socket index>].Specific.ReportInstance. The UUT Done entry point in the built-in reporting plug-in copies the value of that property to a local variable before setting this notification. |
| Context | SequenceContext | OnTheFly Step Results | A reference to the SequenceContext for the sequence that executes when the process model invokes the OnTheFly Step Results entry point. Because TestStand does not serialize the context to offline result files and does not pass the context to the OnTheFly Step Results entry point when processing an offline results file, do not use the Context parameter in a plug-in if an alternative implementation is possible. If a plug-in uses the Context parameter, set the FileGlobals.ResultProcessorComponentDescription.Default.CanProcessOfflineOnTheFlyResults property of the plug-in to False.This parameter does not necessarily correspond to the sequence that produces the step results OnTheFly Step Results receives because the results might have been accumulated from the execution of multiple sequences. If you must access the context for the sequence that generated the results, set the RunState.Execution.PostResultsCallback_PreFlushMask and RunState.Execution.PostResultsCallback_PostFlushMask properties in the Begin entry point to ensure that the process model invokes OnTheFly Step Results within the sequence that generates the results the plug-in processes. When you change settings that determine how often the process model invokes OnTheFly Step Results, do not change the settings such that the process model calls the entry point less frequently or under fewer conditions or you might violate the conditions another plug-in instance sets and expects. |
| ContinueTesting | Boolean (output) |
Pre Batch Pre UUT |
If this parameter is False after the process model calls the Pre UUT entry point for every plug-in, the process model exits the UUT loop without calling the UUT Start, UUT Done, or Post UUT entry points.If this parameter is False after the Batch process model calls the Pre Batch entry point for every plug-in, the Batch process model exits the batch loop without calling the Batch Start, Batch Done, or Post Batch entry points. The Batch process model also exits the UUT loop without calling the Pre UUT, UUT Start, UUT Done, or Post UUT entry points. If multiple model plug-ins use conflicting values for ContinueTesting, TestStand uses the value set by the last plug-in to execute. |
| MainSequenceResult | Reference |
Post UUT UUT Done Post Batch Batch Done |
A reference to the result of the process model call to the MainSequence callback in the client sequence file. The results of the client sequence file MainSequence are located in the MainSequenceResult.TS.SequenceCall.ResultList property. TestStand passes Nothing to this parameter for the Batch Done and Post Batch entry points. |
| ModelData | Container Note The actual data type varies at run time depending on the process
model. For built-in process models, the data type can be NI_SequentialModelData,
NI_ParallelModelData2, or NI_BatchModelData2. |
Begin Pre Batch Pre UUT Batch Start UUT Start OnTheFly Step Results UUT Done Batch Done Post UUT Post Batch End |
Contains model-specific information, such as the ModelOptions property. |
| ModelPlugin | NI_ModelPlugin | <All> | Configuration and run-time variables for the plug-in instance. |
| ModelPluginConfiguration | NI_ModelPluginConfiguration |
Begin Pre Batch Pre UUT Batch Start UUT Start UUT Done Batch Done Post UUT Post Batch End |
Configuration and run-time variables for the set of all active plug-in instances. The ModelPlugin parameter is also an element within the ModelPluginConfiguration.ModelPlugins array property. |
| ModelThreadType | NI_ModelThreadType |
Begin Pre Batch Pre UUT Batch Start UUT Start UUT Done Batch Done Post UUT Post Batch End |
Specifies whether the current thread is a model test socket thread, a model controller thread, or both. |
| ModelType | NI_ModelType |
Configure Standard Options Configure Additional Options |
String that indicates the type of the current process model. A dialog box that displays options that vary according to the type of model can use this value to determine which options to initially display. |
| ParentIds | Numeric Array |
OnTheFly Step Results |
Each element in this array specifies the result ID of the parent result for the result at the corresponding index in the Parameters.Results array. The parent is the result for the Sequence Call step that called the sequence that created the result. You can use parent IDs to reconstruct the hierarchy of sequence calls that generate results. The result for a process model MainSequence callback that invokes the MainSequence in the client file is at the root level of its thread and does not have a parent result. In this case, TestStand passes the negative value of the ID for the thread in which the step runs. TestStand negates the value so you can distinguish the thread ID from a result ID. |
| ParentThread | Reference |
Begin |
When a test socket thread calls the Begin entry point, the test socket passes its controller thread to the ParentThread parameter. If the calling thread is a controller thread, it passes Nothing to the ParentThread parameter even if the calling thread is also the test socket thread. Typically, a plug-in does not need to use the ParentThread parameter. |
| PriorIterationNewThread | Reference |
UUT Done Batch Done |
A reference to the thread that ran the entry point for the previous UUT or batch. The value is Nothing if the model did not invoke the previous call in a new thread. A plug-in can wait on this thread to ensure the model processes UUTs in chronological order. For example, if you configure the built-in reporting plug-in to store multiple UUT reports in the same file, the plug-in waits for this thread to complete before appending a new UUT report to the file, ensuring the plug-in stores reports in chronological order. |
| ProcessModelClientPath | Path |
Begin Pre Batch Pre UUT Batch Start UUT Start UUT Done Batch Done Post UUT Post Batch |
Absolute path to the client sequence file the process model is executing. |
| Results | Array of References |
OnTheFly Step Results |
An array of references to the step result PropertyObject instances TestStand has accumulated since the previous call to the OnTheFly Step Results entry point. Each element in the array is a TestStand reference. To access a result, you must dereference its reference. |
| StartDate | DateDetails |
Begin Pre Batch Pre UUT Batch Start UUT Start OnTheFly Step Results UUT Done Batch Done Post UUT Post Batch |
When passed to the Begin entry point, the StartDate parameter indicates when TestStand invoked the process model Execution entry point. Otherwise, the StartDate parameter indicates when the UUT in the current socket began testing or when the current batch began testing for a batch controller thread. |
| StartTime | TimeDetails |
Begin Pre Batch Pre UUT Batch Start UUT Start OnTheFly Step Results UUT Done Batch Done Post UUT Post Batch |
When passed to the Begin entry point, the StartTime parameter indicates when TestStand invoked the process model Execution entry point. Otherwise, the StartTime parameter indicates when the UUT in the current socket began testing or when the current batch began testing for a batch controller thread. |
| Step | Array of References |
OnTheFly Step Results |
An array of references to the steps that generated the corresponding elements of the Parameters.Results array. Each element in the array is a TestStand reference. To access a step, you must dereference its reference. Because TestStand does not serialize the steps to offline result files and does not pass the references to the OnTheFly Step Results entry point when processing an offline results file, do not use the Step parameter in a plug-in if an alternative implementation is possible. If a plug-in uses the Step parameter, set the FileGlobals.ResultProcessorComponentDescription.Default.CanProcessOfflineOnTheFlyResults property of the plug-in to False to indicate this situation. |
| UUT | UUT |
Pre Batch Pre UUT Batch Start UUT Start OnTheFly Step Results UUT Done Batch Done Post UUT Post Batch |
For the Pre UUT, UUT Start, UUT Done, Post UUT, and OnTheFly Step Results entry points, the UUT parameter contains the UUT information for the current test socket. For the Pre Batch, Batch Start, Batch Done, and Post Batch entry points, the parameter contains UUT information for the batch as a whole. |
| UUTStatus | String |
UUT Done Post UUT Batch Done Post Batch |
The result status of the UUT, such as Passed or Failed. TestStand does not currently use the value passed to the Batch Done and Post Batch entry points, and you can ignore it. |
Related Information
- Model Plugin – OnTheFly Step Results
- Subsequence Results
- Model Plugin – UUT Done
- Model Plugin – Batch Done
- Process Model Thread Types
- Model Plugin – UUT Start
- Model Plugin – Begin
- Model Plugin – Pre Batch
- Model Plugin – Pre UUT
- Model Plugin – Post UUT
- Model Plugin – Batch Start
- Model Plugin – Post Batch
- Model Plugin – End
- Model Plugin – Configure Standard Options
- Model Plugin – Configure Additional Options
- Thread Safety of the PropertyObject API and TestStand Variables