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.