These constants indicate the representation of a PropertyObject. (Value: 0) This is the default representation for non-numeric property objects. (Value: 1) Specifies double-precision, 64-bit floating-point representation. (Value: 2) Specifies signed 64-bit integer representation. (Value: 3) Specifies unsigned 64-bit integer representation. Use this enumeration with the Locations.AddAPILocation, AnalysisUtilities.ValidateExpression, AnalysisUtilities.ValidatePath, or AnalysisUtilities.ValidateRemoteHost methods to refer to a Location when using an API property or method. The syntax of the enumeration is APILocation_BaseClassName_APIPropertyOrMethodName. For example, APILocation_ActiveXModule_ActiveXReferenceExpr refers to the ActiveXModule.ActiveXReferenceExpr property. (Value: 125) (Value: 126) (Value: 127) (Value: 0) Use this value to refer to a location that is not associated with an API property or method. (Value: 33) (Value: 34) (Value: 35) (Value: 36) (Value: 37) (Value: 38) (Value: 39) (Value: 40) (Value: 41) (Value: 42) (Value: 43) (Value: 44) (Value: 45) (Value: 46) (Value: 47) (Value: 48) (Value: 49) (Value: 50) (Value: 51) (Value: 52) (Value: 53) (Value: 54) (Value: 54) (Value: 56) (Value: 124) (Value: 57) (Value: 58) (Value: 59) (Value: 60) (Value: 61) (Value: 62) (Value: 63) (Value: 64) (Value: 65) (Value: 66) (Value: 1) (Value: 2) (Value: 3) (Value: 4) (Value: 5) (Value: 6) (Value: 7) (Value: 8) (Value: 9) (Value: 10) (Value: 11) (Value: 12) (Value: 13) (Value: 14) (Value: 15) (Value: 16) (Value: 17) (Value: 18) (Value: 19) (Value: 20) (Value: 21) (Value: 22) (Value: 23) (Value: 24) (Value: 25) (Value: 26) (Value: 27) (Value: 28) (Value: 29) (Value: 30) (Value: 31) (Value: 32) (Value: 123) (Value: 67) (Value: 68) (Value: 70) (Value: 71) (Value: 72) (Value: 73) (Value: 74) (Value: 75) (Value: 76) (Value: 77) (Value: 78) (Value: 79) (Value: 80) (Value: 81) (Value: 82) (Value: 83) (Value: 84) (Value: 85) (Value: 86) (Value: 87) (Value: 88) (Value: 89) (Value: 90) (Value: 91) (Value: 92) (Value: 93) (Value: 94) (Value: 95) (Value: 96) (Value: 97) (Value: 98) (Value: 99) (Value: 100) (Value: 101) (Value: 102) (Value: 103) (Value: 104) (Value: 105) (Value: 106) (Value: 107) (Value: 108) (Value: 109) (Value: 110) (Value: 111) (Value: 112) (Value: 113) (Value: 114) (Value: 115) (Value: 116) (Value: 117) (Value: 118) (Value: 119) (Value: 120) (Value: 121) (Value: 122) (Value: 128) (Value: 129) (Value: 130) (Value: 131) (Value: 132) (Value: 133) (Value: 134) (Value: 135) (Value: 136) (Value: 137) (Value: 138) (Value: 139) (Value: 140) (Value: 141) (Value: 142) (Value: 143) (Value: 144) (Value: 145) (Value: 146) (Value: 147) (Value: 148) (Value: 149) (Value: 150) (Value: 151) (Value: 152) (Value: 153) (Value: 154) This class is a collection of Report objects. Returns a reference to an item at the specified index in the collection. Specifies the zero-based index of the Report object to retrieve. Returns the number of items in the collection. Adds a new item to the collection and returns the Report object. Specifies the zero-based index of the location in the collection where you want to insert the Report object. Pass -1 to insert the Report object at the end of the collection. Removes the specified item from this collection and returns the Report object. The collection must always contain at least one Report object. If the collection contains only one Report object, the Report is not removed until another Report is added to the collection. Specifies the zero-based index of the Report object you want to remove. Removes all items from the collection. The collection must contain at least one Report object because this method also creates and adds a new empty Report object to the collection. Inserts back into the collection a report you previously removed using Reports.Remove. The report must not be in another Reports collection. Specifies an existing Report object to insert into the collection. Specifies the zero-based index of the location in the collection where you want to insert the Report object. Pass -1 to insert the Report object at the end of the collection. Replaces the Report object you specify in the collection and returns the Report object. Specifies the Report object in the collection to replace. If the Report object you specify is the active report, the replacement Report object becomes the active report. Specifies the replacement Report object. Pass NULL to create a new empty replacement Report object. Specifies the active report in the collection. The TestStand ReportView control displays the currently active report. ResultLogger objects write TestStand results to a file. Use a ResultLog object to read the results from the file. Opens the results file you specify for writing and creates the file if it does not exist. Specifies the absolute path of the file in which to store results. Specifies to log results on-the-fly by calling the ResultLogger.LogOnTheFlyStepResults method. If you pass True, TestStand does not log results attached as subproperties of the uutResult parameter of the ResultLogger.LogPostUUT method because TestStand logs those values when you call the ResultLogger.LogOnTheFlyStepResults method. Specifies to write the results to the file from a separate thread. If you pass True, the ResultLogger.LogBatchDone, ResultLogger.LogBatchStart, ResultLogger.LogBegin, ResultLogger.LogEnd, ResultLogger.LogOnTheFlyStepResults, ResultLogger.LogPostBatch, ResultLogger.LogPostUUT, ResultLogger.LogPreBatch, ResultLogger.LogPreUUT, ResultLogger.LogUUTDone, and ResultLogger.LogUUTStart methods return immediately after queuing data to the writing thread. Completes all writing to the TestStand results (.tsr) file and closes the file. Logs parameters to the Model Plugin - Begin entry point. Specifies the process model controller or test socket thread that invokes this method. Specifies the parent controller thread of the test socket thread. Pass NULL if no such thread exists. Pass an instance of an NI_ModelThreadType type that describes the thread parameter. Specifies the process model-specific data. At a minimum, this parameter must be a container with a field named ModelType using the NI_ModelType type. For controller threads, this parameter must also contain a field named TestSockets using a container array type, where each element in the array contains a field named MainSequenceResults using an object reference type. Specifies the absolute path of the process model client file. Pass an empty string if no such file exists. Specifies the number of test sockets in the execution. Specifies the test socket index for the thread parameter. Logs parameters to the Model Plugin - Pre Batch entry point. Specifies the process model controller or test socket thread that invokes this method. Pass an instance of an NI_ModelThreadType type that describes the thread parameter. Specifies the process model-specific data. At a minimum, this parameter must be a container with a field named ModelType using the NI_ModelType type. For controller threads, this parameter must also contain a field named TestSockets using a container array type, where each element in the array contains a field named MainSequenceResults using an object reference type. Pass the absolute path of the process model client file or an empty string if none exists. Specifies an instance of the DateDetails custom data type that indicates the date on which the batch test began. Specifies an instance of the TimeDetails custom data type that indicates the time at which the batch test began. Specifies the container that describes the batch. Specifies whether testing continues to the next batch. Logs parameters to the Model Plugin - Batch Start entry point. Model Plugin - Batch Start Specifies the process model controller or test socket thread that invokes this method. Pass an instance of an NI_ModelThreadType type that describes the thread parameter. Specifies the process model-specific data. At a minimum, this parameter must be a container with a field named ModelType using the NI_ModelType type. For controller threads, this parameter must also contain a field named TestSockets using a container array type, where each element in the array contains a field named MainSequenceResults using an object reference type. Specifies the absolute path of the process model client file. Pass an empty string if no such file exists. Specifies an instance of the DateDetails custom data type that indicates the date on which the batch test began. Specifies an instance of the TimeDetails custom data type that indicates the time at which the batch test began. Specifies the container that describes the batch. Logs parameters to the Model Plugin - Pre UUT entry point. Specifies the process model controller or test socket thread that invokes this method. Pass an instance of an NI_ModelThreadType type that describes the thread parameter. Specifies the process model-specific data. At a minimum, this parameter must be a container with a field named ModelType using the NI_ModelType type. For controller threads, this parameter must also contain a field named TestSockets using a container array type, where each element in the array contains a field named MainSequenceResults using an object reference type. Specifies the absolute path of the process model client file. Pass an empty string if no such file exists. Specifies an instance of the DateDetails custom data type that indicates the date on which the UUT test began. Specifies an instance of the TimeDetails custom data type that indicates the time at which the UUT test began. Specifies the container that describes the UUT. Specifies whether testing continues to the next UUT. Logs parameters to the Model Plugin - UUT Start entry point. Specifies the process model controller or test socket thread that invokes this method. Pass an instance of an NI_ModelThreadType type that describes the thread parameter. Specifies the process model-specific data. At a minimum, this parameter must be a container with a field named ModelType using the NI_ModelType type. For controller threads, this parameter must also contain a field named TestSockets using a container array type, where each element in the array contains a field named MainSequenceResults using an object reference type. Specifies the absolute path of the process model client file. Pass an empty string if no such file exists. Specifies an instance of the DateDetails custom data type that indicates the date on which the UUT test began. Specifies an instance of the TimeDetails custom data type that indicates the time at which the UUT test began. Specifies the container that describes the UUT. Logs parameters to the Model Plugin - OnTheFly Step Results entry point. Specifies the test socket thread that invokes this method. Specifies the container that describes the UUT. Pass the Steps parameter TestStand passed to the PostResults callback. Pass the Results parameter TestStand passed to the PostResults callback. Pass the CallbackNames parameter TestStand passed to the PostResults callback. Pass the ParentIds parameter TestStand passed to the PostResults callback. Logs parameters to the Model Plugin - UUT Done entry point. Model Plugin - UUT Done Specifies the process model controller or test socket thread that invokes this method. Specifies the process model-specific data. At a minimum, this parameter must be a container with a field named ModelType using the NI_ModelType type. For controller threads, this parameter must also contain a field named TestSockets using a container array type, where each element in the array contains a field named MainSequenceResults using an object reference type. Specifies the container that describes the UUT. Specifies the result status for the UUT. Pass the result of the sequence call that invoked the MainSequence in the client sequence file. Logs parameters to the Model Plugin - Post UUT entry point. Model Plugin - Post UUT Specifies the process model controller or test socket thread that invokes this method. Specifies the process model-specific data. At a minimum, this parameter must be a container with a field named ModelType using the NI_ModelType type. For controller threads, this parameter must also contain a field named TestSockets using a container array type, where each element in the array contains a field named MainSequenceResults using an object reference type. Specifies the container that describes the UUT. Specifies the result status for the UUT. Logs parameters to the Model Plugin - Batch Done entry point. Specifies the process model controller or test socket thread that invokes this method. Specifies the process model-specific data. At a minimum, this parameter must be a container with a field named ModelType using the NI_ModelType type. For controller threads, this parameter must also contain a field named TestSockets using a container array type, where each element in the array contains a field named MainSequenceResults using an object reference type. Specifies the container that describes the UUT. Specifies the result status for the UUT. Logs parameters to the Model Plugin - Post Batch entry point. Model Plugin - Post Batch Specifies the process model controller or test socket thread that invokes this method. Specifies the process model-specific data. At a minimum, this parameter must be a container with a field named ModelType using the NI_ModelType type. For controller threads, this parameter must also contain a field named TestSockets using a container array type, where each element in the array contains a field named MainSequenceResults using an object reference type. Specifies the container that describes the UUT. Specifies the result status for the UUT. Logs parameters to the Model Plugin - End entry point. Model Plugin - End Specifies the process model controller or test socket thread that invokes this method. Specifies the process model-specific data. At a minimum, this parameter must be a container with a field named ModelType using the NI_ModelType type. For controller threads, this parameter must also contain a field named TestSockets using a container array type, where each element in the array contains a field named MainSequenceResults using an object reference type. Specifies the name of the TestStand results (.tsr) file on disk. You can change the path while logging to rename the file to best describe the contents of the file. Completes writing to the current TestStand results (.tsr) file, closes the file, and then opens a new file for future writing. If a Begin record does not have a corresponding End record, this method creates an End record in the old file and copies the Begin record to the new file. This method deletes any records for in-progress UUTs or batches from the old file and copies the records to the new file. Specifies the path of the new file. Completes all pending writes to the TestStand results (.tsr) file before returning, including writes queued to the writing thread if you enabled the logInSeparateThread parameter of the ResultLogger.Open method. Calling this method is similar to assigning a new value to the ResultLogger.Path property. However, when you use this method, the ResultLogger object does not update the path property and execution continues if renaming the underlying file fails, such as in the case of remote file systems that do not support the rename operation. If the initial renaming operation fails, the ResultLogger object defers updating the path property. The ResultLogger object updates the path property and the name of the file on disk when the ResultLogger object closes or the ResultLogger.ContinueInNewFile method is invoked. If at this point the rename operation remains impossible, the ResultLogger object simulates renaming the file by copying the file to the new path and deleting the existing file. While a deferred renaming operation is pending, if the value of the ResultLogger.Path property changes or an additional call to the ResultLogger.DeferrableRename method occurs, the ResultLogger object cancels any previously deferred renaming operation. National Instruments recommends using the ResultLogger.Path property directly instead of the ResultLogger.DeferrableRename method whenever possible. The ResultLogger.DeferrableRename method is generally useful only in situations in which you repeatedly rename a single file to indicate status. For example, the default offline results generator process model plug-in uses the ResultLogger.DeferrableRename method to update the range of UUT serial numbers stored in the TestStand results (.tsr) file as UUTs execute. A return value of True indicates that the rename operation succeeded and that the ResultLogger object updated the corresponding path property and renamed the TestStand results (.tsr) file on disk. A return value of False indicates that the rename operation failed and that the ResultLogger object did not update the corresponding path property and deferred renaming the file. Specifies the absolute path to use to rename the TestStand results (.tsr) file, such as C:\OfflineResults\MyResults.tsr. Specifies to store the paths of all offline results (.tsr) files when TestStand completes writing the file. The default value is False, which specifies to not record the filepaths. When this property is True, the internal record of completed files grows without bound unless you periodically pass True to the ResultLogger.GetFilesWritten method to clear the internal record. Changing the value of the ResultLogger.RecordFilesWritten property from True to False only prevents TestStand from recording additional completed files and does not clear the internal record of files already completed. Call the ResultLogger.GetFilesWritten method to obtain or clear the list of complete offline results files. You can also modify the PreUUTLoop callback to record completed files. Returns the paths of all the completed offline results (.tsr) files TestStand recorded. You can also use this method to clear the internal record of completed paths. Specifies to clear the internal record of completed .tsr files. When the clear parameter is True, subsequent calls to the ResultLogger.GetFilesWritten method return only files completed since the most recent call to the method. When the clear parameter is False, TestStand does not clear the internal record of completed .tsr files and subsequent calls to the ResultLogger.GetFilesWritten method return files returned from previous calls to the method and any files completed since the most recent call to the method. ResultLog objects read TestStand results from a file that a ResultLogger object creates.
This property is reserved for internal use. Do not access it.
Opens the results file for reading. Specifies the path of the TestStand results (.tsr) file to open. Closes the results file. Reads one record from the TestStand results (.tsr) file. Returns False if no more records exist. Returns the type of record read. Returns the ID of the execution that logged the record. Returns the ID of the thread that logged the record. Returns the objects logged to the record. Stores an array of file paths. TestStand writes the file paths to a file with the same name as the ResultLog file with the addition of a .reportlist suffix. Use this method to record the paths of reports that are created from processing a ResultLog file. Specifies a property object array of strings that contains report paths. Returns the array of file paths the ResultLog.SetReportPaths method stores. If no paths have been stored, the method returns an empty array. Returns a value that indicates whether the results file contains results stored on-the-fly in ResultLogRecordType_OnTheFlyStepResults records or if the results are stored as a subproperty tree under the uut result in ResultLogRecordType_PostUUT records. Returns the absolute path of the results file. Returns True if the ResultLogger.Close method was called when the file was written. A False value indicates that the writing process was aborted and that the file might be incomplete or corrupt. Returns a string that is globally unique to the result log file. Two result log files can return the same unique ID only if one file is a copy of the other. This property returns an empty string if you access it before a successful call to the ResultLog.Open method. Returns the value of the Engine.SecondsAtStartIn1970UniversalCoordinatedTime property for the engine that created the TestStand results .tsr file. If the log file contains any custom properties that contain time values relative to the time the engine that created the .tsr started, you can use this value to adjust the values to be relative to the time the current engine started. The Seconds expression function and the Engine.SecondsSinceStart property return times relative to engine startup. The ResultLog.ReadNextRecord method uses this property to automatically adjust the values of TS.StartTime result subproperties to be relative to the start time of the current engine. The UndoItem2 class inherits from the UndoItem class and supports all the UndoItem properties and methods. An object that supports UndoItem might not necessarily support UndoItem2. You can also use the UndoItem2 interface to make an edit to a TestStand file undoable if the UndoItemCreator does not provide enough functionality to undo an edit. To do this, create a COM object that implements the UndoItem2 interface and send an instance of the object to the sequence editor using a UIMsg_PushUndoItem UI Message. Note: LabVIEW and LabWindows/CVI do not support implementing custom objects for this interface. Returns the objects that, when combined with the corresponding items in the UndoItem2.LookupStrings property, specify the objects the UndoItem.Undo and UndoItem.Redo methods modify. Calling the UndoItem.EditedObjects property returns all objects that UndoItem2.TopObjects[i].GetPropertyObject(UndoItem2.LookupStrings[i]) references. If one of the objects does not exist, the UndoItem.EditedObjects property fails and returns an error that explains that the property the lookupstring parameter specifies does not exist. Returns the lookup strings that, when combined with the corresponding items in the UndoItem2.TopObjects property, specify the objects the UndoItem.Undo and UndoItem.Redo methods modify. Calling the UndoItem.EditedObjects property returns all objects that UndoItem2.TopObjects[i].GetPropertyObject(UndoItem2.LookupStrings[i]) references. If one of the objects does not exist, the UndoItem.EditedObjects property fails and returns an error that explains that the property the lookupstring parameter specifies does not exist. Use these options to determine how a thread responds when its execution terminates. (Value: 0) Specifies that a thread stops when its execution terminates. (Value: 1) Specifies that a thread does not stop when its execution terminates unless you set the Execution.OverrideNonTerminatableThreads property. If an execution attempts to terminate and the execution is running only threads that specify this option, the execution sends the UIMsg_NonTerminatableThreadsArePreventingTermination event. You can use this value to protect a process model worker thread so the thread does not stop if the user terminates the current UUT or batch. (Value: 2) Specifies that a thread does not stop when its execution terminates. The thread must stop before its execution can end. Use this value to protect a thread so the thread does not stop and can complete its work even if its execution attempts to terminate. Use these options to specify whether execution proceeds to the Cleanup step group when a step sets the status property of the sequence to Failed. (Value: 0) Specifies that execution flow does not proceed to the Cleanup step group if the step sets the status property of the sequence to Failed. (Value: 1) Specifies that execution flow proceeds to the Cleanup step group if the step sets the status property of the sequence to Failed. (Value: 2) Specifies that execution flow proceeds to the Cleanup step group if the step sets the status property of the sequence to Failed and the value of the StationOptions.AlwaysGotoCleanupOnFailure property is True. Use these options to specify whether a step records a result. (Value: 0) Specifies that the step does not record results. (Value: 1) Specifies that the step records results unless the Sequence.DisableResults or StationOptions.DisableResults property is True. (Value: 2) Specifies that the step records results unless the StationOptions.DisableResults property is True. Use these options with the ResultLogger methods. (Value: 3) Indicates a record the ResultLogger.LogBatchStart method creates. The record contains the following objects:    * [0] ModelThreadType (NI_ModelThreadType)    * [1] ModelData (container)    * [2] ProcessModelClientPath (Path)    * [3] StartDate (DateDetails)    * [4] StartTime (TimeDetails)    * [5] UUT (container) (Value: 5) Indicates a record the ResultLogger.LogUUTStart method creates. The record contains the following objects:    * [0] ModelThreadType (NI_ModelThreadType)    * [1] ModelData (container)    * [2] ProcessModelClientPath (Path)    * [3] StartDate (DateDetails)    * [4] StartTime (TimeDetails)    * [5] UUT (container) (Value: 7) Indicates a record the ResultLogger.LogUUTDone method creates. The record contains the following objects:    * [0] ModelData (container)    * [1] UUT (container)    * [2] UUTStatus (String)    * [3] UUTResult (Result) (Value: 9) Indicates a record the ResultLogger.LogBatchDone method creates. The record contains the following objects:    * [0] ModelData (container)    * [1] UUT (container)    * [2] UUTStatus (String)    * [3] UUTResult (Result) (Value: 0) Indicates a value that is not a valid ResultLogRecordType. (Value: 1) Indicates a record the ResultLogger.LogBegin method creates. The record contains the following objects:    * [0] ModelThreadType (NI_ModelThreadType)    * [1] ModelData (container)    * [2] ProcessModelClientPath (Path)    * [3] NumberOfSockets (number)    * [4] SocketIndex (number)    * [5] ParentThreadId (number)    * [6] ParentExecutionId (number) (Value: 11) Indicates a record the ResultLogger.LogEnd method creates. The record contains the [0] ModelData (container) object. (Value: 4) Indicates a record the ResultLogger.LogPreUUT method creates. The record contains the following objects:    * [0] ModelThreadType (NI_ModelThreadType)    * [1] ModelData (container)    * [2] ProcessModelClientPath (Path)    * [3] StartDate (DateDetails)    * [4] StartTime (TimeDetails)    * [5] UUT (container)    * [6] continueTesting (Boolean output parameter) (Value: 8) Indicates a report the ResultLogger.LogPostUUT method creates. The record contains the following objects:    * [0] ModelData (container)    * [1] UUT (container)    * [2] UUTStatus (string)    * [3] UUTResult (container) (Value: 6) Indicates a record the ResultLogger.LogOnTheFlyStepResults method creates. The record contains the following objects:    * [0] UUT (container)    * [1] CallbackNames (string array)    * [2] ParentIds (number array)    * [3] Results(container) (Value: 12) Indicates a result that has been deleted from a TestStand results (.tsr) file. (Value: 2) Indicates a record the ResultLogger.LogPreBatch method creates. The record contains the following objects:    * [0] ModelThreadType (NI_ModelThreadType)    * [1] ModelData (container)    * [2] ProcessModelClientPath (Path)    * [3] StartDate (DateDetails)    * [4] StartTime (TimeDetails)    * [5] UUT (container)    * [6] continueTesting (Boolean output parameter) (Value: 10) Indicates a record the ResultLogger.LogPostBatch method creates. The record contains the following objects:    * [0] ModelData (container)    * [1] UUT (container)    * [2] UUTStatus (String)    * [3] UUTResult (Result) (Value: 17) (Value: 0) (Value: 184) (Value: "17.0") (Value: "17.0.0.184") (Value: "2017") (Value: "2017(17.0.0.184)") (Value: "TestStand 2017") Use these options to modify when TestStand invokes PostResults callbacks. (Value: 0) Specifies no PostResults callback options. (Value: 1) Overrides the options and specifies that TestStand calls the PostResults callback after collecting each provisional result. These constants represent the options you can use with the Execution.PostResultsCallbackMask, Execution.PostResultsCallback_PreFlushMask, and Execution.PostResultsCallback_PostFlushMask methods. Use the bitwise-OR operator to specify more than one option for a method. (Value: -1) Specifies to call PostResults callbacks with all accumulated results for all sequences except for SequenceFileLoad callback and SequenceFileUnload callback sequences. (Value: 0) Specifies not to call PostResults callbacks. (Value: 1) Specifies to call PostResults callbacks with all accumulated results for all PreStep callback sequences. (Value: 2) Specifies to call PostResults callbacks with all accumulated results for all PostStep callback sequences. (Value: 4) Specifies to call PostResults callbacks with all accumulated results for all PreInteractive callback sequences. (Value: 8) Specifies to call PostResults callbacks with all accumulated results for all PostInteractive callback sequences. (Value: 16) Specifies to call PostResults callbacks with all accumulated results for all PostResultListEntry callback sequences. (Value: 32) Specifies to call PostResults callbacks with all accumulated results for all PostStepRuntimeError callback sequences. (Value: 64) Specifies to call PostResults callbacks with all accumulated results for all PostStepFailure callback sequences. (Value: 128) Specifies to call PostResults callbacks with all accumulated results for all PostAction callback sequences. (Value: 256) Specifies to call PostResults callbacks with all accumulated results for all non-Engine callback sequences. These constants represent the options you can use with the Engine.ReadPropertyObjectFile method. Use the bitwise-OR operator to specify more than one option. (Value: 0x0) No options. (Value: 0x2) Pass this option to read only the types for the specified file. The method does not read the main data object when you select this option. Use these constants with the AdditionalResult.Kind property. (Value: 1) Specifies a custom additional result. (Value: 2) Specifies an additional result for the input value of a parameter. (Value: 3) Specifies an additional result for the output value of a parameter. (Value: 4) Specifies an additional result for a .NET call. Use these constants with the SequenceFile.FileGlobalsScope property to specify the scope of the sequence file global variables. (Value: 0) Specifies that each execution that runs the sequence file creates a separate run-time copy of the global variables and initializes the variables to the default values. Threads within an execution share the run-time copy of the variables for the execution. (Value: 1) Specifies that the first execution that runs the sequence file creates a run-time copy of the global variables and initializes the variables to the default values. Any other execution that runs the sequence file concurrently uses the same global variables. When the last execution that uses the sequence file global variables completes, TestStand discards the file global variables. A common use case for selecting this option might be when you want to share variables among multiple executions you start with the Batch or Parallel process model. Use this enumeration with the Report.SetTempFileDirectoryEx method. (Value: 0) Specifies the default option. When you use this value with the Report.SetTempFileDirectoryEx method, calling the Report.Load or Report.Save method modifies the directory path where TestStand saves the file the Report.GetTempFile method creates. Using this value with the Report.SetTempFileDirectoryEx method results in the same behavior as using the Report.TempFileDirectory property to specify the directory path where TestStand saves the file the Report.GetTempFile method creates. (Value: 1) Specifies to never override the directory path the Report.SetTempFileDirectoryEx method specifies when you call the Report.Load or Report.Save method. You can override the directory path by calling the Report.SetTempFileDirectoryEx method again. Use the EngineInitializationSettings class to configure options that must be set prior to Engine construction. Use the EngineInitializationSettings class to configure options that must be set prior to Engine construction. Use the EngineInitializationSettings class to configure options that must be set prior to Engine construction. Specify the environment configuration (.tsenv) file to use to initialize the TestStand engine. Pass an empty string to specify the global environment. Calling SetEnvironmentPath is unnecessary if you wish to run in the global environment. If no call to SetEnvironmentPath has been made prior to startup, the engine defaults to the global environment. You may call SetEnvironmentPath multiple times before creating the TestStand engine. Each call supersedes the prior calls. SetEnvironmentPath throws an exception if you call it after the engine has already been created. Specifies the absolute path of environment configuration (.tsenv) file from which to initialize the TestStand engine. Specify the environment configuration (.tsenv) file to use to initialize the TestStand engine. Pass an empty string to specify the global environment. Calling SetEnvironmentPath is unnecessary if you wish to run in the global environment. If no call to SetEnvironmentPath has been made prior to startup, the engine defaults to the global environment. You may call SetEnvironmentPath multiple times before creating the TestStand engine. Each call supersedes the prior calls. SetEnvironmentPath throws an exception if you call it after the engine has already been created. Specifies the absolute path of environment configuration (.tsenv) file from which to initialize the TestStand engine. Check whether it is possible to initialize the TestStand Engine. It is not possible to initialize the TestStand engine after it has been constructed. Returns True if it is still possible to initialize the TestStand engine, False otherwise. Check whether it is possible to initialize the TestStand Engine. It is not possible to initialize the TestStand engine after it has been constructed. Returns True if it is still possible to initialize the TestStand engine, False otherwise. Specifies the value for the internal startup option the option parameter specifies. Specifies the internal startup option the method sets. Specifies the value of the internal startup option the option parameter specifies. Specifies the value for the internal startup option the option parameter specifies. Specifies the internal startup option the method sets. Specifies the value of the internal startup option the option parameter specifies. Write a record to the stream. The record to write. The record parameter may either be a container or an array. If the record parameter is a container, the container represents the record, and each subproperty is a field. If the record parameter is an array, the entire array represents the record, and each array element is a field. Specifies the mapping from elements (either subproperties or array elements) in the record parameter to fields in the stream. The mapping is a comma-separated list of index ranges. For example, "0, 3-5, 8-7" specifies that elements 0, 3, 4, 5, 8, and 7 be written as the fields to the stream. The final range in the list may be open-ended. For example, "2, 3-" indicates that elements 2, 3, and all elements beyond 3 be written to the stream. If the record parameter is a container, the range list may include individual subproperty names. For example, "Temperature, Pressure, 0-1" specifies that the subproperties "Temperature" and "Pressure", then elements 0 and 1 be written as fields to the stream. For convenience, you may specify an empty string to specify all elements be written in order. That is, an empty string is equivalent to "0-". The default value of the mapping parameter is an empty string. Write a record to the stream. Specifies the SequenceContext against which to evaluate the lookup strings specified by the record parameter. An array of lookup strings specifying the fields to write to the stream. The lookup strings are evaluated relative to the SequenceContext specified by the context parameter. Write any buffered data to the underlying device. The exact behavior of OutputRecordStream.Flush depends on the implementation details of the class that implements the OutputRecordStream interface. For example, OutputRecordStream.Flush may do nothing for streams with no buffering. Flush any remaining buffered data to the underlying device, and close this stream. The exact behavior of Close depends on the implementation details of the class that implements the OutputRecordStream interface. National Instruments recommends all implementations explicitly call OutputRecordStream.Flush to clear buffered data, regardless of whether there is actually any buffered data, to ensure the implementation is future-proof. Get descriptive information about this stream useful for displaying to the user. string - A string describing the location of the underlying stream. The exact details are up to the implementation. For file streams, this could be the absolute path of the underlying file. For other types of streams, it could be an appropriate Uniform Resource Identifier (URI). Outputs an implementation dependent stream description. Read the next record from the stream. Returns 0 if a record was successfully read. Returns non-zero if end of file was encountered before reading a record. Specifies where to store the incoming record. The record parameter may be a container, array, or string. If it is a container, the container represents the record, and each subproperty is a field. If the record parameter is an array, the array represents the record, and each array element is a field. If the record parameter is a string, the fields are written to the string as a comma-separated list. Specifies the mapping to elements (subproperties or array elements) in the record parameter from fields in the InputRecordStream. Mapping is not supported if the record parameter is a string. The mapping is a comma-separated list of index ranges. For example, "0, 3-5, 8-7" specifies that fields from the incoming record be stored to elements 0, 3, 4, 5, 8, and 7 of the container or array. The last range in the list may be open-ended. For example, "2, 3-" specifies that fields from the incoming record be written to elements 2, 3, and all elements beyond 3 of the container or array. If the record parameter is a container, the range list may include individual subproperty names. For example, "Temperature, Pressure, 0-1" specifies that fields from the incoming record be written to the subproperties "Temperature" and "Pressure" followed by elements 0 and 1. For convenience, you may specify an empty string to specify all elements be written in order. That is, an empty string is equivalent to "0-". The default value is an empty string. Read the next record from this stream. Returns 0 if a record was successfully read. Returns non-zero if end of file was encountered before reading a record. Specifies the SequenceContext against which to evaluate the lookup strings specified by the record parameter. An array of lookup strings specifying where to store the fields from the incoming record. The lookup strings are evaluated relative to the SequenceContext specified by the context parameter. Specifies which fields to read from the InputRecordStream. The mapping is a comma-separated list of index ranges. For example, 0, 3-5, 8-7 specifies that fields 0, 3, 4, 5, 8, and 7 of each record in the stream be stored to fields 0-5 of each read record output from InputRecordStream.ReadRecord or InputRecordStream.ReadRecordTo. The last range in the list may be open-ended. For example, 2, 3- specifies that fields 2, 3, and fields beyond 3 will be stored to fields 0, 1, and fields beyond 1 of each read record. Note: This mapping is distinct from and may be used in combination with the mapping parameter in calls to ReadRecord. Specifies which fields to read from the InputRecordStream. Skip the specified number of records. Returns 0 if numRecords were successfully skipped. Returns non-zero if end of file was encountered before numRecords were skipped. The number of records to skip. If numRecords is 0, InputRecordStream.SkipRecords returns successfully without modifying the stream. Classes that implement the InputRecordStream interface are not required to support negative values for numRecords. Close this InputRecordStream. The exact behavior of Close depends on the implementation details of the class that implements the InputRecordStream interface. These constants indicate the type of value a PropertyObject stores. (Value: 6) Specifies an array. This is not a valid value for PropertyObject creation methods such as Engine.NewPropertyObject and PropertyObject.NewSubProperty. (Value: 0) Specifies a container. (Value: 1) Specifies a string. (Value: 2) Specifies a Boolean type. (Value: 3) Specifies a number. (Value: 4) Use this value with PropertyObject creation methods such as Engine.NewPropertyObject and PropertyObject.NewSubProperty to create an instance of a named type. This is not a valid value for the PropertyObjectType.ValueType property. (Value: 5) Specifies an object reference. (Value: 7) Specifies an enumeration. Use these constants to specify the promptOption parameter of the Engine.FindFileEx method. The promptOption parameter specifies whether to prompt the user for a file location when TestStand cannot find the file in the search directory paths. (Value: 1) Prompt the user to locate the file if the Prompt to Find Files option on the Preferences tab of the Station Options dialog box is enabled. (Value: 2) Prompt the user to locate the file. (Value: 3) Do not prompt the user to locate the file. The Engine.FindPath method returns one of these constants to indicate the results of the path search. (Value: 1) The FindPath method returned the path of a file. (Value: 2) The FindPath method returned the path of a directory. (Value: 3) The FindPath method failed to locate a directory or file with the name you specified. (Value: 4) The pathname you passed to the FindPath method is not valid. These are the error values the TestStand ActiveX API can return. Refer to the error message TestStand returns for a detailed description of why the error occurred. Whenever a method or property in the TestStand API fails, check the TSError code for the application development environment, as follows: LabWindows/CVI If the HRESULT for an API function is equal to DISP_E_EXCEPTION, check the value of the sCode member of the ERRORINFO structure. If the HRESULT is not equal to DISP_E_EXCEPTION, the error is not a TSError. You can use the value of the HRESULT to determine the type of error. LabVIEW Check the value of the code number in the "error out" cluster. Microsoft Visual C/C++ using #import Use the Error() method of the _com_error class to obtain the error code. Microsoft Visual Basic .NET Check the value of ErrorCode from the COMException class in a Try/Catch block to obtain the error code as follows:Try...Catch exception As COMException     MessageBox.Show ("Error " + exception.ErrorCode.ToString() + ": " + exception.Message)EndIf C# Check the value of ErrorCode from the COMException class in a Try/Catch block to obtain the error code as follows:try {...}catch (COMException exception) {     MessageBox.Show ("Error " + exception.ErrorCode.ToString() + ": " + exception.Message);} The following error codes are listed alphabetically. Press <Ctrl-F> to search for the error code value. (Value: 0) (Value: -17000) (Value: -17001) (Value: -17002) (Value: -17003) (Value: -17004) (Value: -17005) (Value: -17006) (Value: -17007) (Value: -17100) (Value: -17099) (Value: -17200) (Value: -17201) (Value: -17202) (Value: -17203) (Value: -17204) (Value: -17205) (Value: -17206) (Value: -17207) (Value: -17208) (Value: -17209) (Value: -17210) (Value: -17211) (Value: -17212) (Value: -17213) (Value: -17300) (Value: -17301) (Value: -17302) (Value: -17303) (Value: -17304) (Value: -17305) (Value: -17306) (Value: -17307) (Value: -17308) (Value: -17309) (Value: -17310) (Value: -17311) (Value: -17312) (Value: -17313) (Value: -17314) (Value: -17315) (Value: -17316) (Value: -17317) (Value: -17318) (Value: -17319) (Value: -17320) (Value: -17321) (Value: -17322) (Value: -17323) (Value: -17324) (Value: -17325) (Value: -17326) (Value: -17327) (Value: -17328) (Value: -17329) (Value: -17330) (Value: -17331) (Value: -17332) (Value: -17333) (Value: -17334) (Value: -17335) (Value: -17336) (Value: -17337) (Value: -17400) (Value: -17401) (Value: -17402) (Value: -17500) (Value: -17501) (Value: -17502) (Value: -17600) (Value: -17601) (Value: -17602) (Value: -17603) (Value: -17604) (Value: -17701) (Value: -17702) (Value: -17703) (Value: -17704) (Value: -17705) (Value: -17706) (Value: -17707) (Value: -17708) (Value: -17709) (Value: -17710) (Value: -17711) (Value: -17712) (Value: -17801) (Value: -17802) (Value: -17803) (Value: -17804) (Value: -17805) (Value: -17806) (Value: -17807) (Value: -17808) (Value: -17809) (Value: -17810) (Value: -17901) (Value: -18001) (Value: -18051) (Value: -18101) (Value: -18151) (Value: -18251) (Value: -18351) (Value: -17850) (Value: -17851) (Value: -17852) (Value: -17853) (Value: -18360) (Value: -17098) (Value: -17008) (Value: -17811) (Value: -18500) (Value: -17812) (Value: -18002) (Value: -18201) (Value: -18202) (Value: -17338) (Value: -18370) (Value: -17339) (Value: -17340) (Value: -17341) (Value: -17342) (Value: -17343) (Value: -17344) (Value: -17345) (Value: -17346) (Value: -17347) (Value: -18003) (Value: -18004) (Value: -18380) (Value: -18390) (Value: -18400) (Value: 17902) (Value: -18005) (Value: -17348) (Value: -18600) (Value: -18700) (Value: -17349) (Value: -17214) (Value: -17350) (Value: -17351) (Value: -17714) (Value: -17009) (Value: -17012) (Value: -17503) (Value: -17010) (Value: -17011) (Value: -17215) (Value: -17713) (Value: -17013) (Value: -17014) (Value: -17216) (Value: -18520) (Value: -18521) (Value: -18522) (Value: -18523) (Value: -18524) (Value: -18525) (Value: -18526) Use these constants to set the sequence file and step code module options that control when TestStand loads code modules and subsequence files. When you use one of these constants with the SequenceFile.ModuleLoadOption property, it applies to all steps in the sequence file. When you use one of these constants with the Step.ModuleLoadOption property, it applies to a particular step. When you use one of these constants with the StepType.ModuleLoadOption property, it applies to subsequent steps of this type. (Value: 1) Loads the code module for a step when TestStand loads the sequence file containing the step into memory. (Value: 2) Loads the code module for a step when any sequence in the sequence file containing the step begins executing. (Value: 3) Does not load the code module for a step until the step is ready to call it. (Value: 4) Loads each code module according to the load option for the step that uses it. This option is valid only for the SequenceFile.ModuleLoadOption property. Use these constants to set the sequence file and step code module options that control when TestStand unloads code modules and subsequence files. When you use one of these constants with the SequenceFile.ModuleUnloadOption property, it applies to all steps in the sequence file. When you use one of these constants with the Step.ModuleUnloadOption property, it applies to a particular step. When you use one of these constants with the StepType.ModuleUnloadOption property, it applies to subsequent steps of this type. (Value: 1) Unloads the code module for a step if the precondition for the step evaluates to False. (Value: 2) Unloads the code module for a step after the step finishes executing. (Value: 3) Unloads the code module for a step after the sequence containing the step finishes executing. (Value: 4) Unloads the code module for a step when TestStand unloads the sequence file from memory that contains the step. (Value: 5) Unloads the code module for a step according to the unload option for the step. This option is valid only for the SequenceFile.ModuleUnloadOption property. Use these constants for the eventCode parameter of the Thread.PostUIMessageEx and Engine.PostUIMessage methods. These methods allow you to pass data with the message using the numericDataParam, stringDataParam, and activeXDataParam parameters. Note: A user interface can respond to ModelState messages by displaying a label that describes the current state of the testing process. (Value: 1) TestStand posts this message to the user interface to notify it that the execution suspended in response to a user request. The user interface must update the display accordingly. (Value: 2) TestStand posts this message to the user interface to notify it that the execution has suspended. The user interface must update the display accordingly. (Value: 3) TestStand posts this message to the user interface to notify it that a run-time error has been encountered in the execution. The user interface must update the display accordingly.Note: The engine posts this event only when you select Show Dialog from the On Run-Time Error ring control on the Execution tab of the Station Options dialog box. A user interface typically calls the Engine.DisplayRunTimeErrorDialogEx method. (Value: 4) TestStand posts this message to the user interface to notify it that the execution has reached a trace point. The user interface must update the display accordingly. (Value: 5) TestStand posts this message just before terminating an execution. The execution does not actually terminate until the user interface releases the UIMessage. (Value: 6) TestStand posts this message just before aborting an execution. TestStand does not actually abort execution until the user interface releases the UIMessage. (Value: 7) TestStand posts this message just before killing the threads in an execution. TestStand does not actually kill the threads until the user interface releases the UIMessage. (Value: 8) TestStand posts this message after an execution completes. The user interface must update the display accordingly. (Value: 9) TestStand posts this message when a shutdown completes. If this is not the final shutdown, the user interface can continue to load and execute sequences. (Value: 10) TestStand posts this message when an execution begins. This message serves to notify the user interface to update the display accordingly. (Value: 11) TestStand step modules post this message to the user interface to notify it to update the progress indicator associated with an execution. The activeXDataParam parameter specifies an execution. The numericDataParam parameter specifies a value from 0 to 100 that indicates the percentage of progress the current execution reports. This value indicates the progress of operations for which the execution chooses to report the amount of progress. The value does not necessarily reflect the progress of the execution as a whole. (Value: 12) TestStand step modules post this message to the user interface to notify it to update the progress message associated with an execution. The activeXDataParam parameter specifies an execution. The stringDataParam parameter specifies a progress message. (Value: 13) TestStand posts this message whenever an interactive execution begins. (Value: 14) TestStand posts this message whenever an interactive execution ends. (Value: 15) TestStand posts this message just before terminating an interactive execution. The interactive execution does not actually terminate until the user interface message is released. (Value: 16) TestStand posts this message to notify the user interface to update the display when a pending termination is cancelled. (Value: 10000) Codes for all user-defined messages must be greater than or equal to the value of this constant. Define and use event codes greater than UIMsg_UserMessageBase only when you can ensure that the event code does not conflict with event codes for messages that other custom TestStand components, such as add-on products, define. National Instruments recommends using the Engine.RegisterUIMessage method to obtain an event code for a message to guarantee that the code is unique for the lifetime of the engine. Components that generate and process the message call this method, which returns the previously assigned message code if the message is already assigned. (Value: 17) TestStand posts this message when an execution resumes after being suspended at a breakpoint. The execution resumes when the user interface message is released. (Value: 18) TestStand posts this message when it begins using a sequence file. TestStand specifies the file in the UIMessage.ActiveXData property. (Value: 19) TestStand posts this message when the execution finishes using a sequence file. TestStand specifies the file in the UIMessage.ActiveXData property. (Value: 21) TestStand posts this message to notify the user interface that the decimal point localization setting has changed in the system setting for the operating system or in the StationOptions.UseLocalizedDecimalPoint setting. When a user interface receives this message, it should refresh any values it displays that these changes might affect. (Value: 20) TestStand posts this message to notify the user interface that the user cancelled a pending shutdown. (Value: 37) The TestStand Engine posts this message to the user interface whenever you change the location of the report. (Value: 22) Post this message to the user interface to instruct it to open a file in a window. If the file or execution is already open, the application brings the file to the front. A file can be specified by a pathname in the stringDataParam parameter or by a PropertyObjectFile object in the activeXDataParam parameter. An execution can be specified by an Execution object in the activeXDataParam parameter. A list of files and/or executions can be specified by an array of references to PropertyObjectFile and Execution objects in the activeXDataParam parameter. For sequence files, the stringDataParam parameter can also contain a '|' separator followed by the name of a sequence to display. If you specify the sequence file in the activeXDataParam parameter, you can specify just the sequence name in the stringDataParam parameter. This constant does not support opening workspace files. (Value: 23) Post this message to the user interface to instruct it to tile the windows the activeXDataParam parameter specifies. Use an array of ActiveX reference objects that reference a PropertyObjectFile or an Execution for the activeXDataParam parameter. The user interface tiles the windows that correspond to the objects in the array. To tile all windows, pass a NULL reference for the activeXDataParam parameter or use the Nothing keyword if you are using the ActiveX/COM Adapter. (Value: 24) Post this message to the user interface to instruct it to cascade the windows the activeXDataParam parameter specifies. Use an array of ActiveX reference objects that reference a PropertyObjectFile or an Execution for the activeXDataParam parameter. The user interface cascades the windows that correspond to the objects in the array. To cascade all windows, pass a NULL reference for the activeXDataParam parameter or use the Nothing keyword if you are using the ActiveX/COM Adapter. (Value: 25) The TestStand Engine posts this message to the user interface whenever you update the report of an execution. This allows the user interface to refresh the Report view if it is showing. (Value: 26) Post this message to the user interface to instruct it to close a window or windows that display a PropertyObjectFile or an execution. Specify the window by passing a PropertyObjectFile or Execution reference for the activeXDataParam parameter, or specify several windows by passing an ActiveX reference array of such objects for the activeXDataParam parameter. Pass a NULL reference, or use the Nothing keyword if you are using the ActiveX/COM Adapter, to close all currently open document windows in the user interface. (Value: 27) Post this message to the user interface to instruct it to refresh the data it displays for the corresponding PropertyObjectFile or SequenceContext you pass for the activeXDataParam parameter. Pass a single reference or an ActiveX array of references using the activeXDataParam parameter to specify which window or windows to refresh. Pass a SequenceContext object to refresh the values for the steps which the user interface displays for that execution. Pass NULL for the activeXDataParam parameter to refresh the displays for all the files and executions. The Overriding SequenceFilePostStepFailure Callback and the Overriding SequenceFilePostStepRuntimeError Callback examples located in the <TestStand Public>\Examples\Modifying Process Models\Overriding Engine Callbacks directory demonstrate how to use this UIMessage. (Value: 28) An Execution object posts this message when a client changes the value of the Execution.ClientFile property. The UIMessage.Execution property references the Execution that sends the message. (Value: 29) Post this message when you want the user interface to display the current contents of the execution report. (Value: 30) TestStand process models post this message to the user interface before performing initialization prior to testing. The numericDataParam parameter specifies the test-socket index. The activeXDataParam parameter contains a reference to the sequence context for the process model sequence file that posts the message. (Value: 31) TestStand process models post this message to the user interface before waiting for an action to occur, such as the user entering a serial number in response to a prompt. The numericDataParam parameter specifies the test-socket index. The activeXDataParam parameter contains a reference to the sequence context for the process model sequence file that posts the message. (Value: 32) TestStand process models post this message to the user interface after identifying the serial number for a unit under test (UUT) or batch of UUTs. The stringDataParam parameter specifies the UUT serial number unless the execution is a batch controller. If the execution is a batch controller, the stringDataParam parameter specifies the batch serial number. The numericDataParam parameter specifies the test-socket index. The activeXDataParam parameter contains a reference to the sequence context for the process model sequence file that posts the message. (Value: 36) TestStand Batch process models post this message to the user interface after setting the enabled state of a test-socket execution. The value of the stringDataParam parameter is True if the socket is enabled and False if the socket is disabled. The numericDataParam parameter specifies the test-socket index. The activeXDataParam parameter contains a reference to the sequence context for the process model sequence file that posts the message. (Value: 35) TestStand process models post this message to the user interface after generating the report and logging the data for a client sequence file. The numericDataParam parameter specifies the test-socket index. The activeXDataParam parameter contains a reference to the sequence context for the process model sequence file that posts the message. (Value: 34) TestStand process models post this message to the user interface after the MainSequence in the client sequence file returns control to the model. If the execution is not a batch controller or a parallel controller, the stringDataParam parameter specifies the UUT result status. If the execution is a batch controller or a parallel controller, the value of the stringDataParam parameter specifies the overall status of the controlling execution, which by default can be Passed, Failed, Error, Terminated, or Aborted. The numericDataParam parameter specifies the test-socket index. The activeXDataParam parameter contains a reference to the sequence context for the process model sequence file that posts the message. (Value: 33) TestStand process models post this message to the user interface prior to calling MainSequence in the client sequence file. The numericDataParam parameter specifies the test-socket index. The activeXDataParam parameter contains a reference to the sequence context for the process model sequence file that posts the message. (Value: 38) The Locations.GotoLocation method posts this message to the user interface to instruct the user interface to select the Locations passed in as the activeXDataParam parameter. (Value: 39) Post this message to the sequence editor to instruct the sequence editor to push an undo item onto an UndoStack. An undo item is a COM object that implements the UndoItem interface. You pass the undo item as the activeXDataParam parameter. The sequence editor uses the UndoItem.EditedFile property to determine which UndoStack to push the undo item onto. Send this message synchronously to determine which UndoStack the sequence editor placed the undo item onto immediately after the call to the PostUIMessage method returns by checking the UndoItem.UndoStack property. (Value: 40) TestStand posts this message at periodic intervals when it holds references to output messages that calls to the OutputMessage.Post method queue. TestStand transfers the queued messages to an OutputMessages collection attached to the UIMessage.ActiveXData property for this event. Ensure that an application that processes output messages copies the output message references from the collection in UIMessage.ActiveXData to a private OutputMessages collection by passing the private collection to the OutputMessages.CopyMessagesToCollection method. An application calls the Engine.NewOutputMessages method to create a private OutputMessage collection. TestStand generates this event only if the Engine.OutputMessagesEnabled property is True. Because there can be more than one handler for this event, ensure that the application does not modify the OutputMessages collection the UIMessage.ActiveXData property holds. (Value: 43) TestStand process models post this message to the user interface before generating the report and logging the data for a client sequence file. The numericDataParam parameter specifies the test-socket index. The activeXDataParam parameter contains a reference to the sequence context for the process model sequence file that posts the message. (Value: 41) TestStand posts this message to the user interface to notify it that the type palette file list has changed. The user interface must update its display accordingly. This event occurs after calling the Engine.UnloadTypePaletteFiles, Engine.LoadTypePaletteFilesEx, and Engine.SetTypePaletteFileList methods. (Value: 42) An execution posts this message when it attempts to terminate and every thread in the execution uses a value of ThreadTerminationOptions_Prompt for the Thread.TerminationOption property. A user interface typically handles this event by prompting users to terminate all threads. If the user chooses to terminate all threads, the user interface calls the Execution.OverrideNonTerminatableThreads property to signal the threads that use a value of ThreadTerminationOptions_Prompt for the Thread.TerminationOption property to stop running. (Value: 44) The TestStand Engine posts this message when the content or an active report changes for the Reports collection of an execution. If the active report changes, the activeXDataParam parameter contains a reference to the previously active report. (Value: 45) TestStand posts this message to the user interface to notify the user interface that the execution has encountered a run-time error. The user interface can alter the error, for example, by adding contextual information to the error message. Use these constants with the StationOptions.RTEOption and Execution.RTEOptionForThisExecution properties, the Thread.SetBatchRTEOption method, the ApplicationMgr.DisplayCustomRunTimeErrorDialog event, or to check the return value for runTimeErrorAction parameter of Engine.DisplayRunTimeErrorDialogEx method. (Value: 1) Instructs the execution to process the error by propagating the error to the calling sequence, if one exists. If the current step group is Setup or Main, the execution jumps directly to the Cleanup step group. (Value: 2) Instructs the execution to ignore the error and continue normal execution. (Value: 3) Instructs the execution to abort the execution. (Value: 4) Instructs the execution to ignore the error and re-execute the step that caused the error condition. For the StationOptions.RTEOption property, the Execution.RTEOptionForThisExecution property, and the Thread.SetBatchRTEOption method, TestStand interprets the RTEOption_Retry value as RTEOption_Continue. (Value: 0) Instructs the execution to launch the Run-Time Error dialog box when an error occurs. This data type contains values that specify how to handle linefeeds and carriage returns in report text. (Value: 0) Do not convert carriage returns and linefeeds. (Value: 1) Convert each linefeed to a carriage return followed by a linefeed. You usually use this option when writing a report from memory to disk. (Value: 2) Convert carriage return/linefeed combinations to linefeeds. You usually use this option when reading a report from disk into memory. This data type contains values that specify the sequence type. Use the values of this enumeration with the Sequence.Type property. (Value: 0) The sequence is not a callback or an entry point. (Value: 1) The sequence is a Process Model callback. (Value: 3) The sequence is an Execution entry point. (Value: 5) The sequence is a Configuration entry point. (Value: 7) Only the Sequence.GetEffectiveType method returns this value. The sequence is one of the predefined callbacks TestStand reserves. Use the Engine class to create and access objects of other classes, control executions, launch built-in dialog boxes, implement a Tools menu, find files and directories, and invoke various utilities. Create the Engine object directly using ActiveX. To access the Engine object from a step, use the TestStand API to obtain the value of the Engine property from the SequenceContext class or pass the SequenceContext property RunState.Engine as an object parameter to the step. The following examples show how to create the initial Engine object: (Platform: LabWindows/CVI) CAObjHandle engineObj = 0;TS_NewEngine(NULL, &engineObj); (Platform: Visual Basic) 'Place the TestStand Engine ActiveX control on the main form. (Platform: Visual C/C++) #import "C:\TestStand\Bin\teapi.dll"TS::IEnginePtr engine;HRESULT hr = engine.CreateInstance(__uuidof(TS::Engine)); Use the Engine class to create and access objects of other classes, control executions, launch built-in dialog boxes, implement a Tools menu, find files and directories, and invoke various utilities. Create the Engine object directly using ActiveX. To access the Engine object from a step, use the TestStand API to obtain the value of the Engine property from the SequenceContext class or pass the SequenceContext property RunState.Engine as an object parameter to the step. The following examples show how to create the initial Engine object: (Platform: LabWindows/CVI) CAObjHandle engineObj = 0;TS_NewEngine(NULL, &engineObj); (Platform: Visual Basic) 'Place the TestStand Engine ActiveX control on the main form. (Platform: Visual C/C++) #import "C:\TestStand\Bin\teapi.dll"TS::IEnginePtr engine;HRESULT hr = engine.CreateInstance(__uuidof(TS::Engine)); Use the Engine class to create and access objects of other classes, control executions, launch built-in dialog boxes, implement a Tools menu, find files and directories, and invoke various utilities. Create the Engine object directly using ActiveX. To access the Engine object from a step, use the TestStand API to obtain the value of the Engine property from the SequenceContext class or pass the SequenceContext property RunState.Engine as an object parameter to the step. The following examples show how to create the initial Engine object: (Platform: LabWindows/CVI) CAObjHandle engineObj = 0;TS_NewEngine(NULL, &engineObj); (Platform: Visual Basic) 'Place the TestStand Engine ActiveX control on the main form. (Platform: Visual C/C++) #import "C:\TestStand\Bin\teapi.dll"TS::IEnginePtr engine;HRESULT hr = engine.CreateInstance(__uuidof(TS::Engine)); Returns the pathname of the TestStand directory the testStandPath parameter specifies. The pathname does not contain a trailing backslash. Specifies the TestStand directory to return. Returns the pathname of the TestStand directory the testStandPath parameter specifies. The pathname does not contain a trailing backslash. Specifies the TestStand directory to return. Returns a reference to the Utility object, which you can use to access utility functions. Returns a reference to the Utility object, which you can use to access utility functions. Attempts to close all open sequence files and terminate all executions. If you are writing a user interface that does not use the TestStand User Interface (UI) Controls, call this function before exiting the application. TestStand sends a UIMsg_ShutDownComplete message to notify you when the shut down is complete. Pass True when performing the final shutdown before exiting the application. Passing False permits the user to cancel shutdown when executions are running. Attempts to close all open sequence files and terminate all executions. If you are writing a user interface that does not use the TestStand User Interface (UI) Controls, call this function before exiting the application. TestStand sends a UIMsg_ShutDownComplete message to notify you when the shut down is complete. Pass True when performing the final shutdown before exiting the application. Passing False permits the user to cancel shutdown when executions are running. Note: This method is obsolete. Use the Engine.GetSequenceFileEx method instead. Returns the SequenceFile object for the sequence file the sequenceFilePath parameter specifies. A SequenceFile object. Specifies the pathname of the sequence file. Specifies one or more GetSeqFileOptions constants. Use the bitwise-OR operator to specify multiple sequence file flags. Note: This method is obsolete. Use the Engine.GetSequenceFileEx method instead. Returns the SequenceFile object for the sequence file the sequenceFilePath parameter specifies. A SequenceFile object. Specifies the pathname of the sequence file. Specifies one or more GetSeqFileOptions constants. Use the bitwise-OR operator to specify multiple sequence file flags. Creates and returns a new SequenceFile object. Call the Engine.ReleaseSequenceFileEx method on this object before you release it. This method stores the new sequence file in the internal cache of the engine and adds a load reference to the sequence file. TestStand uses the load reference count to determine when to unload the sequence file from the internal cache of the engine. In addition to this method, the SequenceFile.AddLoadReference and Engine.GetSequenceFileEx methods add a load reference to the sequence file. The Engine.ReleaseSequenceFileEx method removes a load reference. You must call Engine.ReleaseSequenceFileEx for each load reference you add to the sequence file. When you release the last load reference, TestStand unloads the file from the internal cache of the engine. While unloading the file from the internal cache of the engine, TestStand executes the SequenceFileUnload callback sequence, if applicable. Creates and returns a new SequenceFile object. Call the Engine.ReleaseSequenceFileEx method on this object before you release it. This method stores the new sequence file in the internal cache of the engine and adds a load reference to the sequence file. TestStand uses the load reference count to determine when to unload the sequence file from the internal cache of the engine. In addition to this method, the SequenceFile.AddLoadReference and Engine.GetSequenceFileEx methods add a load reference to the sequence file. The Engine.ReleaseSequenceFileEx method removes a load reference. You must call Engine.ReleaseSequenceFileEx for each load reference you add to the sequence file. When you release the last load reference, TestStand unloads the file from the internal cache of the engine. While unloading the file from the internal cache of the engine, TestStand executes the SequenceFileUnload callback sequence, if applicable. Creates and returns a new Sequence object. Pass the new Sequence object to the SequenceFile.InsertSequenceEx method to add a sequence to a sequence file. Note: TestStand does not validate sequence names you create programmatically for invalid characters, such as spaces, which can result in errors when you use expressions. Use the PropertyObject.ValidateNewElementName method to validate sequence names. Names of sequences in a PropertyObject array can contain any character. However, sequence names cannot be empty or contain control characters. You cannot have duplicate sequence names. Creates and returns a new Sequence object. Pass the new Sequence object to the SequenceFile.InsertSequenceEx method to add a sequence to a sequence file. Note: TestStand does not validate sequence names you create programmatically for invalid characters, such as spaces, which can result in errors when you use expressions. Use the PropertyObject.ValidateNewElementName method to validate sequence names. Names of sequences in a PropertyObject array can contain any character. However, sequence names cannot be empty or contain control characters. You cannot have duplicate sequence names. Creates and returns a new Step object. Pass the new Step object to the Sequence.InsertStep method to add a step to a sequence. When you use this method to create a new Step object, the step name is empty. You can use the following code snippet to set the default name of the new step: Step.Name = Step.StepType.AsPropertyObject.EvaluateEx(Step.StepType.DefaultNameExpr, EvalOption_DoNotAlterValues).GetValString("", 0) Note: TestStand does not validate step names you create programmatically for invalid characters. Use the PropertyObject.ValidateNewElementName method to validate step names. Step names in a sequence can contain any character. Specifies the key name of the module Adapter object to use to create the step. Pass an empty string to use the adapter the step type designates or, if the step has no designated adapter, to use the adapter the Engine.DefaultAdapter property specifies. Specifies the name of the step type with which to create the step. The step type must already be in memory. The sequence editor and custom user interfaces load step types into memory when calling the Engine.LoadTypePaletteFilesEx method or when loading a sequence file from disk. To create a new step type, use the Engine.NewStepType method. Creates and returns a new Step object. Pass the new Step object to the Sequence.InsertStep method to add a step to a sequence. When you use this method to create a new Step object, the step name is empty. You can use the following code snippet to set the default name of the new step: Step.Name = Step.StepType.AsPropertyObject.EvaluateEx(Step.StepType.DefaultNameExpr, EvalOption_DoNotAlterValues).GetValString("", 0) Note: TestStand does not validate step names you create programmatically for invalid characters. Use the PropertyObject.ValidateNewElementName method to validate step names. Step names in a sequence can contain any character. Specifies the key name of the module Adapter object to use to create the step. Pass an empty string to use the adapter the step type designates or, if the step has no designated adapter, to use the adapter the Engine.DefaultAdapter property specifies. Specifies the name of the step type with which to create the step. The step type must already be in memory. The sequence editor and custom user interfaces load step types into memory when calling the Engine.LoadTypePaletteFilesEx method or when loading a sequence file from disk. To create a new step type, use the Engine.NewStepType method. Creates and returns a new User object. Typically, only the sequence editor uses this method. Specifies a User object with which to create the new user. The new user inherits the privileges from the User object the userProfile parameter specifies. The new user is not added as a member of any user groups of which the User object is a member. Pass a NULL reference if you want to create a NewUser object without using a user profile. The new user inherits the default values as specified by the User standard data type. You can obtain user groups using the Engine.GetUserGroup method. Creates and returns a new User object. Typically, only the sequence editor uses this method. Specifies a User object with which to create the new user. The new user inherits the privileges from the User object the userProfile parameter specifies. The new user is not added as a member of any user groups of which the User object is a member. Pass a NULL reference if you want to create a NewUser object without using a user profile. The new user inherits the default values as specified by the User standard data type. You can obtain user groups using the Engine.GetUserGroup method. Returns True if a user with a specific login name exists. Specifies the login name to find. Returns True if a user with a specific login name exists. Specifies the login name to find. Obtains the User" object that contains a specific login name. Returns NULL if no User object has the specified login name. Specifies the login name to find. Obtains the User" object that contains a specific login name. Returns NULL if no User object has the specified login name. Specifies the login name to find. Confirms whether the current user or any user group of which the user is a member has a specific privilege. Returns True when the privilege property is True, when the privilege property of any group that contains the privilege is True, or when privilege checking is disabled, the StationOptions.EnableUserPrivilegeChecking property is False. If privilege checking is disabled but the StationOptions.RequireUserLogin property is True, this function returns True only if a user is currently logged on. Returns True if the current user has the privilege. Specifies the name of the privilege to check. You can specify the name of any privilege property. You can specify the full privilege path in the user privileges property view, such as Debug.RunSelectedTests, or you can specify the base privilege name, such as RunSelectedTests. If you specify only the base privilege name and more than one instance of the base privilege name exists, the method returns the value of the first base privilege it finds with that name. You can pass "*" as the string argument to determine whether a user is currently logged in. Confirms whether the current user or any user group of which the user is a member has a specific privilege. Returns True when the privilege property is True, when the privilege property of any group that contains the privilege is True, or when privilege checking is disabled, the StationOptions.EnableUserPrivilegeChecking property is False. If privilege checking is disabled but the StationOptions.RequireUserLogin property is True, this function returns True only if a user is currently logged on. Returns True if the current user has the privilege. Specifies the name of the privilege to check. You can specify the name of any privilege property. You can specify the full privilege path in the user privileges property view, such as Debug.RunSelectedTests, or you can specify the base privilege name, such as RunSelectedTests. If you specify only the base privilege name and more than one instance of the base privilege name exists, the method returns the value of the first base privilege it finds with that name. You can pass "*" as the string argument to determine whether a user is currently logged in. Returns a module Adapter object from the list of module adapters. Each adapter defines a module-specific adapter interface. You must obtain the module-specific adapter interface for an Adapter class object to configure the adapter. Specifies a zero-based index for the Adapter object to return. You can obtain the number of Adapter objects from the Engine.NumAdapters property. To obtain a reference to a specific adapter, or to iterate through the adapters in a specific order, use the Engine.GetAdapterByKeyName method instead. Returns a module Adapter object from the list of module adapters. Each adapter defines a module-specific adapter interface. You must obtain the module-specific adapter interface for an Adapter class object to configure the adapter. Specifies a zero-based index for the Adapter object to return. You can obtain the number of Adapter objects from the Engine.NumAdapters property. To obtain a reference to a specific adapter, or to iterate through the adapters in a specific order, use the Engine.GetAdapterByKeyName method instead. Creates and returns a new Execution object. When you call this method, the execution begins immediately. Sequence editor and user interface programs use this method to run sequences. You can pass parameters as arguments to this method when executing an entry point or sequence. Specifies the SequenceFile object that contains the sequence to execute. If the execution uses a process model, pass the client SequenceFile object. Specifies the name of the sequence or Process Model entry point to execute. Pass the process model SequenceFile object if you want to execute a Process Model entry point. Otherwise, a NULL object reference in LabVIEW, 0 in LabWindows/CVI, or the Nothing keyword in Visual Basic, pass a NULL dispatch pointer in Microsoft Foundation Classes. Pass True to suspend execution before executing the first step. Pass 0 for the default behavior or pass one or more ExecutionTypeMask constants. Use the bitwise-OR operator to pass multiple constants. Specifies a PropertyObject object that contains the arguments to the sequence you want to execute. Each subproperty of the PropertyObject object represents a parameter to the sequence. The subproperties must appear in the same order as the sequence parameters. Specifies an EditArgs object that indicates which items are currently selected in the user interface. This is required only for Process Model entry points. Specifies an InteractiveArgs object that indicates which steps are currently selected in the user interface and contains looping information necessary for an interactive execution. Pass this parameter only for interactive executions. Creates and returns a new Execution object. When you call this method, the execution begins immediately. Sequence editor and user interface programs use this method to run sequences. You can pass parameters as arguments to this method when executing an entry point or sequence. Specifies the SequenceFile object that contains the sequence to execute. If the execution uses a process model, pass the client SequenceFile object. Specifies the name of the sequence or Process Model entry point to execute. Pass the process model SequenceFile object if you want to execute a Process Model entry point. Otherwise, a NULL object reference in LabVIEW, 0 in LabWindows/CVI, or the Nothing keyword in Visual Basic, pass a NULL dispatch pointer in Microsoft Foundation Classes. Pass True to suspend execution before executing the first step. Pass 0 for the default behavior or pass one or more ExecutionTypeMask constants. Use the bitwise-OR operator to pass multiple constants. Specifies a PropertyObject object that contains the arguments to the sequence you want to execute. Each subproperty of the PropertyObject object represents a parameter to the sequence. The subproperties must appear in the same order as the sequence parameters. Specifies an EditArgs object that indicates which items are currently selected in the user interface. This is required only for Process Model entry points. Specifies an InteractiveArgs object that indicates which steps are currently selected in the user interface and contains looping information necessary for an interactive execution. Pass this parameter only for interactive executions. Note: This method is obsolete. Use the Engine.CallFrontEndCallbackEx method instead. Calls the Front-End callback sequence specified by sequenceName. The Execution object of the newly created execution. Specifies the name of the Front-End callback sequence to call. Specifies a PropertyObject object that contains the parameters to pass to the sequence. Each subproperty of the PropertyObject object represents a parameter to the sequence. The subproperties must appear in the same order as the sequence parameters. Note: This method is obsolete. Use the Engine.CallFrontEndCallbackEx method instead. Calls the Front-End callback sequence specified by sequenceName. The Execution object of the newly created execution. Specifies the name of the Front-End callback sequence to call. Specifies a PropertyObject object that contains the parameters to pass to the sequence. Each subproperty of the PropertyObject object represents a parameter to the sequence. The subproperties must appear in the same order as the sequence parameters. Aborts all existing executions. Aborts all existing executions. Suspends all existing executions. Suspends all existing executions. Terminates all existing executions. Terminates all existing executions. Creates and returns an InteractiveArgs object. You can pass the object this method returns as a parameter to one of the following methods: Engine.NewExecution, Engine.NewHierarchicalExecution, or Thread.DoInteractiveExecution. Creates and returns an InteractiveArgs object. You can pass the object this method returns as a parameter to one of the following methods: Engine.NewExecution, Engine.NewHierarchicalExecution, or Thread.DoInteractiveExecution. Creates and returns an EditArgs object. You can pass the object this method returns as a parameter to one of the following methods: Engine.NewExecution, Engine.NewHierarchicalExecution, Engine.GetEditTimeToolMenuItems, Engine.GetRunTimeToolMenuItems, Engine.NewEditContext, Sequence.EvalEntryPointNameExpressionEx, Sequence.EvalEntryPointEnabledExpressionEx, and RunTimeMenuItem.InvokeItem. Creates and returns an EditArgs object. You can pass the object this method returns as a parameter to one of the following methods: Engine.NewExecution, Engine.NewHierarchicalExecution, Engine.GetEditTimeToolMenuItems, Engine.GetRunTimeToolMenuItems, Engine.NewEditContext, Sequence.EvalEntryPointNameExpressionEx, Sequence.EvalEntryPointEnabledExpressionEx, and RunTimeMenuItem.InvokeItem. Creates and returns a new PropertyObject object. TestStand does not validate property names you create programmatically for invalid characters, such as spaces, which can result in errors when you use expressions. Use the PropertyObject.ValidateNewName, PropertyObject.ValidateNewSubPropertyName, or PropertyObject.ValidateNewElementName methods to validate property names. TestStand expressions require PropertyObject names to be strings that contain only letters, numbers, and underscores. PropertyObject names cannot contain spaces, start with a number, or be empty. Additionally, the PropertyObject name cannot be Value, and you cannot have duplicate subproperty names. For example, MyVariableName_2000 is a valid PropertyObject name. Names of elements in a PropertyObject array can contain any character. Both sequence names and step names are examples of such named array elements. However, sequence names cannot be empty or contain control characters. You cannot have duplicate sequence names. The name NI is reserved at the root level for attributes. Specifies the type of value you want the property to contain. Pass True if you want the property value to be an array. If you pass PropValType_NamedType for the ValueType parameter, pass the name of the type for this parameter. Otherwise, pass an empty string. If you pass a type name, the type must already be in memory. Refer to NamedPropertyTypes for a list of built-in name types. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Creates and returns a new PropertyObject object. TestStand does not validate property names you create programmatically for invalid characters, such as spaces, which can result in errors when you use expressions. Use the PropertyObject.ValidateNewName, PropertyObject.ValidateNewSubPropertyName, or PropertyObject.ValidateNewElementName methods to validate property names. TestStand expressions require PropertyObject names to be strings that contain only letters, numbers, and underscores. PropertyObject names cannot contain spaces, start with a number, or be empty. Additionally, the PropertyObject name cannot be Value, and you cannot have duplicate subproperty names. For example, MyVariableName_2000 is a valid PropertyObject name. Names of elements in a PropertyObject array can contain any character. Both sequence names and step names are examples of such named array elements. However, sequence names cannot be empty or contain control characters. You cannot have duplicate sequence names. The name NI is reserved at the root level for attributes. Specifies the type of value you want the property to contain. Pass True if you want the property value to be an array. If you pass PropValType_NamedType for the ValueType parameter, pass the name of the type for this parameter. Otherwise, pass an empty string. If you pass a type name, the type must already be in memory. Refer to NamedPropertyTypes for a list of built-in name types. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Note: This method is obsolete. Use the Engine.RegisterUIMessageCallbackEx method instead. Calling this method on a 64-bit instance of the TestStand Engine results in an error. Registers a C function as the user interface message event callback. Note: National Instruments recommends using the Application Manager control with the ApplicationMgr.AfterUIMessageEvent and ApplicationMgr.UIMessageEvent events as needed. Refer to the example user interface applications TestStand provides, located in the <TestStand>\UserInterfaces directory. You can use a C function as the Event callback, instead of using ActiveX events or polling. Ensure the Engine.UIMessagePollingEnabled property is False or TestStand does not call the callback. The callback function must use the following C function prototype: void __cdecl UIMessageCallback(struct IDispatch *UIMessageDisp); The UIMessageDisp parameter is the IDispatch pointer to a UIMessage object. Because this pointer is passed to the callback as a parameter, do not release it when you finish using it. Note: Use this method only inside of the sequence editor or user interface. Specifies the address of the callback function. Note: This method is obsolete. Use the Engine.RegisterUIMessageCallbackEx method instead. Calling this method on a 64-bit instance of the TestStand Engine results in an error. Registers a C function as the user interface message event callback. Note: National Instruments recommends using the Application Manager control with the ApplicationMgr.AfterUIMessageEvent and ApplicationMgr.UIMessageEvent events as needed. Refer to the example user interface applications TestStand provides, located in the <TestStand>\UserInterfaces directory. You can use a C function as the Event callback, instead of using ActiveX events or polling. Ensure the Engine.UIMessagePollingEnabled property is False or TestStand does not call the callback. The callback function must use the following C function prototype: void __cdecl UIMessageCallback(struct IDispatch *UIMessageDisp); The UIMessageDisp parameter is the IDispatch pointer to a UIMessage object. Because this pointer is passed to the callback as a parameter, do not release it when you finish using it. Note: Use this method only inside of the sequence editor or user interface. Specifies the address of the callback function. Obtains the next available message from the queue. Use this method to poll for UIMessages. Obtains the next available message from the queue. Use this method to poll for UIMessages. Launches a login dialog box. A drop-down list box in the dialog box contains the login names of all current TestStand users. The LoginLogout Front-End callback calls this method. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the initial login name you want displayed in the dialog box. If you pass an empty string, the first login name in the ring control is selected. Specifies the initial password you want displayed in the dialog box. It appears on screen as all asterisks (*). By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Returns the User object that represents the user who logged in. Launches a login dialog box. A drop-down list box in the dialog box contains the login names of all current TestStand users. The LoginLogout Front-End callback calls this method. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the initial login name you want displayed in the dialog box. If you pass an empty string, the first login name in the ring control is selected. Specifies the initial password you want displayed in the dialog box. It appears on screen as all asterisks (*). By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Returns the User object that represents the user who logged in. Launches a dialog box in which you can edit user information for a specific user. You can edit the name, comment, and password. Calling the PropertyObject.DisplayPropertiesDialog method on a User object and passing default dialog options is equivalent to calling this method. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the User object you want to edit. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle the Engine.AppMainHwnd property returns. Typically, you do not need to set this option. Launches a dialog box in which you can edit user information for a specific user. You can edit the name, comment, and password. Calling the PropertyObject.DisplayPropertiesDialog method on a User object and passing default dialog options is equivalent to calling this method. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the User object you want to edit. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle the Engine.AppMainHwnd property returns. Typically, you do not need to set this option. Launches a dialog box for creating a new user. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Returns the User object that represents the newly created user. Launches a dialog box for creating a new user. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Returns the User object that represents the newly created user. Launches a dialog box in which you can edit the list of TestStand search directories. Returns True if you make modifications and click OK in the dialog box. Returns False if you click Cancel or make no modifications. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Pass True if you want a read-only version of the dialog box. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Launches a dialog box in which you can edit the list of TestStand search directories. Returns True if you make modifications and click OK in the dialog box. Returns False if you click Cancel or make no modifications. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Pass True if you want a read-only version of the dialog box. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Launches the Station Options dialog box. The Station Options dialog box contains numerous settings that affect execution, user privileges, and process models. Click OK in the dialog box to save these options in the engine configuration file Engine.ConfigFile property. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Pass True if you want a read-only version of the dialog box. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle the Engine.AppMainHwnd property returns. Typically, you do not need to set this option. Launches the Station Options dialog box. The Station Options dialog box contains numerous settings that affect execution, user privileges, and process models. Click OK in the dialog box to save these options in the engine configuration file Engine.ConfigFile property. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Pass True if you want a read-only version of the dialog box. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle the Engine.AppMainHwnd property returns. Typically, you do not need to set this option. Note: This method is obsolete. Use the Engine.DisplayRunTimeErrorDialogEx method instead. Launches the Run-Time Error dialog box. The sequence editor and user interface typically call this function in response to a UIMsg_BreakOnRunTimeError event. The Run-Time Error dialog box allows the user to specify how the execution is to proceed. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the error message to display in the dialog box. Pass True if the run-time error occurred in the Cleanup step group of the sequence. This information affects the list of options the dialog box displays to the user. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Returns a value that indicates whether the user wants this dialog box to launch again if another run-time error occurs in the current execution. Returns a value that indicates whether the user wants the current execution to suspend at the location of the run-time error. Returns the option the user selects in the dialog box to specify how the execution should proceed. Note: This method is obsolete. Use the Engine.DisplayRunTimeErrorDialogEx method instead. Launches the Run-Time Error dialog box. The sequence editor and user interface typically call this function in response to a UIMsg_BreakOnRunTimeError event. The Run-Time Error dialog box allows the user to specify how the execution is to proceed. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the error message to display in the dialog box. Pass True if the run-time error occurred in the Cleanup step group of the sequence. This information affects the list of options the dialog box displays to the user. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Returns a value that indicates whether the user wants this dialog box to launch again if another run-time error occurs in the current execution. Returns a value that indicates whether the user wants the current execution to suspend at the location of the run-time error. Returns the option the user selects in the dialog box to specify how the execution should proceed. Note: This method is obsolete. Use the Engine.DisplayFileDialog method instead. Launches a dialog box in which the user can select a file. The user can choose whether the dialog box returns an absolute or relative pathname for the file. The dialog box can only return a relative pathname when the file is located under one of the TestStand search directories. If the file is not located under any of the TestStand search directories and the user requests that the dialog box return a relative pathname, the dialog box prompts the user to add the name of the directory that contains the file to the list of TestStand search directories. You can pass a sequence file object to include the directory among the list of valid search directories for a relative pathname. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies a string to display on the OK button. Pass an empty string to use the default. Specifies the path of the directory you want the user to browse initially. Pass an empty string to specify the current directory. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle that the Engine.AppMainHwnd property returns. Typically, you do not need to set this option. Returns the pathname the user specifies in the dialog box. The path can be relative. Returns the absolute pathname of the file the user selects. Pass 0 for the default behavior, or pass one or more OpenFileDialogOptions constants. Use the bitwise-OR operator to specify multiple flags. Specifies the extension to append to the pathname if the user specifies no extension. Do not include the period in the extension. Specifies the WindowsFileDialogFlags. Specifies the extensions files must have to appear in the dialog box. Each filter the string contains has two parts. The first part is a descriptive name for the filter and the second part lists the extensions the file can have. Specify multiple extensions using a semi-colon (;) as a delimiter, and end each section with a vertical bar (|). End the string with a final vertical bar (|). The following example illustrates this format: "Sequence Files (*.seq)|*.seq|Report Files (*.txt;*.htm;*.html)|*.txt;*.htm;*.html||" Specifies a SequenceFile object if you want to include the directory of the sequence file in the list of valid search directories for a relative pathname. Note: This method is obsolete. Use the Engine.DisplayFileDialog method instead. Launches a dialog box in which the user can select a file. The user can choose whether the dialog box returns an absolute or relative pathname for the file. The dialog box can only return a relative pathname when the file is located under one of the TestStand search directories. If the file is not located under any of the TestStand search directories and the user requests that the dialog box return a relative pathname, the dialog box prompts the user to add the name of the directory that contains the file to the list of TestStand search directories. You can pass a sequence file object to include the directory among the list of valid search directories for a relative pathname. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies a string to display on the OK button. Pass an empty string to use the default. Specifies the path of the directory you want the user to browse initially. Pass an empty string to specify the current directory. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle that the Engine.AppMainHwnd property returns. Typically, you do not need to set this option. Returns the pathname the user specifies in the dialog box. The path can be relative. Returns the absolute pathname of the file the user selects. Pass 0 for the default behavior, or pass one or more OpenFileDialogOptions constants. Use the bitwise-OR operator to specify multiple flags. Specifies the extension to append to the pathname if the user specifies no extension. Do not include the period in the extension. Specifies the WindowsFileDialogFlags. Specifies the extensions files must have to appear in the dialog box. Each filter the string contains has two parts. The first part is a descriptive name for the filter and the second part lists the extensions the file can have. Specify multiple extensions using a semi-colon (;) as a delimiter, and end each section with a vertical bar (|). End the string with a final vertical bar (|). The following example illustrates this format: "Sequence Files (*.seq)|*.seq|Report Files (*.txt;*.htm;*.html)|*.txt;*.htm;*.html||" Specifies a SequenceFile object if you want to include the directory of the sequence file in the list of valid search directories for a relative pathname. Launches a dialog box in which you can edit the properties of a step. Calling the PropertyObject.DisplayPropertiesDialog method on a Step object is equivalent to calling this method. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the Step object that contains the properties you want to edit. Pass True to launch a read-only version of the dialog box. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Pass True to show a View Contents button in the dialog box. If you pass True, the viewContents parameter of this method returns True when a user clicks the View Contents button. Returns True if the user clicks the View Contents button in the dialog box. Returns True if the step was modified. Launches a dialog box in which you can edit the properties of a step. Calling the PropertyObject.DisplayPropertiesDialog method on a Step object is equivalent to calling this method. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the Step object that contains the properties you want to edit. Pass True to launch a read-only version of the dialog box. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Pass True to show a View Contents button in the dialog box. If you pass True, the viewContents parameter of this method returns True when a user clicks the View Contents button. Returns True if the user clicks the View Contents button in the dialog box. Returns True if the step was modified. Launches a dialog box in which you can edit the properties of a sequence. Calling this method is equivalent to calling the PropertyObject.DisplayPropertiesDialog method on a Sequence object. Locking and unlocking a file on the Advanced tab immediately apply to the file. To determine whether the lock state changes, even when the return value from the method is False, you can use the PropertyObjectFile.Locked property to acquire the lock state before and after calling this method and compare the values. Returns True if you make modifications and click OK in the dialog box. Returns False if you click Cancel or make no modifications. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the Sequence object that contains the properties you want to edit. Pass True if you want a read-only version of the dialog box. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Pass True to show a View Contents button in the dialog box. If you pass True, the viewContents parameter of this method returns True if the user clicks the View Contents button in the dialog box. Returns True if the user clicks the View Contents button in the dialog box. Launches a dialog box in which you can edit the properties of a sequence. Calling this method is equivalent to calling the PropertyObject.DisplayPropertiesDialog method on a Sequence object. Locking and unlocking a file on the Advanced tab immediately apply to the file. To determine whether the lock state changes, even when the return value from the method is False, you can use the PropertyObjectFile.Locked property to acquire the lock state before and after calling this method and compare the values. Returns True if you make modifications and click OK in the dialog box. Returns False if you click Cancel or make no modifications. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the Sequence object that contains the properties you want to edit. Pass True if you want a read-only version of the dialog box. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Pass True to show a View Contents button in the dialog box. If you pass True, the viewContents parameter of this method returns True if the user clicks the View Contents button in the dialog box. Returns True if the user clicks the View Contents button in the dialog box. Launches a dialog box in which you can edit the properties of a sequence file. You can edit the load/unload options, model options, and other options. Calling the PropertyObject.DisplayPropertiesDialog method on a SequenceFile object is equivalent to calling this method. Locking and unlocking a file on the Advanced tab of the Sequence File Properties dialog box immediately changes the lock state of the file. To determine whether the lock state changes, even when the return value from the method is False, you can use the PropertyObjectFile.Locked property to acquire the lock state before and after calling this method and compare the values. Returns True if you make modifications and click OK in the dialog box. Returns False if you click Cancel or make no modifications. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Pass a SequenceFile object to specify which sequence file you want to edit. Pass True if you want a read-only version of the dialog box. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Pass True to show a View Contents button in the dialog box. If you pass True, the viewContents parameter of this method returns True when a user clicks the View Contents button. Returns True if a user clicks the View Contents button in the dialog box. Launches a dialog box in which you can edit the properties of a sequence file. You can edit the load/unload options, model options, and other options. Calling the PropertyObject.DisplayPropertiesDialog method on a SequenceFile object is equivalent to calling this method. Locking and unlocking a file on the Advanced tab of the Sequence File Properties dialog box immediately changes the lock state of the file. To determine whether the lock state changes, even when the return value from the method is False, you can use the PropertyObjectFile.Locked property to acquire the lock state before and after calling this method and compare the values. Returns True if you make modifications and click OK in the dialog box. Returns False if you click Cancel or make no modifications. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Pass a SequenceFile object to specify which sequence file you want to edit. Pass True if you want a read-only version of the dialog box. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Pass True to show a View Contents button in the dialog box. If you pass True, the viewContents parameter of this method returns True when a user clicks the View Contents button. Returns True if a user clicks the View Contents button in the dialog box. Launches a dialog box in which you can edit the preconditions for a step or for all steps in a sequence. Returns True if you make modifications and click OK in the dialog box. Returns False if you click Cancel or make no modifications. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the sequence in which to edit preconditions. Pass True if you want a read-only version of the dialog box. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Specifies a Step object if you want the dialog box to display only the preconditions for a particular step. Launches a dialog box in which you can edit the preconditions for a step or for all steps in a sequence. Returns True if you make modifications and click OK in the dialog box. Returns False if you click Cancel or make no modifications. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the sequence in which to edit preconditions. Pass True if you want a read-only version of the dialog box. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Specifies a Step object if you want the dialog box to display only the preconditions for a particular step. Note: This method is obsolete. Use the Engine.DisplayBrowseExprDialogEx method instead. Launches a dialog box in which you can construct an expression string using variables, properties, constants, operators, and functions. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the sequence context into which to browse. You can use the SequenceFile.NewEditContext method to obtain an edit time sequence context from a sequence file. Specifies the initial expression string for the dialog box. This string must be a localized expression. Specifies the zero-based index of the location in the initial expression where the selected text begins. If you want a cursor instead of selected text, pass the same index for selectionEndIn. Specifies the index of the location in the initial expression of the first character beyond the selected text. If you want a cursor instead of selected text, pass the same index for selectionStartIn. Specifies the name of the initial variable or property to show as selected in the dialog box. If the initial expression string uses a carriage return/linefeed combination ("\r\n") to indicate the end of a line of text, pass True for this parameter. If the string uses only a linefeed ("\n"), pass False. This parameter also determines if the carriage return/linefeed is inserted in the output expression for new lines. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Returns the resulting expression from the dialog box when the user clicks OK. This expression string is a localized expression. Refer to Engine.DelocalizeExpression for more information about converting a localized expression string to a standard form suitable for evaluation. Returns the index of the start of the selected text in the resulting expression when the user clicks OK. Returns the index of the first character beyond the selected text in the resulting expression when the user clicks OK. Note: This method is obsolete. Use the Engine.DisplayBrowseExprDialogEx method instead. Launches a dialog box in which you can construct an expression string using variables, properties, constants, operators, and functions. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the sequence context into which to browse. You can use the SequenceFile.NewEditContext method to obtain an edit time sequence context from a sequence file. Specifies the initial expression string for the dialog box. This string must be a localized expression. Specifies the zero-based index of the location in the initial expression where the selected text begins. If you want a cursor instead of selected text, pass the same index for selectionEndIn. Specifies the index of the location in the initial expression of the first character beyond the selected text. If you want a cursor instead of selected text, pass the same index for selectionStartIn. Specifies the name of the initial variable or property to show as selected in the dialog box. If the initial expression string uses a carriage return/linefeed combination ("\r\n") to indicate the end of a line of text, pass True for this parameter. If the string uses only a linefeed ("\n"), pass False. This parameter also determines if the carriage return/linefeed is inserted in the output expression for new lines. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Returns the resulting expression from the dialog box when the user clicks OK. This expression string is a localized expression. Refer to Engine.DelocalizeExpression for more information about converting a localized expression string to a standard form suitable for evaluation. Returns the index of the start of the selected text in the resulting expression when the user clicks OK. Returns the index of the first character beyond the selected text in the resulting expression when the user clicks OK. Launches a dialog box in which you can edit the Tools menu items. Returns True if you make modifications and click OK in the dialog box. Returns False if you click Cancel or make no modifications. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Pass True if you want a read-only version of the dialog box. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Launches a dialog box in which you can edit the Tools menu items. Returns True if you make modifications and click OK in the dialog box. Returns False if you click Cancel or make no modifications. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Pass True if you want a read-only version of the dialog box. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Launches a dialog box in which you can edit the external file viewer settings. The external viewer settings specify the external viewer applications you use to view report files of various formats. Formats include text (.txt) and HTML (.html) files. Returns True if you make modifications and click OK in the dialog box. Returns False if you click Cancel or make no modifications. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Pass True if you want a read-only version of the dialog box. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Launches a dialog box in which you can edit the external file viewer settings. The external viewer settings specify the external viewer applications you use to view report files of various formats. Formats include text (.txt) and HTML (.html) files. Returns True if you make modifications and click OK in the dialog box. Returns False if you click Cancel or make no modifications. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Pass True if you want a read-only version of the dialog box. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Note: This method is obsolete. Use the Engine.GetEditTimeToolMenuItems and Engine.GetRunTimeToolMenuItems methods instead. Creates the internal data for the Tools menu that is visible in user interfaces and sequence editors. Call this function to initialize the Tools menu and submenus for the first time or whenever the Engine.DisplayToolMenuDialog method modifies the Tools menu or submenus. This method also evaluates the hidden expressions to determine which items to include in the Tools menu. The number of Tools menu items and submenus remains fixed until the next time you call this function. The number of Tools menus that exist. This number includes the Tools menu and submenus. Specifies which items in the user interface are currently selected. The method uses this information to calculate the item text, hidden, and enabled states of each menu item by evaluating its item text, hidden, and enabled expressions. Note: This method is obsolete. Use the Engine.GetEditTimeToolMenuItems and Engine.GetRunTimeToolMenuItems methods instead. Creates the internal data for the Tools menu that is visible in user interfaces and sequence editors. Call this function to initialize the Tools menu and submenus for the first time or whenever the Engine.DisplayToolMenuDialog method modifies the Tools menu or submenus. This method also evaluates the hidden expressions to determine which items to include in the Tools menu. The number of Tools menu items and submenus remains fixed until the next time you call this function. The number of Tools menus that exist. This number includes the Tools menu and submenus. Specifies which items in the user interface are currently selected. The method uses this information to calculate the item text, hidden, and enabled states of each menu item by evaluating its item text, hidden, and enabled expressions. Note: This method is obsolete. Use the Engine.GetEditTimeToolMenuItems and Engine.GetRunTimeToolMenuItems methods instead. Returns the number of Tools menus. Call the Engine.ConstructToolMenus method before calling this function. The first Tools menu is the top-level menu. The rest of the menus are submenus. The number of Tools menus. Note: This method is obsolete. Use the Engine.GetEditTimeToolMenuItems and Engine.GetRunTimeToolMenuItems methods instead. Returns the number of Tools menus. Call the Engine.ConstructToolMenus method before calling this function. The first Tools menu is the top-level menu. The rest of the menus are submenus. The number of Tools menus. Note: This method is obsolete. Use the Engine.GetEditTimeToolMenuItems and Engine.GetRunTimeToolMenuItems methods instead. Returns the number of menu items a specific Tools menu contains. Call the Engine.ConstructToolMenus method before calling this function. The number of Tools menu items. Specifies the zero-based index of the Tools menu from which to obtain the number of Tools menu items. Note: This method is obsolete. Use the Engine.GetEditTimeToolMenuItems and Engine.GetRunTimeToolMenuItems methods instead. Returns the number of menu items a specific Tools menu contains. Call the Engine.ConstructToolMenus method before calling this function. The number of Tools menu items. Specifies the zero-based index of the Tools menu from which to obtain the number of Tools menu items. Note: This method is obsolete. Use the Engine.GetEditTimeToolMenuItems and Engine.GetRunTimeToolMenuItems methods instead. Returns information about a Tools menu item. Specifies a zero-based index for a Tools menu or submenu. Specifies a zero-based index for an item within the menu or submenu. Returns the text to display in the menu item. If the item is a submenu, this parameter returns the zero-based menu index of the Tools menu for the item. Otherwise, it returns -1. If this parameter is True, enable the menu item. If this parameter is False, disable it. Returns a unique ID to identify the menu item. Use this ID to invoke the Tools menu item or to obtain the menu item information again at a later time. Note: This method is obsolete. Use the Engine.GetEditTimeToolMenuItems and Engine.GetRunTimeToolMenuItems methods instead. Returns information about a Tools menu item. Specifies a zero-based index for a Tools menu or submenu. Specifies a zero-based index for an item within the menu or submenu. Returns the text to display in the menu item. If the item is a submenu, this parameter returns the zero-based menu index of the Tools menu for the item. Otherwise, it returns -1. If this parameter is True, enable the menu item. If this parameter is False, disable it. Returns a unique ID to identify the menu item. Use this ID to invoke the Tools menu item or to obtain the menu item information again at a later time. Note: This method is obsolete. Use the Engine.GetEditTimeToolMenuItems and Engine.GetRunTimeToolMenuItems methods instead. Returns information about a Tools menu item. Specifies a Tools menu item ID you obtain from the Engine.GetToolMenuItemInfoEx method. Returns the text to display in the menu item. If the item is a submenu, this parameter returns the zero-based menu index of the Tools menu for the item. Otherwise, it returns -1. If this parameter is True, enable the menu item. If this parameter is False, disable it. Note: This method is obsolete. Use the Engine.GetEditTimeToolMenuItems and Engine.GetRunTimeToolMenuItems methods instead. Returns information about a Tools menu item. Specifies a Tools menu item ID you obtain from the Engine.GetToolMenuItemInfoEx method. Returns the text to display in the menu item. If the item is a submenu, this parameter returns the zero-based menu index of the Tools menu for the item. Otherwise, it returns -1. If this parameter is True, enable the menu item. If this parameter is False, disable it. Note: This method is obsolete. Use the Engine.GetEditTimeToolMenuItems and Engine.GetRunTimeToolMenuItems methods instead. Executes the action associated with a Tools menu item, which you specify with a menu index and an item index. Note: You must call the Engine.ConstructToolMenus method before calling this function. Specifies a zero-based index for a Tools menu or submenu. Specifies a zero-based index for an item within a Tools menu or submenu. Note: This method is obsolete. Use the Engine.GetEditTimeToolMenuItems and Engine.GetRunTimeToolMenuItems methods instead. Executes the action associated with a Tools menu item, which you specify with a menu index and an item index. Note: You must call the Engine.ConstructToolMenus method before calling this function. Specifies a zero-based index for a Tools menu or submenu. Specifies a zero-based index for an item within a Tools menu or submenu. Note: This method is obsolete. Use the Engine.GetEditTimeToolMenuItems and Engine.GetRunTimeToolMenuItems methods instead. Executes the action associated with a Tools menu item, which you specify with a unique Tools menu item ID. Note: You must call the Engine.ConstructToolMenus method before calling this function. Specifies the Tools menu item ID you obtain from the Engine.GetToolMenuItemInfoEx method or the Menu_ToolIDProp property on the object the Engine.GetToolMenuStructure method returns. Note: This method is obsolete. Use the Engine.GetEditTimeToolMenuItems and Engine.GetRunTimeToolMenuItems methods instead. Executes the action associated with a Tools menu item, which you specify with a unique Tools menu item ID. Note: You must call the Engine.ConstructToolMenus method before calling this function. Specifies the Tools menu item ID you obtain from the Engine.GetToolMenuItemInfoEx method or the Menu_ToolIDProp property on the object the Engine.GetToolMenuStructure method returns. Note: This method is obsolete. Use the Engine.GetEditTimeToolMenuItems and Engine.GetRunTimeToolMenuItems methods instead. Reevaluates the Enable Expression and Item Text Expression of all the items in the Tools menu. You can extract the new Enabled Expression and Item Text Expression values for a particular Tools menu item by calling the Engine.GetToolMenuItemInfoEx or Engine.GetToolMenuItemInfoWithIDEx methods. Note: This method does not evaluate hidden expressions and does not change the number of menu items or submenus. Specifies the currently selected items in the user interface. Note: This method is obsolete. Use the Engine.GetEditTimeToolMenuItems and Engine.GetRunTimeToolMenuItems methods instead. Reevaluates the Enable Expression and Item Text Expression of all the items in the Tools menu. You can extract the new Enabled Expression and Item Text Expression values for a particular Tools menu item by calling the Engine.GetToolMenuItemInfoEx or Engine.GetToolMenuItemInfoWithIDEx methods. Note: This method does not evaluate hidden expressions and does not change the number of menu items or submenus. Specifies the currently selected items in the user interface. Note: This method is obsolete. Use the Engine.FindFileEx method intead. Returns True if the file is found. Specifies a string that contains the simple filename or relative pathname of the file to search for. TestStand expands macros in the path as specified by the Engine.ExpandPathMacros method before searching. Returns the absolute pathname of the file if the file is found. Returns True if the method prompts the user and the user cancels the find operation. Specifies whether to prompt the user if the file is not initially found. Specifies file search options. If this flag is True and fileToFind has no file extension, then the FindFile method searches for files with the same basename that end in the common command extensions: .exe, .com, and .bat. If you pass a SequenceFile object for this parameter, the FindFile method initially searches the directory where the sequence file is stored if the Current Sequence File Directory option is enabled. Enable the current sequence file directory in the sequence editor by selecting Configure»Search Directories and enabling the Current Sequence File Directory option. Note: This method is obsolete. Use the Engine.FindFileEx method intead. Returns True if the file is found. Specifies a string that contains the simple filename or relative pathname of the file to search for. TestStand expands macros in the path as specified by the Engine.ExpandPathMacros method before searching. Returns the absolute pathname of the file if the file is found. Returns True if the method prompts the user and the user cancels the find operation. Specifies whether to prompt the user if the file is not initially found. Specifies file search options. If this flag is True and fileToFind has no file extension, then the FindFile method searches for files with the same basename that end in the common command extensions: .exe, .com, and .bat. If you pass a SequenceFile object for this parameter, the FindFile method initially searches the directory where the sequence file is stored if the Current Sequence File Directory option is enabled. Enable the current sequence file directory in the sequence editor by selecting Configure»Search Directories and enabling the Current Sequence File Directory option. Searches for a file or directory under the TestStand search directories using a simple file or directory name or relative pathname. Returns True if the file or directory is found. Specifies a string that contains the simple file or directory name or relative pathname of the file or directory to search for. TestStand expands macros in the path as specified by the Engine.ExpandPathMacros method before searching. Returns the absolute pathname of the file or directory if it is found. Returns more information about the file or directory. If you pass a SequenceFile object for this parameter, the Engine.FindPath method initially searches the directory where the sequence file is stored if the Current Sequence File Directory option is enabled. Select Configure»Search Directories to launch the Edit Search Directories dialog box and enable the Current Sequence File Directory option. Searches for a file or directory under the TestStand search directories using a simple file or directory name or relative pathname. Returns True if the file or directory is found. Specifies a string that contains the simple file or directory name or relative pathname of the file or directory to search for. TestStand expands macros in the path as specified by the Engine.ExpandPathMacros method before searching. Returns the absolute pathname of the file or directory if it is found. Returns more information about the file or directory. If you pass a SequenceFile object for this parameter, the Engine.FindPath method initially searches the directory where the sequence file is stored if the Current Sequence File Directory option is enabled. Select Configure»Search Directories to launch the Edit Search Directories dialog box and enable the Current Sequence File Directory option. Creates a unique temporary file with a specific basename and extension. When TestStand shuts down, it automatically deletes the temporary file. The pathname of the temporary file. Specifies the base name of the temporary file. If necessary, TestStand adds other characters to the name to make it unique. Specifies the file extension for the temporary file. Specifies the directory in which to store the temporary file. You can include a trailing backslash, but it is not required. Pass an empty string to use the TestStand subdirectory in the directory the TEMP environment variable specifies, which by default is %USERPROFILE%\AppData\Local\Temp on Windows 8.1/8/7/Vista and %USERPROFILE%\Local Settings\Temp on Microsoft Windows XP. Creates a unique temporary file with a specific basename and extension. When TestStand shuts down, it automatically deletes the temporary file. The pathname of the temporary file. Specifies the base name of the temporary file. If necessary, TestStand adds other characters to the name to make it unique. Specifies the file extension for the temporary file. Specifies the directory in which to store the temporary file. You can include a trailing backslash, but it is not required. Pass an empty string to use the TestStand subdirectory in the directory the TEMP environment variable specifies, which by default is %USERPROFILE%\AppData\Local\Temp on Windows 8.1/8/7/Vista and %USERPROFILE%\Local Settings\Temp on Microsoft Windows XP. Checks the syntax of the expression parameter and returns error information. Calling this method is equivalent to calling the Engine.CheckExpression method and passing a NULL reference to the evaluationContext parameter and passing EvalOption_NoOptions to the evaluationOptions parameter. Returns True if the syntax is correct. Returns False if the expression contains a syntax error. If this method returns False, check the errorDescription, startErrPos, and endErrPos parameters for more information. Specifies the expression for which to check the syntax. When a syntax error exists, this parameter returns an error message describing the type of error. When a syntax error exists, this parameter returns the index of the location in the string where the error begins. When a syntax error exists, this parameter returns the index of the location in the string of the first character beyond the syntax error. Checks the syntax of the expression parameter and returns error information. Calling this method is equivalent to calling the Engine.CheckExpression method and passing a NULL reference to the evaluationContext parameter and passing EvalOption_NoOptions to the evaluationOptions parameter. Returns True if the syntax is correct. Returns False if the expression contains a syntax error. If this method returns False, check the errorDescription, startErrPos, and endErrPos parameters for more information. Specifies the expression for which to check the syntax. When a syntax error exists, this parameter returns an error message describing the type of error. When a syntax error exists, this parameter returns the index of the location in the string where the error begins. When a syntax error exists, this parameter returns the index of the location in the string of the first character beyond the syntax error. Returns an error description string that corresponds to a specific TSError code. Returns False when the errorCode is not a TSError. Specifies the error code to describe. Returns a description of the errorCode. If the error code is not a TSError, the parameter returns the string "User defined error code." Returns an error description string that corresponds to a specific TSError code. Returns False when the errorCode is not a TSError. Specifies the error code to describe. Returns a description of the errorCode. If the error code is not a TSError, the parameter returns the string "User defined error code." Returns a string from the TestStand string resource file for the current language. You specify the string by category and symbol, which are the section and item labels for the string in the string resource file. The string resource files are located in the <TestStand>\Components\Language and <TestStand Public>\Components\Language directories. Typically, you customize the strings in the resource files in the <TestStand>\Components\Language directory by adding a section and item with the same name to the corresponding file in the <TestStand Public>\Components\Language directory. Use the ResStr expression function to retrieve a TestStand resource string from within an expression. The resource string. Specifies the category or section label. Specifies the symbol or item label. Specifies a default string to return when the string resource file does not contain an entry with the category and symbol you specify. If you do not specify this parameter and the string resource file does not contain the entry, this function returns the string, String not found in table. Returns True if the string is found in the resource file and False if the string is not found in the resource file. Returns a string from the TestStand string resource file for the current language. You specify the string by category and symbol, which are the section and item labels for the string in the string resource file. The string resource files are located in the <TestStand>\Components\Language and <TestStand Public>\Components\Language directories. Typically, you customize the strings in the resource files in the <TestStand>\Components\Language directory by adding a section and item with the same name to the corresponding file in the <TestStand Public>\Components\Language directory. Use the ResStr expression function to retrieve a TestStand resource string from within an expression. The resource string. Specifies the category or section label. Specifies the symbol or item label. Specifies a default string to return when the string resource file does not contain an entry with the category and symbol you specify. If you do not specify this parameter and the string resource file does not contain the entry, this function returns the string, String not found in table. Returns True if the string is found in the resource file and False if the string is not found in the resource file. Launches an external file viewer. Typically, you use this method to display test reports. This method specifies the external viewer based on settings you can edit when you call the Engine.DisplayExternalViewerDialog method. If the dialog box contains no settings that apply to the file, TestStand launches a viewer based on the file extension association defined for the operating system. Specifies the pathname of the file to view. Launches an external file viewer. Typically, you use this method to display test reports. This method specifies the external viewer based on settings you can edit when you call the Engine.DisplayExternalViewerDialog method. If the dialog box contains no settings that apply to the file, TestStand launches a viewer based on the file extension association defined for the operating system. Specifies the pathname of the file to view. Note: This method is obsolete. Use the Engine.NotifyStartOfModalDialogEx method instead. Notifies TestStand that you are about to launch a modal dialog box. Returns the modalID to pass to the Engine.NotifyEndOfModalDialog method when the dialog box no longer appears onscreen. Note: This method is obsolete. Use the Engine.NotifyStartOfModalDialogEx method instead. Notifies TestStand that you are about to launch a modal dialog box. Returns the modalID to pass to the Engine.NotifyEndOfModalDialog method when the dialog box no longer appears onscreen. Notifies TestStand that you are no longer displaying the modal dialog box the modalID parameter specifies. TestStand uses this notification to determine when to re-enable the main window of the application. Note: Do not call this method when displaying a dialog box the TestStand API implements. Specifies the modalID you receive as a return value from the Engine.NotifyStartOfModalDialogEx method. Notifies TestStand that you are no longer displaying the modal dialog box the modalID parameter specifies. TestStand uses this notification to determine when to re-enable the main window of the application. Note: Do not call this method when displaying a dialog box the TestStand API implements. Specifies the modalID you receive as a return value from the Engine.NotifyStartOfModalDialogEx method. Returns the PropertyObject that contains the global variables for the test station. When you are writing a GUI, use this property to display or edit global variables from the sequence editor or user interface. Returns the PropertyObject that contains the global variables for the test station. When you are writing a GUI, use this property to display or edit global variables from the sequence editor or user interface. Specifies the user who is currently logged in. Use this property to obtain or set the User object for the user who is currently logged in. If no one is currently logged in, this property returns a NULL dispatch pointer or object reference. After you obtain the User object, call the User.HasPrivilege method to determine whether the user or a user group of which the user is a member has a specific privilege. If you set the property to 0 or NULL, you log out the current user. If you are developing an application that uses the TestStand User Interface (UI) Controls, use the ApplicationMgr.Login method to change the current user to ensure that the Application Manager control properly sends an event to a user interface. Specifies the user who is currently logged in. Use this property to obtain or set the User object for the user who is currently logged in. If no one is currently logged in, this property returns a NULL dispatch pointer or object reference. After you obtain the User object, call the User.HasPrivilege method to determine whether the user or a user group of which the user is a member has a specific privilege. If you set the property to 0 or NULL, you log out the current user. If you are developing an application that uses the TestStand User Interface (UI) Controls, use the ApplicationMgr.Login method to change the current user to ensure that the Application Manager control properly sends an event to a user interface. Specifies whether the application is a sequence editor. The default setting is False. Set this property to True if you are using the TestStand API to write a sequence editor. If you are writing a user interface, use the default setting. Specifies whether the application is a sequence editor. The default setting is False. Set this property to True if you are using the TestStand API to write a sequence editor. If you are writing a user interface, use the default setting. Specifies the Window handle of the owner of modal dialog boxes. TestStand uses this property to make dialog boxes modal to the application. Do not set this property because TestStand sets it automatically when the application creates the TestStand Engine. Setting this property can cause dialog boxes to be modal to the wrong window. This property usually refers to the main window of the application but refers to the window of the dialog box when the application displays a modal dialog box. Specifies the Window handle of the owner of modal dialog boxes. TestStand uses this property to make dialog boxes modal to the application. Do not set this property because TestStand sets it automatically when the application creates the TestStand Engine. Setting this property can cause dialog boxes to be modal to the wrong window. This property usually refers to the main window of the application but refers to the window of the dialog box when the application displays a modal dialog box. Returns the number of module adapters available for use with TestStand. TestStand maintains a list of available module adapters. Use the Engine.GetAdapter method to obtain a module adapter object by index. Returns the number of module adapters available for use with TestStand. TestStand maintains a list of available module adapters. Use the Engine.GetAdapter method to obtain a module adapter object by index. Specifies the key name of the default adapter TestStand uses to create steps. TestStand maintains a list of available module adapters. The adapter this property specifies is designated as the default adapter. This property contains the key name of the default module adapter. The Engine.DefaultAdapterIndex property indicates the index of the default module adapter. Specifies the key name of the default adapter TestStand uses to create steps. TestStand maintains a list of available module adapters. The adapter this property specifies is designated as the default adapter. This property contains the key name of the default module adapter. The Engine.DefaultAdapterIndex property indicates the index of the default module adapter. Note: This property is obsolete. Use the StationOptions.EnableUserPrivilegeChecking property instead. Specifies whether the sequence editor or user interface verifies user privileges. When this property is False, the sequence editor or user interface does not verify that the user has the privileges necessary for performing specific operations. Instead, all operations that depend on user privileges are always available. Note: This property is obsolete. Use the StationOptions.EnableUserPrivilegeChecking property instead. Specifies whether the sequence editor or user interface verifies user privileges. When this property is False, the sequence editor or user interface does not verify that the user has the privileges necessary for performing specific operations. Instead, all operations that depend on user privileges are always available. Note: This property is obsolete. Use the Engine.GetTestStandPath method instead. Returns the pathname of the TestStand configuration directory. The pathname does not contain a trailing backslash. The configuration directory contains engine and sequence editor option files, the users file, the globals file, and the tools menu file. Note: This property is obsolete. Use the Engine.GetTestStandPath method instead. Returns the pathname of the TestStand configuration directory. The pathname does not contain a trailing backslash. The configuration directory contains engine and sequence editor option files, the users file, the globals file, and the tools menu file. Note: This property is obsolete. Use the Engine.GetTestStandPath method instead. Returns the pathname of the <TestStand>\Bin directory. The pathname does not contain a trailing backslash. Note: This property is obsolete. Use the Engine.GetTestStandPath method instead. Returns the pathname of the <TestStand>\Bin directory. The pathname does not contain a trailing backslash. Note: This property is obsolete. Use the Engine.GetTestStandPath method instead. Returns the pathname of the directory in which you installed TestStand. The pathname does not contain a trailing backslash. Note: This property is obsolete. Use the Engine.GetTestStandPath method instead. Returns the pathname of the directory in which you installed TestStand. The pathname does not contain a trailing backslash. Note: This property is obsolete. Use the Engine.GetTypeNames and Engine.GetTypeDefinition properties instead. If you attempt to read this property, TestStand returns an error. Note: This property is obsolete. Use the Engine.GetTypeNames and Engine.GetTypeDefinition properties instead. If you attempt to read this property, TestStand returns an error. Note: This property is obsolete. Use the Engine.GetTypeNames and Engine.GetTypeDefinition methods instead. If you attempt to read this property, TestStand returns an error. Note: This property is obsolete. Use the Engine.GetTypeNames and Engine.GetTypeDefinition methods instead. If you attempt to read this property, TestStand returns an error. Note: This property is obsolete. Use the Engine.GetTypeNames and Engine.GetTypeDefinition methods instead. If you attempt to read this property, TestStand returns an error. Note: This property is obsolete. Use the Engine.GetTypeNames and Engine.GetTypeDefinition methods instead. If you attempt to read this property, TestStand returns an error. Note: This property is obsolete. Use the StationOptions.TracingEnabled property instead. Specifies if tracing is enabled for sequence editors and user interfaces. Note: This property is obsolete. Use the StationOptions.TracingEnabled property instead. Specifies if tracing is enabled for sequence editors and user interfaces. Note: This property is obsolete. Use the StationOptions.BreakpointsEnabled property instead. Specifies whether to stop on breakpoints. Set this property to True to stop on breakpoints. Set this property to False to ignore breakpoints. Note: This property is obsolete. Use the StationOptions.BreakpointsEnabled property instead. Specifies whether to stop on breakpoints. Set this property to True to stop on breakpoints. Set this property to False to ignore breakpoints. Note: This property is obsolete. Use the StationOptions.RTEOption property instead. Specifies whether the sequence editor or user interface breaks on run-time errors. In most sequence editors and user interfaces, breaking on a run-time error launches a dialog box in which you can choose how to proceed. Note: This property is obsolete. Use the StationOptions.RTEOption property instead. Specifies whether the sequence editor or user interface breaks on run-time errors. In most sequence editors and user interfaces, breaking on a run-time error launches a dialog box in which you can choose how to proceed. Note: This property is obsolete. Use the StationOptions.ExecutionMask property instead. Sets or gets execution options. Specifies the execution options using ExecutionMask constants. To specify multiple execution options, use the bitwise-OR operator. Note: This property is obsolete. Use the StationOptions.ExecutionMask property instead. Sets or gets execution options. Specifies the execution options using ExecutionMask constants. To specify multiple execution options, use the bitwise-OR operator. Specifies if user interface message polling is enabled. Default value is False. Set this property to True when writing a user interface which uses polling rather than events to obtain UIMessages from TestStand. To poll, call the Engine.IsUIMessageQueueEmpty property. If IsUIMessageQueueEmpty returns False, call the Engine.GetUIMessage method to retrieve the next UIMessage. If your development environment requires you to explicitly release COM references, release the COM reference to the previous user interface message before obtaining the next one. Note: Do not set this property to True if you created the TestStand Engine as an ActiveX control or if you are using the TestStand User Interface (UI) Controls. Specifies if user interface message polling is enabled. Default value is False. Set this property to True when writing a user interface which uses polling rather than events to obtain UIMessages from TestStand. To poll, call the Engine.IsUIMessageQueueEmpty property. If IsUIMessageQueueEmpty returns False, call the Engine.GetUIMessage method to retrieve the next UIMessage. If your development environment requires you to explicitly release COM references, release the COM reference to the previous user interface message before obtaining the next one. Note: Do not set this property to True if you created the TestStand Engine as an ActiveX control or if you are using the TestStand User Interface (UI) Controls. Returns a value that indicates whether the user interface message queue is empty. If you are writing a sequence editor or user interface, use this property when polling for UIMessages to determine whether a message in the queue is pending. You must set the Engine.UIMessagePollingEnabled property to True to poll for UIMessages. Returns a value that indicates whether the user interface message queue is empty. If you are writing a sequence editor or user interface, use this property when polling for UIMessages to determine whether a message in the queue is pending. You must set the Engine.UIMessagePollingEnabled property to True to poll for UIMessages. Note: This property is obsolete. Use the StationOptions.UIMessageDelay property instead. Specifies how many milliseconds must pass between postings of UIMsg_Trace events. Set this property to specify how many milliseconds must pass before you receive the next UIMsg_Trace event. Use this property to slow down the posting of trace messages to the sequence editor or user interface to allow time for processing mouse events and/or to display the trace of an execution more slowly. Note: The value of this property can never be less than the value of the Engine.UIMessageMinDelay property. If set to a lesser value, TestStand automatically resets this property to the value of the UIMessageMinDelay property. Note: This property is obsolete. Use the StationOptions.UIMessageDelay property instead. Specifies how many milliseconds must pass between postings of UIMsg_Trace events. Set this property to specify how many milliseconds must pass before you receive the next UIMsg_Trace event. Use this property to slow down the posting of trace messages to the sequence editor or user interface to allow time for processing mouse events and/or to display the trace of an execution more slowly. Note: The value of this property can never be less than the value of the Engine.UIMessageMinDelay property. If set to a lesser value, TestStand automatically resets this property to the value of the UIMessageMinDelay property. Note: This property is obsolete. Use the StationOptions.UIMessageMinDelay property instead. Specifies the minimum value allowed for the Engine.UIMessageDelay property. Use this property to specify the minimum value allowed for the UIMessageDelay property for the sequence editor or user interface. Note: This property is obsolete. Use the StationOptions.UIMessageMinDelay property instead. Specifies the minimum value allowed for the Engine.UIMessageDelay property. Use this property to specify the minimum value allowed for the UIMessageDelay property for the sequence editor or user interface. Handles user interface message events as ActiveX events. You must implement this method if you are writing a user interface and you want to receive UIMessages as ActiveX events. If you are using the TestStand ActiveX control in Microsoft Visual Basic, double-click the TestStand control icon on the form to implement the ActiveX event callback. The user interface message that TestStand passes to the event. Note: This property is obsolete. Use the StationOptions.DisableResults property instead. Disables recording of results for all steps. When this property is True, TestStand does not record results for steps. When this property is False, TestStand records results based on the setting of the Step.RecordResult property of each individual step or based on the Sequence.DisableResults property and Execution.DisableResults property. Note: TestStand might not honor changes to this property in a running sequence until the sequence completes the current step group. Note: This property is obsolete. Use the StationOptions.DisableResults property instead. Disables recording of results for all steps. When this property is True, TestStand does not record results for steps. When this property is False, TestStand records results based on the setting of the Step.RecordResult property of each individual step or based on the Sequence.DisableResults property and Execution.DisableResults property. Note: TestStand might not honor changes to this property in a running sequence until the sequence completes the current step group. Note: This method is obsolete. Use Engine.GetUserGroup method instead. Obtains the User" object that contains a specific user profile. Returns NULL if the user profile does not exist. The user profile is a template for an actual user. Pass the user profile object to the Engine.NewUser method to create a new user. Specifies the name of the user profile to return. Note: This method is obsolete. Use Engine.GetUserGroup method instead. Obtains the User" object that contains a specific user profile. Returns NULL if the user profile does not exist. The user profile is a template for an actual user. Pass the user profile object to the Engine.NewUser method to create a new user. Specifies the name of the user profile to return. Saves the current state of the station globals to disk. Calling this method with an argument of True is equivalent to calling the PropertyObjectFile.WriteFile method on the object the Engine.GlobalsFile property returns. TestStand writes the station globals to disk only if they change after TestStand has loaded or saved them. If another application changes the station globals on disk after TestStand has loaded or saved them, the action TestStand takes depends on the value you pass in this parameter. If you pass True, TestStand gives users the option to overwrite the changes the other application made. If you pass False, TestStand saves the station globals without prompting the user to resolve any conflicts between the changes in memory and the changes on disk. Saves the current state of the station globals to disk. Calling this method with an argument of True is equivalent to calling the PropertyObjectFile.WriteFile method on the object the Engine.GlobalsFile property returns. TestStand writes the station globals to disk only if they change after TestStand has loaded or saved them. If another application changes the station globals on disk after TestStand has loaded or saved them, the action TestStand takes depends on the value you pass in this parameter. If you pass True, TestStand gives users the option to overwrite the changes the other application made. If you pass False, TestStand saves the station globals without prompting the user to resolve any conflicts between the changes in memory and the changes on disk. Launches the Adapter Configuration dialog box, in which you can edit adapter-specific settings and select the default adapter. Returns True if the dialog box modifies adapter settings. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Pass True if you want a read-only version of the Selected column in the dialog box. Pass True if you want read-only versions of the Adapter Configuration controls in the dialog box. Pass True to hide the Selected and Hidden columns in the dialog box. This is useful for user interfaces that do not require the ability to select a default adapter. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Launches the Adapter Configuration dialog box, in which you can edit adapter-specific settings and select the default adapter. Returns True if the dialog box modifies adapter settings. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Pass True if you want a read-only version of the Selected column in the dialog box. Pass True if you want read-only versions of the Adapter Configuration controls in the dialog box. Pass True to hide the Selected and Hidden columns in the dialog box. This is useful for user interfaces that do not require the ability to select a default adapter. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Unloads all code modules associated with steps, step types, and substeps. Call this method to force all modules to be unloaded and then reloaded when they are next called so you can rebuild DLLs and other code modules. This method also unloads the station model sequence file. Typically, you only call this method when no executions are running. Unloads all code modules associated with steps, step types, and substeps. Call this method to force all modules to be unloaded and then reloaded when they are next called so you can rebuild DLLs and other code modules. This method also unloads the station model sequence file. Typically, you only call this method when no executions are running. Returns a reference to the process model sequence file TestStand associates with the test station. Release this reference when you are done using it. This method returns an error if the sequence file exists but TestStand cannot load it for some reason. For example, TestStand might be unable to load the sequence file if there are type conflicts that cannot be automatically resolved. Returns a string that describes the process model file. Returns a reference to the process model sequence file TestStand associates with the test station. Release this reference when you are done using it. This method returns an error if the sequence file exists but TestStand cannot load it for some reason. For example, TestStand might be unable to load the sequence file if there are type conflicts that cannot be automatically resolved. Returns a string that describes the process model file. Note: This property is obsolete. Use the StationOptions.AutoLoginSystemUser property instead. Specifies if the LoginLogout callback sequence uses the current user login for the operating system as the login for TestStand when first launching a user interface or sequence editor. If the user login for the operating system does not exist in TestStand, the Login dialog box launches. If the user login for the operating system exists in TestStand, TestStand automatically logs the user in using the operating system login. Note: TestStand does not perform password authentication for an automatic login. Note: This property is obsolete. Use the StationOptions.AutoLoginSystemUser property instead. Specifies if the LoginLogout callback sequence uses the current user login for the operating system as the login for TestStand when first launching a user interface or sequence editor. If the user login for the operating system does not exist in TestStand, the Login dialog box launches. If the user login for the operating system exists in TestStand, TestStand automatically logs the user in using the operating system login. Note: TestStand does not perform password authentication for an automatic login. Returns the major version number for the current version of TestStand. The version number usually appears in the MajorVersion.MinorVersion.RevisionVersion format, such as 1.0.2. Returns the major version number for the current version of TestStand. The version number usually appears in the MajorVersion.MinorVersion.RevisionVersion format, such as 1.0.2. Note: This method is obsolete. Use the Engine.ReleaseSequenceFileEx method instead. Releases the SequenceFile object from the Engine internal cache. Note: Calling this method does not release the ActiveX reference to the sequence file. Pass a reference to the sequence file to release. Note: This method is obsolete. Use the Engine.ReleaseSequenceFileEx method instead. Releases the SequenceFile object from the Engine internal cache. Note: Calling this method does not release the ActiveX reference to the sequence file. Pass a reference to the sequence file to release. Returns the minor version number for the current version of TestStand. The version number usually appears in the MajorVersion.MinorVersion.RevisionVersion format, such as 1.0.2. Returns the minor version number for the current version of TestStand. The version number usually appears in the MajorVersion.MinorVersion.RevisionVersion format, such as 1.0.2. Returns the revision version number for the current version of TestStand. The version number usually appears in the MajorVersion.MinorVersion.RevisionVersion format, such as 1.0.2. Returns the revision version number for the current version of TestStand. The version number usually appears in the MajorVersion.MinorVersion.RevisionVersion format, such as 1.0.2. Launches a dialog box that prompts the user to provide interactive execution information required for the Loop On Selected Steps command. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies a reference to the first currently selected step. The dialog box uses this step to display property information if the user browses to create the 'stop on' expression. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle the Engine.AppMainHwnd property returns. Typically, you do not need to set this option. Returns the value of the loop count the user specifies in the dialog box. A value of -1 indicates an infinite loop. Returns the value of the stop expression the user specifies in the dialog box. An empty string indicates that the stop expression is not used. Launches a dialog box that prompts the user to provide interactive execution information required for the Loop On Selected Steps command. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies a reference to the first currently selected step. The dialog box uses this step to display property information if the user browses to create the 'stop on' expression. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle the Engine.AppMainHwnd property returns. Typically, you do not need to set this option. Returns the value of the loop count the user specifies in the dialog box. A value of -1 indicates an infinite loop. Returns the value of the stop expression the user specifies in the dialog box. An empty string indicates that the stop expression is not used. Returns the full version of the TestStand Engine as a string. Use this string for display purposes. Use the other version properties for conditional code. Returns the full version of the TestStand Engine as a string. Use this string for display purposes. Use the other version properties for conditional code. Reloads global variables from disk. All global reference variables and properties that exist after you call this method retain the reference values they had before the call to ReloadGlobals. To clear reference values, explicitly set the references to nothing or delete the global reference variables and properties before you call this method. Reloads global variables from disk. All global reference variables and properties that exist after you call this method retain the reference values they had before the call to ReloadGlobals. To clear reference values, explicitly set the references to nothing or delete the global reference variables and properties before you call this method. Converts an expression string to conform to the localization settings for the computer. Call this method to localize an expression before you display it. The method replaces the periods that represent decimal points in the expression with the localized decimal point character. If the localized decimal point character is the comma character, the method also replaces commas that represent argument or expression separators with semicolons. The method does not change periods used as property field separators or any characters inside string constants. String containing the localized expression. Specifies an unlocalized expression string to convert. Constant that specifies how the method determines which character is the localized decimal point that it uses to localize the expression. Converts an expression string to conform to the localization settings for the computer. Call this method to localize an expression before you display it. The method replaces the periods that represent decimal points in the expression with the localized decimal point character. If the localized decimal point character is the comma character, the method also replaces commas that represent argument or expression separators with semicolons. The method does not change periods used as property field separators or any characters inside string constants. String containing the localized expression. Specifies an unlocalized expression string to convert. Constant that specifies how the method determines which character is the localized decimal point that it uses to localize the expression. Converts a localized expression string to a standard form suitable for evaluation. TestStand requires expressions it evaluates through the expression function Evaluate or the PropertyObject.EvaluateEx method to be in a standard, non-localized form so the result of the evaluation does not depend on the localization settings of the computer. Call this method to delocalize expressions you obtain from user input. The method replaces the localized decimal point characters that represent decimal points in the expression with the period character. If the localized decimal point character is the comma character, the method also replaces semicolons that represent argument separators or expression separators with commas. The method does not change characters inside string constants. A string containing the delocalized expression. Specifies the localized expression string to convert. Pass a constant that specifies how the method determines which character the localized expression uses for the localized decimal point. Converts a localized expression string to a standard form suitable for evaluation. TestStand requires expressions it evaluates through the expression function Evaluate or the PropertyObject.EvaluateEx method to be in a standard, non-localized form so the result of the evaluation does not depend on the localization settings of the computer. Call this method to delocalize expressions you obtain from user input. The method replaces the localized decimal point characters that represent decimal points in the expression with the period character. If the localized decimal point character is the comma character, the method also replaces semicolons that represent argument separators or expression separators with commas. The method does not change characters inside string constants. A string containing the delocalized expression. Specifies the localized expression string to convert. Pass a constant that specifies how the method determines which character the localized expression uses for the localized decimal point. Returns the localized decimal point character. A string that contains the localized decimal point character. A constant that specifies how the method determines which character is the localized decimal point character. Returns the localized decimal point character. A string that contains the localized decimal point character. A constant that specifies how the method determines which character is the localized decimal point character. Note: This property is obsolete. Use the StationOptions.UseLocalizedDecimalPoint property instead. Specifies whether to use the operating system setting to determine the character used as a decimal point. When this property is True, TestStand uses the operating system setting to determine the character it uses as the localized decimal point. When this property is False, TestStand uses the period character to represent decimal points. Note: This property is obsolete. Use the StationOptions.UseLocalizedDecimalPoint property instead. Specifies whether to use the operating system setting to determine the character used as a decimal point. When this property is True, TestStand uses the operating system setting to determine the character it uses as the localized decimal point. When this property is False, TestStand uses the period character to represent decimal points. Note: This method is obsolete. Use the Engine.GetEditTimeToolMenuItems and Engine.GetRunTimeToolMenuItems methods instead. Returns information about a Tools menu item, which you specify with a menu index and an item index. Use this information when constructing a Tools menu in a user interface. You must call the Engine.ConstructToolMenus method before calling this function. Specifies a zero-based index for a Tools menu or submenu. Specifies a zero-based index for an item within the menu or submenu. Returns the text to display in the menu item. If the item is a submenu, this parameter returns the zero-based menu index of the Tools menu for the item. Otherwise, it returns -1. The bitwise-OR combination of one or more ToolMenuItemAttributes constants. Use the bitwise-AND operator to determine whether an item has a specific attribute. Returns a unique ID to identify the menu item. Use this ID to invoke the Tools menu item or to obtain the menu item information again at a later time. Note: This method is obsolete. Use the Engine.GetEditTimeToolMenuItems and Engine.GetRunTimeToolMenuItems methods instead. Returns information about a Tools menu item, which you specify with a menu index and an item index. Use this information when constructing a Tools menu in a user interface. You must call the Engine.ConstructToolMenus method before calling this function. Specifies a zero-based index for a Tools menu or submenu. Specifies a zero-based index for an item within the menu or submenu. Returns the text to display in the menu item. If the item is a submenu, this parameter returns the zero-based menu index of the Tools menu for the item. Otherwise, it returns -1. The bitwise-OR combination of one or more ToolMenuItemAttributes constants. Use the bitwise-AND operator to determine whether an item has a specific attribute. Returns a unique ID to identify the menu item. Use this ID to invoke the Tools menu item or to obtain the menu item information again at a later time. Note: This method is obsolete. Use the Engine.GetEditTimeToolMenuItems and Engine.GetRunTimeToolMenuItems methods instead. Returns information about a Tools menu item, which you specify with a unique Tools menu item ID. The information returned is useful for constructing a Tools menu in a user interface. You must call the Engine.ConstructToolMenus method before calling this function. Specifies the Tools menu item ID you obtain from the Engine.GetToolMenuItemInfoEx method or the Menu_ToolIDProp property on the object the Engine.GetToolMenuStructure method returns. Returns the text to display in the menu item. If the item is a submenu, this parameter returns the zero-based menu index of the Tools menu for the item. Otherwise, it returns -1. The bitwise-OR combination of one or more ToolMenuItemAttributes constants. Use the bitwise-AND operator to determine whether an item has a specific attribute. Note: This method is obsolete. Use the Engine.GetEditTimeToolMenuItems and Engine.GetRunTimeToolMenuItems methods instead. Returns information about a Tools menu item, which you specify with a unique Tools menu item ID. The information returned is useful for constructing a Tools menu in a user interface. You must call the Engine.ConstructToolMenus method before calling this function. Specifies the Tools menu item ID you obtain from the Engine.GetToolMenuItemInfoEx method or the Menu_ToolIDProp property on the object the Engine.GetToolMenuStructure method returns. Returns the text to display in the menu item. If the item is a submenu, this parameter returns the zero-based menu index of the Tools menu for the item. Otherwise, it returns -1. The bitwise-OR combination of one or more ToolMenuItemAttributes constants. Use the bitwise-AND operator to determine whether an item has a specific attribute. Launches a message dialog box. Calling this method on a remote instance of the engine displays the message on the local computer. Returns the user response. This is the same as the return value from the Microsoft Windows Software Development Kit MessageBox function. The following are typical values: IDOK (1), IDCANCEL (2), IDYES (6), IDNO (7). Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the text to display in the message box. Specifies the type of message box. This tells the message box which icon to display. Specify CommonDlgOption_NoOptions or CommonDlgOption_ModalToAppMainWnd. Specifies any additional flags the Windows SDK MessageBox function allows. Launches a message dialog box. Calling this method on a remote instance of the engine displays the message on the local computer. Returns the user response. This is the same as the return value from the Microsoft Windows Software Development Kit MessageBox function. The following are typical values: IDOK (1), IDCANCEL (2), IDYES (6), IDNO (7). Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the text to display in the message box. Specifies the type of message box. This tells the message box which icon to display. Specify CommonDlgOption_NoOptions or CommonDlgOption_ModalToAppMainWnd. Specifies any additional flags the Windows SDK MessageBox function allows. Note: This property is obsolete. Use the StationOptions.AlwaysGotoCleanupOnFailure property instead. Overrides the Sequence.GotoCleanupOnFailure property setting when this property is True. Note: This property is obsolete. Use the StationOptions.AlwaysGotoCleanupOnFailure property instead. Overrides the Sequence.GotoCleanupOnFailure property setting when this property is True. Defines a new UIMessage that is guaranteed to be unique for the lifetime of the engine. Use this method to define new messages for step types or user interfaces to ensure that they do not conflict with messages defined by other custom TestStand components, such as add-on products. This method returns the previously assigned message code if the message is already assigned. Messages the Engine.RegisterUIMessages method defines do not generate an ApplicationMgr.UserMessage event, but TestStand does send the message to ApplicationMgr.UIMessageEvent. Returns the event code for the message. Use this value as the eventCode parameter of the Thread.PostUIMessageEx method. Returns -1 if there are no more message codes available for registration. Specifies the name of the message to register. Defines a new UIMessage that is guaranteed to be unique for the lifetime of the engine. Use this method to define new messages for step types or user interfaces to ensure that they do not conflict with messages defined by other custom TestStand components, such as add-on products. This method returns the previously assigned message code if the message is already assigned. Messages the Engine.RegisterUIMessages method defines do not generate an ApplicationMgr.UserMessage event, but TestStand does send the message to ApplicationMgr.UIMessageEvent. Returns the event code for the message. Use this value as the eventCode parameter of the Thread.PostUIMessageEx method. Returns -1 if there are no more message codes available for registration. Specifies the name of the message to register. Returns a reference to the ExternalReportViewers object, which is a collection that contains a list of the current external report viewers. You must obtain the external report viewer collection before adding or modifying an external report viewer. Note: You must have a minimum supported version of Microsoft Internet Explorer or later to view TestStand reports. Refer to the NI TestStand Release Notes for more information about supported versions of Internet Explorer. Returns a reference to the ExternalReportViewers object, which is a collection that contains a list of the current external report viewers. You must obtain the external report viewer collection before adding or modifying an external report viewer. Note: You must have a minimum supported version of Microsoft Internet Explorer or later to view TestStand reports. Refer to the NI TestStand Release Notes for more information about supported versions of Internet Explorer. Creates and returns a new WorkspaceFile object. Creates and returns a new WorkspaceFile object. Returns the WorkspaceFile object for the workspace file the workspaceFilePath parameter specifies. Reads the workspace file from disk. The path must be an absolute path. If the path is not absolute, TestStand raises an exception when trying to read the workspace file. Specifies the absolute pathname of the workspace file. Specify one or more OpenWorkspaceFileOptions constants. Use the bitwise-OR operator to specify more than one option. Specifies how to handle type conflicts. Returns the WorkspaceFile object for the workspace file the workspaceFilePath parameter specifies. Reads the workspace file from disk. The path must be an absolute path. If the path is not absolute, TestStand raises an exception when trying to read the workspace file. Specifies the absolute pathname of the workspace file. Specify one or more OpenWorkspaceFileOptions constants. Use the bitwise-OR operator to specify more than one option. Specifies how to handle type conflicts. Refreshes the TestStand Engine string table, affecting future calls to the Engine.GetResourceString method. TestStand does not unload the strings but overwrites existing ones. Components that have already cached resource strings might not update with new values. The string table is updated with the files corresponding to the last language selected. Refreshes the TestStand Engine string table, affecting future calls to the Engine.GetResourceString method. TestStand does not unload the strings but overwrites existing ones. Components that have already cached resource strings might not update with new values. The string table is updated with the files corresponding to the last language selected. Returns an Adapter object from the list of module adapters. To access the properties and methods of a specific adapter, call GetAdapterByKeyName and then query the returned Adapter object for the interface of the desired adapter. The adapter that has the specified key name. Specifies the name to use as a key to find the adapter in the list. Pass one of the AdapterKeyNames constants. Returns an Adapter object from the list of module adapters. To access the properties and methods of a specific adapter, call GetAdapterByKeyName and then query the returned Adapter object for the interface of the desired adapter. The adapter that has the specified key name. Specifies the name to use as a key to find the adapter in the list. Pass one of the AdapterKeyNames constants. Posts a user interface message to the current sequence editor or user interface. You can post the following messages from a step: UIMsg_ProgressPercent and UIMsg_ProgressText. These messages tell the user interface to display a progress indicator or text message for the execution. Specifies the execution to pass with the message. Specifies the thread to pass with the message. Specifies the type of UIMessage. Specifies numeric data to pass with the message. When you post a UIMsg_ProgressPercent event, this parameter specifies the percent done. Specifies string data to pass with the message. When you post a UIMsg_ProgressText event, this parameter specifies the text to display. Specifies an ActiveX reference to pass with the message. Typically, you pass True for this parameter to direct the method to wait until the user interface processes the message. If you pass False, the method returns immediately without waiting for the user interface to handle the message. If you pass False and post messages faster than the user interface processes messages, the number of messages in the queue the user interface must handle grows unbounded and floods the user interface with messages, which causes the user interface to become unresponsive. Posts a user interface message to the current sequence editor or user interface. You can post the following messages from a step: UIMsg_ProgressPercent and UIMsg_ProgressText. These messages tell the user interface to display a progress indicator or text message for the execution. Specifies the execution to pass with the message. Specifies the thread to pass with the message. Specifies the type of UIMessage. Specifies numeric data to pass with the message. When you post a UIMsg_ProgressPercent event, this parameter specifies the percent done. Specifies string data to pass with the message. When you post a UIMsg_ProgressText event, this parameter specifies the text to display. Specifies an ActiveX reference to pass with the message. Typically, you pass True for this parameter to direct the method to wait until the user interface processes the message. If you pass False, the method returns immediately without waiting for the user interface to handle the message. If you pass False and post messages faster than the user interface processes messages, the number of messages in the queue the user interface must handle grows unbounded and floods the user interface with messages, which causes the user interface to become unresponsive. Creates and returns a new TypeUsageList. Pass 0. Creates and returns a new TypeUsageList. Pass 0. Converts a string of serialized objects into an array of property objects and a TypeUsageList that contains types the PropertyObjects use. Call this method to convert the return value of the Engine.SerializeObjects method into an array of property objects and a list of types. Typically, you use the Engine.SerializeObjects and Engine.UnserializeObjects methods to put TestStand data on the Microsoft Windows clipboard and to obtain data from it. If you insert the array of property objects this method returns into a property object file, add the types it uses to the file. You can also add the types to the file by calling the TypeUsageList.Union method on the object the PropertyObjectFile.TypeUsageList property returns. Pass the typesUsed output value as the unionTypeUsageList parameter to TypeUsageList.Union. When you unserialize a step or a sequence, call the Step.CreateNewUniqueStepId, Sequence.CreateNewUniqueStepIds, or Engine.CreateNewUniqueStepIds method to replace the unique step ID with a new unique ID. Returns the array of unserialized property objects. Specifies the serialized objects the Engine.SerializeObjects method creates. Returns the list of types the serialized objects use. Pass 0. Specifies how to handle type conflicts in the stream. Converts a string of serialized objects into an array of property objects and a TypeUsageList that contains types the PropertyObjects use. Call this method to convert the return value of the Engine.SerializeObjects method into an array of property objects and a list of types. Typically, you use the Engine.SerializeObjects and Engine.UnserializeObjects methods to put TestStand data on the Microsoft Windows clipboard and to obtain data from it. If you insert the array of property objects this method returns into a property object file, add the types it uses to the file. You can also add the types to the file by calling the TypeUsageList.Union method on the object the PropertyObjectFile.TypeUsageList property returns. Pass the typesUsed output value as the unionTypeUsageList parameter to TypeUsageList.Union. When you unserialize a step or a sequence, call the Step.CreateNewUniqueStepId, Sequence.CreateNewUniqueStepIds, or Engine.CreateNewUniqueStepIds method to replace the unique step ID with a new unique ID. Returns the array of unserialized property objects. Specifies the serialized objects the Engine.SerializeObjects method creates. Returns the list of types the serialized objects use. Pass 0. Specifies how to handle type conflicts in the stream. Specifies Returns Specifies Returns Returns the number of modifications made to the watch expression list the engine maintains or to the watch expressions in the list. When you insert or remove a WatchExpression object from the watch expression list the engine maintains or when you modify a watch expression in the list, the engine increments the change count. The sequence editor and user interfaces can use this count to determine when to refresh the Watch View pane. Returns the number of modifications made to the watch expression list the engine maintains or to the watch expressions in the list. When you insert or remove a WatchExpression object from the watch expression list the engine maintains or when you modify a watch expression in the list, the engine increments the change count. The sequence editor and user interfaces can use this count to determine when to refresh the Watch View pane. Creates new unique step IDs for a set of steps. Call this method after cloning or copying a group of steps to ensure that the steps in the copy contain unique IDs. This method also modifies certain steps, such as Goto steps, that refer to unique IDs so they refer to the newly generated IDs. Specifies an array of steps for which new unique step IDs are created. Creates new unique step IDs for a set of steps. Call this method after cloning or copying a group of steps to ensure that the steps in the copy contain unique IDs. This method also modifies certain steps, such as Goto steps, that refer to unique IDs so they refer to the newly generated IDs. Specifies an array of steps for which new unique step IDs are created. Note: This property is obsolete. Use the StationOptions.AllowSequenceCallsFromRemoteMachine property instead. Specifies if remote TestStand installations can execute sequences on the local computer. When this property is True, TestStand allows instances of the TestStand Engine on remote computers to connect to the local computer to execute sequences. When this property is False, only instances of TestStand on the local computer can execute sequences on the local computer. Note: This property is obsolete. Use the StationOptions.AllowSequenceCallsFromRemoteMachine property instead. Specifies if remote TestStand installations can execute sequences on the local computer. When this property is True, TestStand allows instances of the TestStand Engine on remote computers to connect to the local computer to execute sequences. When this property is False, only instances of TestStand on the local computer can execute sequences on the local computer. Specifies whether the engine was created to execute sequences on a remote computer. Note: A TestStand Engine must set this property. National Instruments recommends not setting this property manually. When TestStand executes sequences on a remote computer, the software creates an instance of the TestStand Engine on the remote computer and sets this property on the remote engine to True. To determine whether the engine was created for remote execution, obtain the value of this property. Note: TestStand does not support remotely executing a sequence across different TestStand versions, for example, remotely executing a TestStand 2013 sequence from a computer running TestStand 2010. Specifies whether the engine was created to execute sequences on a remote computer. Note: A TestStand Engine must set this property. National Instruments recommends not setting this property manually. When TestStand executes sequences on a remote computer, the software creates an instance of the TestStand Engine on the remote computer and sets this property on the remote engine to True. To determine whether the engine was created for remote execution, obtain the value of this property. Note: TestStand does not support remotely executing a sequence across different TestStand versions, for example, remotely executing a TestStand 2013 sequence from a computer running TestStand 2010. Specifies the controlling engine for remote engines. Note: A TestStand Engine must set this property. National Instruments recommends not setting this property manually. When TestStand executes sequences on a remote computer, it creates an instance of the TestStand Engine on the remote computer and sets this property on the remote engine to refer back to the controlling engine. If this engine is a remote engine, you can use this property to access the engine on the other computer. Specifies the controlling engine for remote engines. Note: A TestStand Engine must set this property. National Instruments recommends not setting this property manually. When TestStand executes sequences on a remote computer, it creates an instance of the TestStand Engine on the remote computer and sets this property on the remote engine to refer back to the controlling engine. If this engine is a remote engine, you can use this property to access the engine on the other computer. Creates and returns a new PropertyObjectFile object. Use this method to create type palette files, workspace files, project files, sequence files, and generic property object files. You cannot create a users file, configuration file, or a station globals file using this method. Specifies the type of file to create. Creates and returns a new PropertyObjectFile object. Use this method to create type palette files, workspace files, project files, sequence files, and generic property object files. You cannot create a users file, configuration file, or a station globals file using this method. Specifies the type of file to create. Returns the PropertyObjectFile that contains the test station global variables. Returns the PropertyObjectFile that contains the test station global variables. Returns the PropertyObjectFile that contains the list of TestStand users and user groups. Sequence editors and user interfaces typically use this object to display users and user groups or to edit lists of users and user groups, their properties and privileges, and save those lists to disk. Returns the PropertyObjectFile that contains the list of TestStand users and user groups. Sequence editors and user interfaces typically use this object to display users and user groups or to edit lists of users and user groups, their properties and privileges, and save those lists to disk. Note: This property is obsolete. Use the Engine.GetEngineConfigFile property instead. You can set the station options using the Station Options dialog box and the Search Directories dialog box. Note: This property is obsolete. Use the Engine.GetEngineConfigFile property instead. You can set the station options using the Station Options dialog box and the Search Directories dialog box. Creates and returns a new StepType object. You must specify the name of the new step type by setting the StepType.Name property. You can add the type to a TypeUsageList object to associate the type with a particular PropertyObjectFile object. Once you create the step type, you can use the Engine.NewStep method to create an instance of the type. Note: TestStand does not validate step type names you create programmatically for invalid characters, such as spaces, which can result in errors when you use the data type. Use the TypeUsageList.ValidateNewTypeName method to validate step type names. TestStand requires step type names to be strings that contain only letters, numbers, and underscores. Step type names cannot contain spaces, start with a number, or be empty. Additionally, You cannot duplicate step type names already in memory. Creates and returns a new StepType object. You must specify the name of the new step type by setting the StepType.Name property. You can add the type to a TypeUsageList object to associate the type with a particular PropertyObjectFile object. Once you create the step type, you can use the Engine.NewStep method to create an instance of the type. Note: TestStand does not validate step type names you create programmatically for invalid characters, such as spaces, which can result in errors when you use the data type. Use the TypeUsageList.ValidateNewTypeName method to validate step type names. TestStand requires step type names to be strings that contain only letters, numbers, and underscores. Step type names cannot contain spaces, start with a number, or be empty. Additionally, You cannot duplicate step type names already in memory. Note: This property is obsolete. Use the Engine.SmallImageListEx property instead. Calling this property on a 64-bit instance of the TestStand Engine results in an error. Returns the Microsoft Windows handle for the TestStand list of small images. The TestStand Engine maintains lists of images for all the icons from the <TestStand>\Components\Icons and "<TestStand Public>\Components\Icons directories and images you add using the Engine.AddImage method. TestStand separates the images according to size and places each image in the list of large images or in the list of small images. This method returns a Windows handle, HIMAGELIST, for the list of small images. You can use the image list functions in the Microsoft Windows Platform Software Development Kit to access the images in the list. Use this property as an alternative to using the Images collection. Note: You can access this image list only from the process that created it, which is the process that created the engine. Note: This property is obsolete. Use the Engine.SmallImageListEx property instead. Calling this property on a 64-bit instance of the TestStand Engine results in an error. Returns the Microsoft Windows handle for the TestStand list of small images. The TestStand Engine maintains lists of images for all the icons from the <TestStand>\Components\Icons and "<TestStand Public>\Components\Icons directories and images you add using the Engine.AddImage method. TestStand separates the images according to size and places each image in the list of large images or in the list of small images. This method returns a Windows handle, HIMAGELIST, for the list of small images. You can use the image list functions in the Microsoft Windows Platform Software Development Kit to access the images in the list. Use this property as an alternative to using the Images collection. Note: You can access this image list only from the process that created it, which is the process that created the engine. Note: This property is obsolete. Use the Engine.LargeImageListEx property instead. Calling this property on a 64-bit instance of the TestStand Engine results in an error. Returns the Microsoft Windows handle for the TestStand list of large images. The TestStand Engine maintains lists of images for all the icons from the <TestStand>\Components\Icons and <TestStand Public>\Components\Icons directories and images you add using the Engine.AddImage method. TestStand separates the images according to size and places each image in the list of large images or in the list of small images. This method returns a Windows handle, HIMAGELIST, for the list of large images. You can use the image list functions in the Microsoft Windows Platform Software Development Kit to access the images in the list. Use this property as an alternative to using the Images collection. Note: You can access this image list only from the process that created it, which is the process that created the engine. Note: This property is obsolete. Use the Engine.LargeImageListEx property instead. Calling this property on a 64-bit instance of the TestStand Engine results in an error. Returns the Microsoft Windows handle for the TestStand list of large images. The TestStand Engine maintains lists of images for all the icons from the <TestStand>\Components\Icons and <TestStand Public>\Components\Icons directories and images you add using the Engine.AddImage method. TestStand separates the images according to size and places each image in the list of large images or in the list of small images. This method returns a Windows handle, HIMAGELIST, for the list of large images. You can use the image list functions in the Microsoft Windows Platform Software Development Kit to access the images in the list. Use this property as an alternative to using the Images collection. Note: You can access this image list only from the process that created it, which is the process that created the engine. Adds an image to the list of images the engine maintains. The engine maintains lists of images for all the icons from the <TestStand>\Components\Icons and <TestStand Public>\Components\Icons directories and images you add using this method. This method adds an image to the engine image lists and the Images collection. The index of the added image. Must specify an icon image. Specifies the name to associate with the image. The name must be unique among all images. Adds an image to the list of images the engine maintains. The engine maintains lists of images for all the icons from the <TestStand>\Components\Icons and <TestStand Public>\Components\Icons directories and images you add using this method. This method adds an image to the engine image lists and the Images collection. The index of the added image. Must specify an icon image. Specifies the name to associate with the image. The name must be unique among all images. Returns the SequenceFile object for the sequence file the sequenceFilePath parameter specifies. Loads the sequence file from disk, if necessary. Call the Engine.ReleaseSequenceFileEx method on this object before releasing it. This method loads the sequence file into the internal cache of the engine and adds a load reference to the sequence file. TestStand uses the load reference count to determine when to unload the sequence file from the internal cache of the engine. In addition to this method, the SequenceFile.AddLoadReference and Engine.NewSequenceFile methods add a load reference to the sequence file. The Engine.ReleaseSequenceFileEx method removes a load reference. You must call the Engine.ReleaseSequenceFileEx method for each load reference you add to the sequence file. When you release the last load reference, TestStand unloads the file from the internal cache of the engine. While unloading the file from the cache, TestStand executes the SequenceFileUnload callback sequence, if applicable. You can use the SequenceAdapter.GetSequenceFile method to examine the contents of a sequence file without running load and unload callbacks, without preloading modules, and without merging types. You can use the GetSeqFile_GetFileOnlyIfInCache option with this method to determine whether a sequence file is already loaded in the engine internal cache. A SequenceFile object. Specifies the pathname of the sequence file. If the pathname is relative, this method tries to find it in the current directory, unless you specify the GetSeqFile_FindFile option. Specifies one or more GetSeqFileOptions constants. Use the bitwise-OR operator to specify multiple sequence file flags. Specifies how to handle type conflicts. Returns the SequenceFile object for the sequence file the sequenceFilePath parameter specifies. Loads the sequence file from disk, if necessary. Call the Engine.ReleaseSequenceFileEx method on this object before releasing it. This method loads the sequence file into the internal cache of the engine and adds a load reference to the sequence file. TestStand uses the load reference count to determine when to unload the sequence file from the internal cache of the engine. In addition to this method, the SequenceFile.AddLoadReference and Engine.NewSequenceFile methods add a load reference to the sequence file. The Engine.ReleaseSequenceFileEx method removes a load reference. You must call the Engine.ReleaseSequenceFileEx method for each load reference you add to the sequence file. When you release the last load reference, TestStand unloads the file from the internal cache of the engine. While unloading the file from the cache, TestStand executes the SequenceFileUnload callback sequence, if applicable. You can use the SequenceAdapter.GetSequenceFile method to examine the contents of a sequence file without running load and unload callbacks, without preloading modules, and without merging types. You can use the GetSeqFile_GetFileOnlyIfInCache option with this method to determine whether a sequence file is already loaded in the engine internal cache. A SequenceFile object. Specifies the pathname of the sequence file. If the pathname is relative, this method tries to find it in the current directory, unless you specify the GetSeqFile_FindFile option. Specifies one or more GetSeqFileOptions constants. Use the bitwise-OR operator to specify multiple sequence file flags. Specifies how to handle type conflicts. Returns a value that indicates whether the user interface automatically launches an external report viewer when an execution finishes. This method uses the report file extension and the external viewer configuration options to determine whether the user interface automatically launches the report viewer. Note: You must have a minimum supported version of Microsoft Internet Explorer or later to view TestStand reports. Refer to the NI TestStand Release Notes for more information about supported versions of Internet Explorer. Returns True if the user interface launches the external viewer. Specifies the report file path. This method uses only the file extension of the parameter. Returns a value that indicates whether the user interface automatically launches an external report viewer when an execution finishes. This method uses the report file extension and the external viewer configuration options to determine whether the user interface automatically launches the report viewer. Note: You must have a minimum supported version of Microsoft Internet Explorer or later to view TestStand reports. Refer to the NI TestStand Release Notes for more information about supported versions of Internet Explorer. Returns True if the user interface launches the external viewer. Specifies the report file path. This method uses only the file extension of the parameter. Specifies the index of the default module adapter TestStand uses to create steps. TestStand maintains a list of available module adapters. The adapter this property specifies is designated as the default adapter. This property contains the list index of the default module adapter. Use the Engine.GetAdapter method to obtain a module adapter object by index. The Engine.DefaultAdapter property indicates the key name of the default modules adapter. Specifies the index of the default module adapter TestStand uses to create steps. TestStand maintains a list of available module adapters. The adapter this property specifies is designated as the default adapter. This property contains the list index of the default module adapter. Use the Engine.GetAdapter method to obtain a module adapter object by index. The Engine.DefaultAdapter property indicates the key name of the default modules adapter. Launches a dialog box in which you can edit the properties stored in TestStand files that contain pathnames. This method first launches a dialog box in which you can select which files to edit. After you select those files, this method launches a dialog box that shows all the path properties within those files. You can use this dialog box to change the paths stored in any TestStand file, including sequence files, workspace files, project files, engine configuration files, the station globals file, and the user file. Returns True if you modify one or more files from the dialog box. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies any combination of the EditPathsDialogOptions constants. Specifies an optional PropertyObjectFile object the dialog box initially selects in the list control. Launches a dialog box in which you can edit the properties stored in TestStand files that contain pathnames. This method first launches a dialog box in which you can select which files to edit. After you select those files, this method launches a dialog box that shows all the path properties within those files. You can use this dialog box to change the paths stored in any TestStand file, including sequence files, workspace files, project files, engine configuration files, the station globals file, and the user file. Returns True if you modify one or more files from the dialog box. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies any combination of the EditPathsDialogOptions constants. Specifies an optional PropertyObjectFile object the dialog box initially selects in the list control. Launches the Run-Time Error dialog box to display error information for the specified sequence context. The sequence editor and user interfaces typically call this function in response to a UIMsg_BreakOnRunTimeError event. The dialog box allows the user to specify how the execution is to proceed. If you use this method within an Engine callback, use the ThisContext.Caller property to pass the sequence context of the sequence that generated the error. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the sequence context from the thread that caused the run-time error. Specify CommonDlgOption_NoOptions or CommonDlgOption_ModalToAppMainWnd. Returns a value that indicates whether the user wants the current execution to suspend at the location of the run-time error. Returns a value that indicates whether the user wants this dialog box to launch again if another run-time error occurs in the current execution. If this value is True, set the Execution.RTEOptionForThisExecution property to specify what to do on a run-time error for this execution. Returns a value that indicates whether the user wants this dialog box to launch again if another run-time error occurs in any execution that has a thread from the same batch as the thread in the sequence context you specify. If this value is True, call the Thread.SetBatchRTEOption method to set what to do on a run-time error for these executions. Returns the option the user selects in the dialog box to specify how the execution is to proceed. Launches the Run-Time Error dialog box to display error information for the specified sequence context. The sequence editor and user interfaces typically call this function in response to a UIMsg_BreakOnRunTimeError event. The dialog box allows the user to specify how the execution is to proceed. If you use this method within an Engine callback, use the ThisContext.Caller property to pass the sequence context of the sequence that generated the error. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the sequence context from the thread that caused the run-time error. Specify CommonDlgOption_NoOptions or CommonDlgOption_ModalToAppMainWnd. Returns a value that indicates whether the user wants the current execution to suspend at the location of the run-time error. Returns a value that indicates whether the user wants this dialog box to launch again if another run-time error occurs in the current execution. If this value is True, set the Execution.RTEOptionForThisExecution property to specify what to do on a run-time error for this execution. Returns a value that indicates whether the user wants this dialog box to launch again if another run-time error occurs in any execution that has a thread from the same batch as the thread in the sequence context you specify. If this value is True, call the Thread.SetBatchRTEOption method to set what to do on a run-time error for these executions. Returns the option the user selects in the dialog box to specify how the execution is to proceed. Launches a dialog box in which you can construct an expression string using variables, properties, constants, operators, and functions. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the object into which to browse. This is usually a SequenceContext object. You can use the SequenceFile.NewEditContext or Engine.NewEditContext methods to create a sequence context. Specifies the initial expression string for the dialog box. You can pass an empty string for this parameter. This string must be a localized expression. Specifies the zero-based index of the location in the initial expression where the selected text begins. If you want a cursor instead of selected text, pass the same index for selectionEndIn. Specifies the index of the location in the initial expression of the first character beyond the selected text. If you want a cursor instead of selected text, pass the same index for selectionStartIn. Pass -1 to select to the end of the text. Specifies the name of the initial variable or property to show as selected in the dialog box. You can pass an empty string for the parameter to select the first item. Specifies any combination of the BrowseExprDialogOptions constants. Returns the resulting expression from the dialog box when the user clicks OK. This expression string is a localized expression. You can convert a localized expression string to a standard form suitable for evaluation. Returns the index of the start of the selected text in the resulting expression when the user clicks OK. Returns the index of the first character beyond the selected text in the resulting expression when the user clicks OK. Launches a dialog box in which you can construct an expression string using variables, properties, constants, operators, and functions. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the object into which to browse. This is usually a SequenceContext object. You can use the SequenceFile.NewEditContext or Engine.NewEditContext methods to create a sequence context. Specifies the initial expression string for the dialog box. You can pass an empty string for this parameter. This string must be a localized expression. Specifies the zero-based index of the location in the initial expression where the selected text begins. If you want a cursor instead of selected text, pass the same index for selectionEndIn. Specifies the index of the location in the initial expression of the first character beyond the selected text. If you want a cursor instead of selected text, pass the same index for selectionStartIn. Pass -1 to select to the end of the text. Specifies the name of the initial variable or property to show as selected in the dialog box. You can pass an empty string for the parameter to select the first item. Specifies any combination of the BrowseExprDialogOptions constants. Returns the resulting expression from the dialog box when the user clicks OK. This expression string is a localized expression. You can convert a localized expression string to a standard form suitable for evaluation. Returns the index of the start of the selected text in the resulting expression when the user clicks OK. Returns the index of the first character beyond the selected text in the resulting expression when the user clicks OK. Saves all modified sequence files in the engine internal cache. If this method prompts the user to save a file and the user selects No, subsequent calls to this method do not prompt the user to save the file unless the file is modified further. Returns True if all modified files were saved successfully. Returns False if one or more files could not be saved or if the user cancels the operation. Specify one or more SaveAllSeqFileOptions constants. Use the bitwise-OR operator to specify multiple sequence file flags. Saves all modified sequence files in the engine internal cache. If this method prompts the user to save a file and the user selects No, subsequent calls to this method do not prompt the user to save the file unless the file is modified further. Returns True if all modified files were saved successfully. Returns False if one or more files could not be saved or if the user cancels the operation. Specify one or more SaveAllSeqFileOptions constants. Use the bitwise-OR operator to specify multiple sequence file flags. Calls the Front-End callback sequence the sequenceNameParam parameter specifies. Front-End callbacks, which are callbacks the TestStand Sequence Editor or a TestStand User Interface call, allow you to customize the sequence editors and user interfaces on the system. Each sequence editor or user interface chooses which Front-End callbacks it calls. The FrontEndCallbacks.seq file in the <TestStand>\Components\Callbacks\FrontEnd directory contains the Front-End callbacks National Instruments defines. Currently, National Instruments defines only the LoginLogout Front-End callback. You can override the National Instruments version of LoginLogout or add custom Front-End callbacks in the FrontEndCallbacks.seq file, which is located in the <TestStand Public>\Components\Callbacks\FrontEnd directory. The Execution object of the newly created execution. Specifies the name of the Front-End callback sequence to call. Specifies a PropertyObject that contains the parameters to pass to the sequence. Each subproperty of the PropertyObject represents a parameter to the sequence. The subproperties must appear in the same order as the sequence parameters. Specifies how to handle type conflicts. Note: This parameter is reserved. Calls the Front-End callback sequence the sequenceNameParam parameter specifies. Front-End callbacks, which are callbacks the TestStand Sequence Editor or a TestStand User Interface call, allow you to customize the sequence editors and user interfaces on the system. Each sequence editor or user interface chooses which Front-End callbacks it calls. The FrontEndCallbacks.seq file in the <TestStand>\Components\Callbacks\FrontEnd directory contains the Front-End callbacks National Instruments defines. Currently, National Instruments defines only the LoginLogout Front-End callback. You can override the National Instruments version of LoginLogout or add custom Front-End callbacks in the FrontEndCallbacks.seq file, which is located in the <TestStand Public>\Components\Callbacks\FrontEnd directory. The Execution object of the newly created execution. Specifies the name of the Front-End callback sequence to call. Specifies a PropertyObject that contains the parameters to pass to the sequence. Each subproperty of the PropertyObject represents a parameter to the sequence. The subproperties must appear in the same order as the sequence parameters. Specifies how to handle type conflicts. Note: This parameter is reserved. Launches a dialog box in which you can show, add, and remove Sequence File callbacks. Returns True if you make modifications and click OK in the dialog box. Returns False if you click Cancel or make no modifications. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Pass a SequenceFile object to specify which sequence file you want to edit. Specifies any combination of the CommonDialogOptions constants. Returns to the dialog box the name of the callback sequence the user chose to edit. An empty string indicates the user did not select a callback to edit. Returns the number of callbacks the dialog box added to the sequence file. Callbacks are added to the end of the list of sequences. Returns the number of callbacks that the dialog box deleted from the sequence file. Launches a dialog box in which you can show, add, and remove Sequence File callbacks. Returns True if you make modifications and click OK in the dialog box. Returns False if you click Cancel or make no modifications. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Pass a SequenceFile object to specify which sequence file you want to edit. Specifies any combination of the CommonDialogOptions constants. Returns to the dialog box the name of the callback sequence the user chose to edit. An empty string indicates the user did not select a callback to edit. Returns the number of callbacks the dialog box added to the sequence file. Callbacks are added to the end of the list of sequences. Returns the number of callbacks that the dialog box deleted from the sequence file. Returns the product registration information for this installation of TestStand. This method returns the information you entered at install time or from the National Instruments License Manager when activating the license for TestStand. Returns True if this is a registered installation of TestStand. Returns the name of the user currently logged into the National Instruments License Manager. Returns the company name of the user currently logged into the National Instruments License Manager. Returns the serial number for this installation of TestStand. Returns the product registration information for this installation of TestStand. This method returns the information you entered at install time or from the National Instruments License Manager when activating the license for TestStand. Returns True if this is a registered installation of TestStand. Returns the name of the user currently logged into the National Instruments License Manager. Returns the company name of the user currently logged into the National Instruments License Manager. Returns the serial number for this installation of TestStand. Note: This method is obsolete. The National Instruments License Manager sets user registration information when you activate TestStand. Sets the product registration information for this installation of TestStand. This method sets the information that you entered in the TestStand Product Registration dialog box, which launches the first time you launch the sequence editor after installation. Returns False This parameter is obsolete and no longer supported. This parameter is obsolete and no longer supported. This parameter is obsolete and no longer supported. Note: This method is obsolete. The National Instruments License Manager sets user registration information when you activate TestStand. Sets the product registration information for this installation of TestStand. This method sets the information that you entered in the TestStand Product Registration dialog box, which launches the first time you launch the sequence editor after installation. Returns False This parameter is obsolete and no longer supported. This parameter is obsolete and no longer supported. This parameter is obsolete and no longer supported. Releases the SequenceFile object from the internal cache of the engine. Call this method to release the sequence file you obtained from the Engine.NewSequenceFile or Engine.GetSequenceFileEx methods. This method removes a load reference from the sequence file. TestStand uses the load reference count to determine when to unload the sequence file from the internal cache of the engine. When you release the last load reference, TestStand unloads the file from the internal cache of the engine. While unloading the file from the internal cache of the engine, TestStand executes the SequenceFileUnload callback, if applicable. If this method generates an error, TestStand does not release the object from the internal cache of the engine. If your development environment requires you to explicitly release COM references, only release the COM reference to a SequenceFile object if this method succeeds. Use the ReleaseSeqFile_DoNotRunUnloadCallback option to prevent the SequenceFileUnload callback from running if the callback exists and the load reference being released is the last load reference. TestStand executes the SequenceFileUnloadCallback after this method returns. Note: Calling this method does not release the ActiveX reference to the sequence file. Returns True if the file was removed from the TestStand internal cache. Returns False if the file remained in the cache because it has multiple load references or if TestStand initiates the execution of the SequenceFileUnload callback sequence for the SequenceFile object. Refer to SequenceFile.CanUnload for more information about loading and unloading files in the cache. Specifies a reference to the sequence file to release. Specify one or more ReleaseSeqFileOptions constants. Use the bitwise-OR operator to specify multiple sequence file flags. Releases the SequenceFile object from the internal cache of the engine. Call this method to release the sequence file you obtained from the Engine.NewSequenceFile or Engine.GetSequenceFileEx methods. This method removes a load reference from the sequence file. TestStand uses the load reference count to determine when to unload the sequence file from the internal cache of the engine. When you release the last load reference, TestStand unloads the file from the internal cache of the engine. While unloading the file from the internal cache of the engine, TestStand executes the SequenceFileUnload callback, if applicable. If this method generates an error, TestStand does not release the object from the internal cache of the engine. If your development environment requires you to explicitly release COM references, only release the COM reference to a SequenceFile object if this method succeeds. Use the ReleaseSeqFile_DoNotRunUnloadCallback option to prevent the SequenceFileUnload callback from running if the callback exists and the load reference being released is the last load reference. TestStand executes the SequenceFileUnloadCallback after this method returns. Note: Calling this method does not release the ActiveX reference to the sequence file. Returns True if the file was removed from the TestStand internal cache. Returns False if the file remained in the cache because it has multiple load references or if TestStand initiates the execution of the SequenceFileUnload callback sequence for the SequenceFile object. Refer to SequenceFile.CanUnload for more information about loading and unloading files in the cache. Specifies a reference to the sequence file to release. Specify one or more ReleaseSeqFileOptions constants. Use the bitwise-OR operator to specify multiple sequence file flags. Specifies the current workspace file. Use this property to establish a connection to the source code control provider specified in the workspace file. If no current workspace file exists, this property is a NULL dispatch pointer or object reference. To disconnect the current source code control provider, set this property to NULL. Specifies the current workspace file. Use this property to establish a connection to the source code control provider specified in the workspace file. If no current workspace file exists, this property is a NULL dispatch pointer or object reference. To disconnect the current source code control provider, set this property to NULL. Returns the number of seconds since you created the engine. Returns the number of seconds since you created the engine. Notifies TestStand that the specified window is a modal dialog box. Call this method after you create a modal dialog box. TestStand disables the main application window and forwards any activation requests to the specified window. Call the Engine.UnregisterModalWindow method when the dialog box closes. You must call this method after you have created the dialog box window. An alternative to using this method is to call the Engine.NotifyStartOfModalDialogEx method, which you must call before creating the dialog box window. For a Microsoft Visual Basic modal dialog box, if you display the dialog box from multiple threads at the same time, you must use an executable ActiveX Automation server project and set the project settings to Thread Per Object. Returns the modalID to pass to the Engine.UnregisterModalWindow method when the dialog box no longer appears on screen. If you display the dialog box from the step of an execution, pass the sequence context of the step; otherwise, pass a NULL reference. If you pass a sequence context, this method serializes calls from multiple threads the same way the Engine.NotifyStartOfModalDialogEx method serializes calls. Specifies the window handle of the modal dialog box. Returns True when the user terminates or aborts the corresponding execution for the sequence context parameter you passed while you were blocked inside this method call. The step skips launching the dialog box and returns as soon as possible. You can call Engine.UnregisterModalWindow in this case, though it is not necessary. Notifies TestStand that the specified window is a modal dialog box. Call this method after you create a modal dialog box. TestStand disables the main application window and forwards any activation requests to the specified window. Call the Engine.UnregisterModalWindow method when the dialog box closes. You must call this method after you have created the dialog box window. An alternative to using this method is to call the Engine.NotifyStartOfModalDialogEx method, which you must call before creating the dialog box window. For a Microsoft Visual Basic modal dialog box, if you display the dialog box from multiple threads at the same time, you must use an executable ActiveX Automation server project and set the project settings to Thread Per Object. Returns the modalID to pass to the Engine.UnregisterModalWindow method when the dialog box no longer appears on screen. If you display the dialog box from the step of an execution, pass the sequence context of the step; otherwise, pass a NULL reference. If you pass a sequence context, this method serializes calls from multiple threads the same way the Engine.NotifyStartOfModalDialogEx method serializes calls. Specifies the window handle of the modal dialog box. Returns True when the user terminates or aborts the corresponding execution for the sequence context parameter you passed while you were blocked inside this method call. The step skips launching the dialog box and returns as soon as possible. You can call Engine.UnregisterModalWindow in this case, though it is not necessary. Notifies TestStand that the specified window is no longer a modal dialog box. Call this method when a dialog box you registered with the Engine.RegisterModalWindow method closes. Pass the modalID you receive as a return value from the Engine.RegisterModalWindow. Notifies TestStand that the specified window is no longer a modal dialog box. Call this method when a dialog box you registered with the Engine.RegisterModalWindow method closes. Pass the modalID you receive as a return value from the Engine.RegisterModalWindow. Launches a dialog box in which the user can select files or directories to open or to save. This method launches the TestStand File dialog box. Depending on the options you pass, TestStand selects a single file, multiple files, a single directory, or multiple directories. Additional options specify whether TestStand returns absolute or relative pathnames for the selected files. TestStand can return a relative pathname only when the file is located under one of the TestStand search directories. If the file is not located under any of the TestStand search directories and the user requests that TestStand return a relative pathname, the dialog box prompts the user to add the name of the directory that contains the file to the list of TestStand search directories. You can pass a SequenceFile object, WorkspaceFile object, or a project file object to include its directory among the list of search directories that are valid for a relative pathname. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies a string to display on the OK button. Pass an empty string to use the default. For a file selection dialog box, specify the path of the file you want the dialog box to display initially. If you specify the path of a directory, the filename control in the dialog box remains empty. For a directory selection dialog box, specify the path of the directory you want the user to browse initially. Pass an empty string to specify the current directory. The path must specify an existing file or directory. Returns the array of pathnames of the files or directories the user selected. The pathnames can be relative or absolute depending on the dialog box settings. Returns the array of absolute pathnames of the files or directories the user selected. Pass 0 for the default behavior, or pass one or more OpenFileDialogOptions constants. Use the bitwise-OR operator to specify multiple flags. Specifies the extension to append to the pathname if the user specifies no extension. Do not include the period in the extension. Specifies the Microsoft Windows file dialog flags. Specifies the extensions files must have to appear in the dialog box. Each filter the string contains has two parts. The first part is a descriptive name for the filter and the second part lists the extensions the file can have. Specify multiple extensions using a semi-colon (;) as a delimiter, and end each section with a vertical bar (|). End the string with a final vertical bar (|). The following example illustrates this format: "Sequence Files (*.seq)|*.seq|Report Files (*.txt;*.htm;*.html)|*.txt;*.htm;*.html||" Pass a PropertyObjectFile object for a sequence file, workspace file, or project file if you want to include the directory of the file in the list of search directories that are valid for a relative pathname. The search directory "current sequence file" refers to the object passed as this parameter. If you pass a workspace file or project file, TestStand searches the directory of the file before searching the other search directories for the relative pathname. When passed as an input parameter, the parameter specifies the file type to be initially selected in the File Type ring control. The index corresponding to the selected file type within the list control is returned as an output parameter. Pass an array of strings if you want to set the contents of the directory history combo box in the dialog box. If you omit this parameter, TestStand sets the contents of the combo box with a default history list. Launches a dialog box in which the user can select files or directories to open or to save. This method launches the TestStand File dialog box. Depending on the options you pass, TestStand selects a single file, multiple files, a single directory, or multiple directories. Additional options specify whether TestStand returns absolute or relative pathnames for the selected files. TestStand can return a relative pathname only when the file is located under one of the TestStand search directories. If the file is not located under any of the TestStand search directories and the user requests that TestStand return a relative pathname, the dialog box prompts the user to add the name of the directory that contains the file to the list of TestStand search directories. You can pass a SequenceFile object, WorkspaceFile object, or a project file object to include its directory among the list of search directories that are valid for a relative pathname. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies a string to display on the OK button. Pass an empty string to use the default. For a file selection dialog box, specify the path of the file you want the dialog box to display initially. If you specify the path of a directory, the filename control in the dialog box remains empty. For a directory selection dialog box, specify the path of the directory you want the user to browse initially. Pass an empty string to specify the current directory. The path must specify an existing file or directory. Returns the array of pathnames of the files or directories the user selected. The pathnames can be relative or absolute depending on the dialog box settings. Returns the array of absolute pathnames of the files or directories the user selected. Pass 0 for the default behavior, or pass one or more OpenFileDialogOptions constants. Use the bitwise-OR operator to specify multiple flags. Specifies the extension to append to the pathname if the user specifies no extension. Do not include the period in the extension. Specifies the Microsoft Windows file dialog flags. Specifies the extensions files must have to appear in the dialog box. Each filter the string contains has two parts. The first part is a descriptive name for the filter and the second part lists the extensions the file can have. Specify multiple extensions using a semi-colon (;) as a delimiter, and end each section with a vertical bar (|). End the string with a final vertical bar (|). The following example illustrates this format: "Sequence Files (*.seq)|*.seq|Report Files (*.txt;*.htm;*.html)|*.txt;*.htm;*.html||" Pass a PropertyObjectFile object for a sequence file, workspace file, or project file if you want to include the directory of the file in the list of search directories that are valid for a relative pathname. The search directory "current sequence file" refers to the object passed as this parameter. If you pass a workspace file or project file, TestStand searches the directory of the file before searching the other search directories for the relative pathname. When passed as an input parameter, the parameter specifies the file type to be initially selected in the File Type ring control. The index corresponding to the selected file type within the list control is returned as an output parameter. Pass an array of strings if you want to set the contents of the directory history combo box in the dialog box. If you omit this parameter, TestStand sets the contents of the combo box with a default history list. Serializes PropertyObject objects into a string. This method converts one or more objects into a string that can be unserialized using the Engine.UnserializeObjects method. Typically, you use the SerializeObjects and Engine.UnserializeObjects methods to put TestStand data on the Microsoft Windows clipboard and to obtain data from it. If you call this method on an alias object, TestStand generates the stream using the object to which the alias refers. This method does not include alias subproperty objects in the stream. Refer to PropertyObject.IsAliasObject for more information about alias objects. Use the Engine.UnserializeObjectsAndTypes method instead of Engine.UnserializeObjects if you intend to insert the array of property objects generated from the stream into a property object file. Also add the types the Engine.UnserializeObjectsAndTypes method returns to the file by calling the TypeUsageList.Union method on the object the PropertyObjectFile.TypeUsageList property returns. Pass the typesUsed output value as the unionTypeUsageList parameter to TypeUsageList.Union. When you unserialize a step or a sequence, call the Step.CreateNewUniqueStepId, Sequence.CreateNewUniqueStepIds, or Engine.CreateNewUniqueStepIds methods to replace the unique step ID with a new unique ID. Returns the string that contains the serialized objects. Pass the array of property objects to serialize. Specify one or more SerializationOptions using a bitwise combination. This parameter specifies options for how you want to serialize the data. National Instruments recommends using the SerializationOption_UseBinary option for best performance and memory usage, unless you need to parse or read the data more easily. The Engine.UnserializeObjects and Engine.UnserializeObjectsAndTypes methods always autodetect and unserialize the data appropriately. Serializes PropertyObject objects into a string. This method converts one or more objects into a string that can be unserialized using the Engine.UnserializeObjects method. Typically, you use the SerializeObjects and Engine.UnserializeObjects methods to put TestStand data on the Microsoft Windows clipboard and to obtain data from it. If you call this method on an alias object, TestStand generates the stream using the object to which the alias refers. This method does not include alias subproperty objects in the stream. Refer to PropertyObject.IsAliasObject for more information about alias objects. Use the Engine.UnserializeObjectsAndTypes method instead of Engine.UnserializeObjects if you intend to insert the array of property objects generated from the stream into a property object file. Also add the types the Engine.UnserializeObjectsAndTypes method returns to the file by calling the TypeUsageList.Union method on the object the PropertyObjectFile.TypeUsageList property returns. Pass the typesUsed output value as the unionTypeUsageList parameter to TypeUsageList.Union. When you unserialize a step or a sequence, call the Step.CreateNewUniqueStepId, Sequence.CreateNewUniqueStepIds, or Engine.CreateNewUniqueStepIds methods to replace the unique step ID with a new unique ID. Returns the string that contains the serialized objects. Pass the array of property objects to serialize. Specify one or more SerializationOptions using a bitwise combination. This parameter specifies options for how you want to serialize the data. National Instruments recommends using the SerializationOption_UseBinary option for best performance and memory usage, unless you need to parse or read the data more easily. The Engine.UnserializeObjects and Engine.UnserializeObjectsAndTypes methods always autodetect and unserialize the data appropriately. Converts a string of serialized objects into an array of PropertyObjects. Call this method to convert the return value of the Engine.SerializeObjects method into an array of objects. Typically, you use the Engine.SerializeObjects method and this method to put TestStand data on the Microsoft Windows clipboard and to obtain data from it. Use the Engine.UnserializeObjectsAndTypes method instead of this method if you intend to insert the array of property objects generated from the stream into a property object file. Also add the types the Engine.UnserializeObjectsAndTypes method returns to the file. You can add the types to the file by calling the TypeUsageList.Union method on the object the PropertyObjectFile.TypeUsageList property returns. Pass the typesUsed output value as the unionTypeUsageList parameter to TypeUsageList.Union. When you unserialize a step or a sequence, call the Step.CreateNewUniqueStepId, Sequence.CreateNewUniqueStepIds, or Engine.CreateNewUniqueStepIds method to replace the unique step ID with a new unique ID. Returns the array of unserialized property objects. Specifies the serialized objects the Engine.SerializeObjects method creates. Pass 0. Specifies how to handle type conflicts in the stream. Converts a string of serialized objects into an array of PropertyObjects. Call this method to convert the return value of the Engine.SerializeObjects method into an array of objects. Typically, you use the Engine.SerializeObjects method and this method to put TestStand data on the Microsoft Windows clipboard and to obtain data from it. Use the Engine.UnserializeObjectsAndTypes method instead of this method if you intend to insert the array of property objects generated from the stream into a property object file. Also add the types the Engine.UnserializeObjectsAndTypes method returns to the file. You can add the types to the file by calling the TypeUsageList.Union method on the object the PropertyObjectFile.TypeUsageList property returns. Pass the typesUsed output value as the unionTypeUsageList parameter to TypeUsageList.Union. When you unserialize a step or a sequence, call the Step.CreateNewUniqueStepId, Sequence.CreateNewUniqueStepIds, or Engine.CreateNewUniqueStepIds method to replace the unique step ID with a new unique ID. Returns the array of unserialized property objects. Specifies the serialized objects the Engine.SerializeObjects method creates. Pass 0. Specifies how to handle type conflicts in the stream. Note: This property is obsolete. Use the StationOptions.CheckOutFilesWhenEdited property instead. Specifies if the sequence editor checks a file out from source code control when you attempt to modify the file in the sequence editor. The default value is True. When this property is True while a current workspace is specified, attempts to edit a file that is checked in the sequence editor launch a prompt to check the file out from source code control. If this property is False, the sequence editor edits the file without checking the file out. Note: This property is obsolete. Use the StationOptions.CheckOutFilesWhenEdited property instead. Specifies if the sequence editor checks a file out from source code control when you attempt to modify the file in the sequence editor. The default value is True. When this property is True while a current workspace is specified, attempts to edit a file that is checked in the sequence editor launch a prompt to check the file out from source code control. If this property is False, the sequence editor edits the file without checking the file out. Note: This property is obsolete. Use the StationOptions.CheckOutOnlySelectedFiles property instead. A workspace file contains a list of project files, each project file contains a lists of sequence files, and a sequence file can contain lists of code modules and other files. When you set this option to True, the sequence editor displays only the selected file, such as a project file, in the Source Code Control Operations dialog box. When this option is False, the sequence editor displays the selected item and all the items it contains in the Source Code Control Operations dialog box. Note: This property is obsolete. Use the StationOptions.CheckOutOnlySelectedFiles property instead. A workspace file contains a list of project files, each project file contains a lists of sequence files, and a sequence file can contain lists of code modules and other files. When you set this option to True, the sequence editor displays only the selected file, such as a project file, in the Source Code Control Operations dialog box. When this option is False, the sequence editor displays the selected item and all the items it contains in the Source Code Control Operations dialog box. Specifies the pathname of the workspace file that was open when the sequence editor last shut down. When the sequence editor shuts down, it sets this property to the pathname of the current workspace file. If no workspace file is currently open, the sequence editor sets this property to an empty string. If the StationOptions.ReloadWorkspaceAtStartup property is True, the sequence editor loads the workspace file that the last workspace pathname specifies. Specifies the pathname of the workspace file that was open when the sequence editor last shut down. When the sequence editor shuts down, it sets this property to the pathname of the current workspace file. If no workspace file is currently open, the sequence editor sets this property to an empty string. If the StationOptions.ReloadWorkspaceAtStartup property is True, the sequence editor loads the workspace file that the last workspace pathname specifies. Note: This property is obsolete. Use the StationOptions.PromptWhenAddingFilesToSC property instead. Specifies if the sequence editor prompts you to add files to source code control when you add files to a workspace. When this option is True, the sequence editor launches a dialog box in which you can add files to source code control whenever you add them to a workspace file. When this option is False, the sequence editor does not launch a dialog box. Note: This property is obsolete. Use the StationOptions.PromptWhenAddingFilesToSC property instead. Specifies if the sequence editor prompts you to add files to source code control when you add files to a workspace. When this option is True, the sequence editor launches a dialog box in which you can add files to source code control whenever you add them to a workspace file. When this option is False, the sequence editor does not launch a dialog box. Note: This property is obsolete. Use the StationOptions.ReloadDocsWhenOpeningWorkspace property instead. Specifies if the sequence editor opens the documents that were open when the workspace was unloaded. If this property is True and you open a workspace file, the sequence editor opens the documents that were open when the workspace file was last closed. Note: This property is obsolete. Use the StationOptions.ReloadDocsWhenOpeningWorkspace property instead. Specifies if the sequence editor opens the documents that were open when the workspace was unloaded. If this property is True and you open a workspace file, the sequence editor opens the documents that were open when the workspace file was last closed. Note: This property is obsolete. Use the StationOptions.ReloadWorkspaceAtStartup property instead. Specifies if the sequence editor opens the last workspace file when it launches. If this option is True when the sequence editor launches, the sequence editor loads the workspace file the Engine.LastWorkspacePath property specifies. Note: This property is obsolete. Use the StationOptions.ReloadWorkspaceAtStartup property instead. Specifies if the sequence editor opens the last workspace file when it launches. If this option is True when the sequence editor launches, the sequence editor loads the workspace file the Engine.LastWorkspacePath property specifies. Note: This property is obsolete. Use the StationOptions.UseDialogForCheckOut property instead. Specifies if the sequence editor launches a dialog box to check out files from source code control. When this property is True, the sequence editor always launches a dialog box when you check out files from source code control. When this property is False, the sequence editor checks out the files without launching a dialog box. Note: This property is obsolete. Use the StationOptions.UseDialogForCheckOut property instead. Specifies if the sequence editor launches a dialog box to check out files from source code control. When this property is True, the sequence editor always launches a dialog box when you check out files from source code control. When this property is False, the sequence editor checks out the files without launching a dialog box. Launches a dialog box in which you select and edit a workspace file. User interfaces use this method to allow users to select a workspace file, load and unload a workspace file, edit the files in the workspace file and project files, and perform SCC operations. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies any combination of the WorkspaceBrowserDialogOptions constants. Pass WorkspaceBrowserDlgOption_Editable to enable editing of the workspace. Use the bitwise-OR operator to specify more than one option. Launches a dialog box in which you select and edit a workspace file. User interfaces use this method to allow users to select a workspace file, load and unload a workspace file, edit the files in the workspace file and project files, and perform SCC operations. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies any combination of the WorkspaceBrowserDialogOptions constants. Pass WorkspaceBrowserDlgOption_Editable to enable editing of the workspace. Use the bitwise-OR operator to specify more than one option. Returns an array of PropertyObjectFile objects that use the specified type name. A PropertyObjectFile object uses a type if it has an instance of the type or if the type is stored in the TypeUsageList for that file. An array of PropertyObjectFile objects that use the type that the type name specifies. Specifies the name of the type. Returns an array of PropertyObjectFile objects that use the specified type name. A PropertyObjectFile object uses a type if it has an instance of the type or if the type is stored in the TypeUsageList for that file. An array of PropertyObjectFile objects that use the type that the type name specifies. Specifies the name of the type. Note: This property is obsolete. Use the StationOptions.ShowHiddenProperties property instead. Specifies whether to display in user interfaces properties marked as hidden. When this property is True, the sequence editor and user interfaces display all subproperties of property objects in dialog boxes and variables views. When this property is False, the sequence editor does not show subproperties marked with the PropFlags_Hidden flag. Note: This property is obsolete. Use the StationOptions.ShowHiddenProperties property instead. Specifies whether to display in user interfaces properties marked as hidden. When this property is True, the sequence editor and user interfaces display all subproperties of property objects in dialog boxes and variables views. When this property is False, the sequence editor does not show subproperties marked with the PropFlags_Hidden flag. Returns the PropertyObject object for the specified type name. The returned PropertyObject object is the type definition for the specified type name. The type definition PropertyObject. Returns NULL or 0 if the type definition does not exist. Specifies the name of the type to obtain. Returns the PropertyObject object for the specified type name. The returned PropertyObject object is the type definition for the specified type name. The type definition PropertyObject. Returns NULL or 0 if the type definition does not exist. Specifies the name of the type to obtain. Returns an array of all currently loaded type names. An array of strings that contains the names of all currently loaded types. Returns an array of all currently loaded type names. An array of strings that contains the names of all currently loaded types. Creates and returns a new TestStand data type. This method creates a PropertyObject object that is a data type. Once you create a data type, you can use the Engine.NewPropertyObject method to create an instance of the type. You can add the type to a TypeUsageList to associate the type with a particular PropertyObjectFile. Note: TestStand does not validate data type names you create programmatically for invalid characters, such as spaces, which can result in errors when you use the data type. Use the TypeUsageList.ValidateNewTypeName method to validate type names. TestStand requires data type names to be strings that contain only letters, numbers, and underscores. Type names cannot duplicate type names already in memory. The newly created data type. Specifies the type of value you want instances of the type to contain. Pass True if you want the type to be an array. If you pass PropValType_NamedType for the ValueType, pass the name of the type for this parameter. Otherwise, pass an empty string. If you pass a type name, the type must not already be in memory. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Creates and returns a new TestStand data type. This method creates a PropertyObject object that is a data type. Once you create a data type, you can use the Engine.NewPropertyObject method to create an instance of the type. You can add the type to a TypeUsageList to associate the type with a particular PropertyObjectFile. Note: TestStand does not validate data type names you create programmatically for invalid characters, such as spaces, which can result in errors when you use the data type. Use the TypeUsageList.ValidateNewTypeName method to validate type names. TestStand requires data type names to be strings that contain only letters, numbers, and underscores. Type names cannot duplicate type names already in memory. The newly created data type. Specifies the type of value you want instances of the type to contain. Pass True if you want the type to be an array. If you pass PropValType_NamedType for the ValueType, pass the name of the type for this parameter. Otherwise, pass an empty string. If you pass a type name, the type must not already be in memory. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Creates a PropertyObject object that specifies the structure of the menu used to insert steps in the sequence editor. The sequence editor uses this method to create the submenu that appears when you select Insert Step from the Steps pane context menu. The structure of this menu depends upon the types in the type palettes, the types in the sequence file, the default adapter, and the step type menu configuration. This method constructs a PropertyObject object that contains properties that specify the submenu structure. The object that specifies the menu structure. Specifies the currently selected file. The method includes the step types defined in this file as well as the step types located in the type palette. Pass 0 or NULL if there is no selected file. Pass a set of PropertyFlags that specify which step types are not included in the menu. For example, pass PropFlags_Hidden to exclude the hidden step types. Creates a PropertyObject object that specifies the structure of the menu used to insert steps in the sequence editor. The sequence editor uses this method to create the submenu that appears when you select Insert Step from the Steps pane context menu. The structure of this menu depends upon the types in the type palettes, the types in the sequence file, the default adapter, and the step type menu configuration. This method constructs a PropertyObject object that contains properties that specify the submenu structure. The object that specifies the menu structure. Specifies the currently selected file. The method includes the step types defined in this file as well as the step types located in the type palette. Pass 0 or NULL if there is no selected file. Pass a set of PropertyFlags that specify which step types are not included in the menu. For example, pass PropFlags_Hidden to exclude the hidden step types. Returns the name of the computer on which the TestStand Engine was created. Returns the name of the computer on which the TestStand Engine was created. Returns an identification string that is unique among all instances of the TestStand Engine. Use this string to uniquely identify a particular instance of an engine. The returned string is a representation of a UUID or GUID, such as "6B29FC40-CA47-1067-B31D-00DD010662DA." Returns an identification string that is unique among all instances of the TestStand Engine. Use this string to uniquely identify a particular instance of an engine. The returned string is a representation of a UUID or GUID, such as "6B29FC40-CA47-1067-B31D-00DD010662DA." Note: This method is obsolete. Use the Engine.GetEditTimeToolMenuItems and Engine.GetRunTimeToolMenuItems methods instead. Obtains a PropertyObject object that specifies the structure of the Tools menu. Note: You must call the Engine.ConstructToolMenus method before calling this function. You can use this method to obtain information about the Tools menu items instead of using the Engine.GetNumToolMenus, Engine.GetNumToolMenuItems, Engine.GetToolMenuItemInfoEx, and Engine.GetToolMenuItemInfoWithIDEx methods. The object that specifies the menu structure. See MenuItemProperties for a description of this property object. Note: This method is obsolete. Use the Engine.GetEditTimeToolMenuItems and Engine.GetRunTimeToolMenuItems methods instead. Obtains a PropertyObject object that specifies the structure of the Tools menu. Note: You must call the Engine.ConstructToolMenus method before calling this function. You can use this method to obtain information about the Tools menu items instead of using the Engine.GetNumToolMenus, Engine.GetNumToolMenuItems, Engine.GetToolMenuItemInfoEx, and Engine.GetToolMenuItemInfoWithIDEx methods. The object that specifies the menu structure. See MenuItemProperties for a description of this property object. Note: This property is obsolete. Use the StationOptions.RequireUserLogin property instead. Specifies if the sequence editor or user interfaces require that a user be logged in. TestStand uses this property only when Engine.EnableUserPrivilegeChecking is True. When this property is True, TestStand disables the user interfaces until a user successfully logs in. Note: The Engine.EnableUserPrivilegeChecking property is obsolete. Use the StationOptions.EnableUserPrivilegeChecking property instead. Note: This property is obsolete. Use the StationOptions.RequireUserLogin property instead. Specifies if the sequence editor or user interfaces require that a user be logged in. TestStand uses this property only when Engine.EnableUserPrivilegeChecking is True. When this property is True, TestStand disables the user interfaces until a user successfully logs in. Note: The Engine.EnableUserPrivilegeChecking property is obsolete. Use the StationOptions.EnableUserPrivilegeChecking property instead. Specifies the list of directories to display in the directory history list in the File dialog box. The dialog box the Engine.DisplayFileDialog method launches has a directory history control that lists the directories that the user most recently visited. Use this property to customize the contents of that control. When the dialog box opens, it initializes the control with the values specified by this property. When the dialog box closes, it updates this property to contain the current contents of the control. An array of strings that specify the paths to be inserted in the directory history list control in the File dialog box. Specifies the list of directories to display in the directory history list in the File dialog box. The dialog box the Engine.DisplayFileDialog method launches has a directory history control that lists the directories that the user most recently visited. Use this property to customize the contents of that control. When the dialog box opens, it initializes the control with the values specified by this property. When the dialog box closes, it updates this property to contain the current contents of the control. An array of strings that specify the paths to be inserted in the directory history list control in the File dialog box. Determines whether you can create a new step of the specified type. The Engine.NewStep method reports an error if this method returns False. Specifies the key name of the module Adapter object to use to create the step. Pass an empty string to use the adapter the step type designates or to use the adapter the Engine.DefaultAdapter property specifies if the step has no designated adapter. Specifies the name of the step type with which to create the step. The step type must already be in memory. Refer to Engine.GetTypeNames for a list of names for the built-in step types and other types. Determines whether you can create a new step of the specified type. The Engine.NewStep method reports an error if this method returns False. Specifies the key name of the module Adapter object to use to create the step. Pass an empty string to use the adapter the step type designates or to use the adapter the Engine.DefaultAdapter property specifies if the step has no designated adapter. Specifies the name of the step type with which to create the step. The step type must already be in memory. Refer to Engine.GetTypeNames for a list of names for the built-in step types and other types. Searches for all instances of the specified type definition in the TestStand Engine and sets the values and flags of each type definition instance to the default value and flags for the type. Use this method to apply the value of a type definition property to all instances of the type. Normally, when you change the value of a type definition property, the values in the instances of the type do not change. Note: Calling this method does not affect instances in unopened files on disk. In addition, this method ignores the subproperties of typeParam unless you pass the ResetTypeInst_RecurseSubProperties constant as an option. Returns True if this method finds any type instances or returns False if it finds none. Specifies a type definition or a subproperty of a type definition. Pass one or more ResetTypeInstancesOptions constants to specify different options. Use the bitwise-OR operator to specify more than one option. If you want to reset the values/flags of all the subproperties in all instances of a type, pass ResetTypeInst_RecurseSubProperties using the bitwise-OR operator with ResetTypeInst_ResetFlags or ResetTypeInst_ResetValues.Note: Avoid using the ResetTypeInst_ResetFlags flag because it might result in unexpected behavior. In most cases, you should not reset certain flags on type instances. For example, the PropFlags_PassByReference flag is set on parameters of Sequence Call steps. Calling the Engine.ResetTypeInstances method on a type can change whether TestStand passes a sequence parameter that is an instance of the type by reference. Searches for all instances of the specified type definition in the TestStand Engine and sets the values and flags of each type definition instance to the default value and flags for the type. Use this method to apply the value of a type definition property to all instances of the type. Normally, when you change the value of a type definition property, the values in the instances of the type do not change. Note: Calling this method does not affect instances in unopened files on disk. In addition, this method ignores the subproperties of typeParam unless you pass the ResetTypeInst_RecurseSubProperties constant as an option. Returns True if this method finds any type instances or returns False if it finds none. Specifies a type definition or a subproperty of a type definition. Pass one or more ResetTypeInstancesOptions constants to specify different options. Use the bitwise-OR operator to specify more than one option. If you want to reset the values/flags of all the subproperties in all instances of a type, pass ResetTypeInst_RecurseSubProperties using the bitwise-OR operator with ResetTypeInst_ResetFlags or ResetTypeInst_ResetValues.Note: Avoid using the ResetTypeInst_ResetFlags flag because it might result in unexpected behavior. In most cases, you should not reset certain flags on type instances. For example, the PropFlags_PassByReference flag is set on parameters of Sequence Call steps. Calling the Engine.ResetTypeInstances method on a type can change whether TestStand passes a sequence parameter that is an instance of the type by reference. Note: This method is obsolete. Use the Engine.DisplayStepTypeMenuEditorEx method instead. Launches a dialog box in which you can edit the order in which step types appear in the Insert Step submenu. Returns True if you make modifications and click OK in the dialog box. Returns False if you click Cancel or make no modifications. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Pass True when editing the menu information for substeps. Specify CommonDlgOption_NoOptions or CommonDlgOption_ModalToAppMainWnd. Note: This method is obsolete. Use the Engine.DisplayStepTypeMenuEditorEx method instead. Launches a dialog box in which you can edit the order in which step types appear in the Insert Step submenu. Returns True if you make modifications and click OK in the dialog box. Returns False if you click Cancel or make no modifications. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Pass True when editing the menu information for substeps. Specify CommonDlgOption_NoOptions or CommonDlgOption_ModalToAppMainWnd. Returns a list of symbols from the TestStand string resource file for the current language. You specify the categories, which are the sections in the string resource file. The string resource files are located in the <TestStand>\Components\Language and "<TestStand Public>\Components\Language directories. You can customize the strings in the resource files in the <TestStand>\Components\Language directory by adding a section and item with the same name to the corresponding file in the <TestStand Public>\Components\Language directory. An array of strings that contains the names of all the symbols under the given category. Specifies the category or section label. Returns a list of symbols from the TestStand string resource file for the current language. You specify the categories, which are the sections in the string resource file. The string resource files are located in the <TestStand>\Components\Language and "<TestStand Public>\Components\Language directories. You can customize the strings in the resource files in the <TestStand>\Components\Language directory by adding a section and item with the same name to the corresponding file in the <TestStand Public>\Components\Language directory. An array of strings that contains the names of all the symbols under the given category. Specifies the category or section label. Checks the validity of the expression parameter and returns error information. This method is similar to the Engine.CheckExprSyntax method, except it checks the validity of variables in the expression. Returns True if the expression is correct. Returns False if the expression contains an error. If it returns False, check the errorDescription, startErrPos, and endErrPos parameters for more information. Specifies the context in which to evaluate the expression. This method uses this object to determine whether variables in the expression are valid. If you pass a NULL reference, this method checks only the expression syntax. Specifies the expression to check. Pass 0 to specify the default behavior, or pass one or more EvaluationOptions constants. Use the bitwise-OR operator to specify multiple options. When an error exists, this parameter returns an error message describing the type of error. When an error exists, this parameter returns the index of the location in the string where the error begins. When an error exists, this parameter returns the index of the location in the string of the first character beyond the error. Checks the validity of the expression parameter and returns error information. This method is similar to the Engine.CheckExprSyntax method, except it checks the validity of variables in the expression. Returns True if the expression is correct. Returns False if the expression contains an error. If it returns False, check the errorDescription, startErrPos, and endErrPos parameters for more information. Specifies the context in which to evaluate the expression. This method uses this object to determine whether variables in the expression are valid. If you pass a NULL reference, this method checks only the expression syntax. Specifies the expression to check. Pass 0 to specify the default behavior, or pass one or more EvaluationOptions constants. Use the bitwise-OR operator to specify multiple options. When an error exists, this parameter returns an error message describing the type of error. When an error exists, this parameter returns the index of the location in the string where the error begins. When an error exists, this parameter returns the index of the location in the string of the first character beyond the error. Launches a dialog box in which you can see the structure of a PropertyObject object. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the object into which to browse. Specifies a lookup string for the subproperty of the object to select initially. Specify CommonDlgOption_NoOptions or CommonDlgOption_ModalToAppMainWind. Launches a dialog box in which you can see the structure of a PropertyObject object. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the object into which to browse. Specifies a lookup string for the subproperty of the object to select initially. Specify CommonDlgOption_NoOptions or CommonDlgOption_ModalToAppMainWind. Note: This property is obsolete. Use the CVIAdapter.ExecutionServerProjectPathName property instead. Changes the project in which LabWindows/CVI Adapter steps are executed when the CVIAdapter.ExecuteStepsInCVI property is True. The value of this property can be a relative or absolute path. If you specify a relative path, TestStand looks in the search directories for the file. Note: The CVIAdapter_ExecuteStepsInCVI property is obsolete. Use the CVIAdapter.ExecuteStepsInExternalInstance property instead. Note: This property is obsolete. Use the CVIAdapter.ExecutionServerProjectPathName property instead. Changes the project in which LabWindows/CVI Adapter steps are executed when the CVIAdapter.ExecuteStepsInCVI property is True. The value of this property can be a relative or absolute path. If you specify a relative path, TestStand looks in the search directories for the file. Note: The CVIAdapter_ExecuteStepsInCVI property is obsolete. Use the CVIAdapter.ExecuteStepsInExternalInstance property instead. Note: This property is obsolete. Use the CVIAdapter.ExecuteStepsInExternalInstance property instead. Indicates whether the LabWindows/CVI Adapter executes steps in an external LabWindows/CVI process rather than internally. While running steps in an external LabWindows/CVI process is slower, you can use this property to debug steps more easily. Changing this setting causes all modules to be unloaded. Note: This property is obsolete. Use the CVIAdapter.ExecuteStepsInExternalInstance property instead. Indicates whether the LabWindows/CVI Adapter executes steps in an external LabWindows/CVI process rather than internally. While running steps in an external LabWindows/CVI process is slower, you can use this property to debug steps more easily. Changing this setting causes all modules to be unloaded. Note: This property is obsolete. Use the StationOptions.StationID property instead. Specifies a test station identification string for this instance of the TestStand Engine. Note: This property never returns an empty string. If you set this property to an empty string, the property returns the same value as the Engine.ComputerName property. Note: This property is obsolete. Use the StationOptions.StationID property instead. Specifies a test station identification string for this instance of the TestStand Engine. Note: This property never returns an empty string. If you set this property to an empty string, the property returns the same value as the Engine.ComputerName property. Returns a SequenceContext object that approximates the sequence context TestStand creates when you run a sequence. You can pass the object this method returns as a parameter to the Engine.DisplayBrowseExprDialogEx and Engine.DisplayBrowsePropertyObjectDialog methods. When you pass an array of step references, this method returns a context with a Step property that represents multiple steps, where the subproperties of Step contain only properties common to all steps in the array. Use the context with SequenceContext.GetMultipleValues to determine whether an element of the property, such as the value, comment, format, or flags, represents the shared element value for all the steps in the array. If at least one step has a different value for an element, the property element in the context contains a default value. A reference to a SequenceContext object. Release this reference when you are finished using it. Specifies the object to initialize the sequence context. You can pass a sequence file, sequence, step, variable, or array of object references to steps. This method sets the sequence context properties that correspond to the object you pass. Specifies an EditArgs object that indicates which items are currently selected in the user interface. Returns the lookupString for the object passed in. Use this lookupString to access the object from the sequence context. Returns a SequenceContext object that approximates the sequence context TestStand creates when you run a sequence. You can pass the object this method returns as a parameter to the Engine.DisplayBrowseExprDialogEx and Engine.DisplayBrowsePropertyObjectDialog methods. When you pass an array of step references, this method returns a context with a Step property that represents multiple steps, where the subproperties of Step contain only properties common to all steps in the array. Use the context with SequenceContext.GetMultipleValues to determine whether an element of the property, such as the value, comment, format, or flags, represents the shared element value for all the steps in the array. If at least one step has a different value for an element, the property element in the context contains a default value. A reference to a SequenceContext object. Release this reference when you are finished using it. Specifies the object to initialize the sequence context. You can pass a sequence file, sequence, step, variable, or array of object references to steps. This method sets the sequence context properties that correspond to the object you pass. Specifies an EditArgs object that indicates which items are currently selected in the user interface. Returns the lookupString for the object passed in. Use this lookupString to access the object from the sequence context. Returns the name of the image at the specified index. Typically, the name includes a filename and the extension. The name of the image at the index. Specifies the image index. The image index must be less than the number of images in the image lists. Returns the name of the image at the specified index. Typically, the name includes a filename and the extension. The name of the image at the index. Specifies the image index. The image index must be less than the number of images in the image lists. Returns the index of the image with the specified name, which you can use to access the list of images returned from the Engine.LargeImageListEx and Engine.SmallImageListEx properties. The index of the image in both of the engine image lists. Returns -1 if the image name is not found. Specifies the name of the image. Typically, the name includes a filename and the extension. Returns the index of the image with the specified name, which you can use to access the list of images returned from the Engine.LargeImageListEx and Engine.SmallImageListEx properties. The index of the image in both of the engine image lists. Returns -1 if the image name is not found. Specifies the name of the image. Typically, the name includes a filename and the extension. Returns the number of images in the large and small image lists. Returns the number of images in the large and small image lists. Note: This property is obsolete. Use the StationOptions.SeqFileVersionAutoIncrementOpt property instead. Specifies if sequence file versions are automatically incremented when the file is saved. Note: This property is obsolete. Use the StationOptions.SeqFileVersionAutoIncrementOpt property instead. Specifies if sequence file versions are automatically incremented when the file is saved. Note: This method is obsolete. Use the Engine.LoadTypePaletteFilesEx method instead. Loads the TestStand Engine list of type palette files. Type palette files contain step type and data type definitions. LoadTypePaletteFiles is the method the sequence editor and user interfaces call on the TestStand Engine to load these files when they launch. You can call this method outside of the sequence editor or a user interface if an instance of the TestStand Engine has been created and the type palette files need to be loaded. Note: This method is obsolete. Use the Engine.LoadTypePaletteFilesEx method instead. Loads the TestStand Engine list of type palette files. Type palette files contain step type and data type definitions. LoadTypePaletteFiles is the method the sequence editor and user interfaces call on the TestStand Engine to load these files when they launch. You can call this method outside of the sequence editor or a user interface if an instance of the TestStand Engine has been created and the type palette files need to be loaded. Unloads the TestStand Engine list of type palette files. Type palette files contain step type and data type definitions. UnloadTypePaletteFiles is the method the sequence editor and user interfaces call on the TestStand Engine to unload these files when they exit. If the Engine.LoadTypePaletteFilesEx method was previously called, call this method to unload the type palette files. Unloads the TestStand Engine list of type palette files. Type palette files contain step type and data type definitions. UnloadTypePaletteFiles is the method the sequence editor and user interfaces call on the TestStand Engine to unload these files when they exit. If the Engine.LoadTypePaletteFilesEx method was previously called, call this method to unload the type palette files. Returns the list of currently loaded type palette files in the TestStand Engine. Type palette files contain step type and data type definitions. The TestStand Engine loads these files when the sequence editor and user interfaces launch. Call this method to obtain the list of loaded type palettes. An array of pointers to the PropertyObjectFile interfaces of the loaded type palette files. Returns the list of currently loaded type palette files in the TestStand Engine. Type palette files contain step type and data type definitions. The TestStand Engine loads these files when the sequence editor and user interfaces launch. Call this method to obtain the list of loaded type palettes. An array of pointers to the PropertyObjectFile interfaces of the loaded type palette files. Sets the list of currently loaded type palette files in the TestStand Engine. Type palette files contain step type and data type definitions. The TestStand Engine loads these files when the sequence editor and user interfaces launch. Call this method to change the list of loaded type palettes. If the TestStand Engine already has type palette files loaded and they are not in the new list, TestStand unloads the files. Specifies an array of pointers to the PropertyObjectFile interfaces of the type palette files. Build the array by calling the Engine.NewPropertyObjectFile and PropertyObjectFile.ReadFile methods for each type palette. Sets the list of currently loaded type palette files in the TestStand Engine. Type palette files contain step type and data type definitions. The TestStand Engine loads these files when the sequence editor and user interfaces launch. Call this method to change the list of loaded type palettes. If the TestStand Engine already has type palette files loaded and they are not in the new list, TestStand unloads the files. Specifies an array of pointers to the PropertyObjectFile interfaces of the type palette files. Build the array by calling the Engine.NewPropertyObjectFile and PropertyObjectFile.ReadFile methods for each type palette. Use this function to copy a PropertyObject object you receive from a remote execution to the local computer. Some API functions, such as the PropertyObject.SetPropertyObject method, work only with objects created on the local computer. New copy of the PropertyObject object created in the process space of the engine on which the method is called. Specifies the property object from an external instance of the TestStand Engine (that is, another process or computer) you want to copy. Use this function to copy a PropertyObject object you receive from a remote execution to the local computer. Some API functions, such as the PropertyObject.SetPropertyObject method, work only with objects created on the local computer. New copy of the PropertyObject object created in the process space of the engine on which the method is called. Specifies the property object from an external instance of the TestStand Engine (that is, another process or computer) you want to copy. Creates and accesses global variables that you want to exist only for the current run of the TestStand Engine. These globals differ from those you access with the Engine.Globals property in that TestStand never writes these globals to disk. Creates and accesses global variables that you want to exist only for the current run of the TestStand Engine. These globals differ from those you access with the Engine.Globals property in that TestStand never writes these globals to disk. Returns a top-level API for synchronizing with TestStand Synchronization objects. The TestStand Synchronization Manager is the API the Synchronization step types use. The name of the Synchronization object passed to this function determines which Synchronization Manager to use—in process, out of process (used to share Synchronization objects between processes), or remote machine (used to share Synchronization objects across machines). Refer to the NI TestStand Synchronization type library for more information. A pointer to the TestStand Synchronization Manager the Synchronization object name describes. Specifies the name of the Synchronization object for which the Synchronization Manager is needed. When the Synchronization object begins with an '*' (for example, *syncobjectname) or a computer name such as \\machinename\syncobjectname, a Synchronization Manager object corresponding to the computer in question is returned. When the Synchronization object name begins with an asterisk or computer name, you can use a 32 or 64 prefix to specify using 32- or 64-bit TestStand to host the out-of-process Synchronization object. For example, the name 64*syncobj specifies a Synchronization object called *syncobj in the 64-bit TestStand host process, even when used from 32-bit TestStand. Use the prefix to share Synchronization objects between 32-bit TestStand and 64-bit TestStand in the same host process. If you do not use the prefix, 32-bit TestStand hosts out-of-process Synchronization objects in a 32-bit process, and 64-bit TestStand hosts out-of-process Synchronization objects in a 64-bit process. Returns a top-level API for synchronizing with TestStand Synchronization objects. The TestStand Synchronization Manager is the API the Synchronization step types use. The name of the Synchronization object passed to this function determines which Synchronization Manager to use—in process, out of process (used to share Synchronization objects between processes), or remote machine (used to share Synchronization objects across machines). Refer to the NI TestStand Synchronization type library for more information. A pointer to the TestStand Synchronization Manager the Synchronization object name describes. Specifies the name of the Synchronization object for which the Synchronization Manager is needed. When the Synchronization object begins with an '*' (for example, *syncobjectname) or a computer name such as \\machinename\syncobjectname, a Synchronization Manager object corresponding to the computer in question is returned. When the Synchronization object name begins with an asterisk or computer name, you can use a 32 or 64 prefix to specify using 32- or 64-bit TestStand to host the out-of-process Synchronization object. For example, the name 64*syncobj specifies a Synchronization object called *syncobj in the 64-bit TestStand host process, even when used from 32-bit TestStand. Use the prefix to share Synchronization objects between 32-bit TestStand and 64-bit TestStand in the same host process. If you do not use the prefix, 32-bit TestStand hosts out-of-process Synchronization objects in a 32-bit process, and 64-bit TestStand hosts out-of-process Synchronization objects in a 64-bit process. Note: This property is obsolete. Use the StationOptions.RTEOption property instead. Specifies the default behavior of TestStand when a run-time error occurs in an execution. Note: This property replaces the more limited BreakOnRTE property and offers a superset of the functionality. Note: This property is obsolete. Use the StationOptions.RTEOption property instead. Specifies the default behavior of TestStand when a run-time error occurs in an execution. Note: This property replaces the more limited BreakOnRTE property and offers a superset of the functionality. Creates and returns a new Execution object. Use a hierarchical execution to specify a call stack of Sequence Call steps that only execute the setup and Cleanup steps of sequences in the call stack while continuing normal execution in the sequence that the last Sequence Call step specifies. To specify the call stack to create, pass an array of Sequence Call steps to the sequenceCallSteps parameter. When the hierarchical execution starts, TestStand executes the sequence the sequenceName parameter specifies, just as TestStand does when you call the Engine.NewExecution method. When the execution reaches the sequence that contains the first Sequence Call step the sequenceCallSteps parameter specifies, the execution follows the execution path the array of Sequence Call steps defines. The execution does not execute any of the Main steps in the sequences of the call stack, but the hierarchicalExecutionFlags parameter specifies whether the execution executes the setup and Cleanup steps in the sequences of the call stack. Execution resumes normally in the sequence that the last Sequence Call step in the array calls. Even though the steps in the Main step group of the sequences that contain the Sequence Call steps do not execute, local variables propagate normally according to their propagation settings. Specifies an array of Sequence Call steps. The array represents a call stack to recreate. The execution does not execute any of the main steps in the sequences of the call stack, but the hierarchicalExecutionFlags parameter specifies whether the execution executes the setup and cleanup steps in the sequences of the call stack. Except for the first step, each step in the array is a step that resides in the sequence the previous step in the array calls. Pass 0 for the default behavior or pass one or more HierarchicalExecutionFlags constants. Use the bitwise-OR operator to pass multiple constants. Specifies the SequenceFile object that contains the sequence to execute. If the execution uses a process model, pass the client SequenceFile object. Specifies the name of the sequence or Process Model entry point to execute. Pass the process model SequenceFile object if you want to execute a Process Model entry point. Otherwise, a NULL object reference in LabVIEW, 0 in LabWindows/CVI, or the Nothing keyword in Visual Basic, pass a NULL dispatch pointer in Microsoft Foundation Classes. Pass True to suspend execution before executing the first step. Pass 0 for the default behavior or pass one or more ExecutionTypeMask constants. Use the bitwise-OR operator to pass multiple constants. Specifies a PropertyObject object that contains the arguments to the sequence you want to execute. Each subproperty of the PropertyObject object represents a parameter to the sequence. The subproperties must appear in the same order as the sequence parameters. Specifies an EditArgs object that indicates which items are currently selected in the user interface. This is required only for Process Model entry points. Specifies an InteractiveArgs object that indicates which steps are currently selected in the user interface and contains looping information necessary for an interactive execution. Pass this parameter for interactive executions only. Creates and returns a new Execution object. Use a hierarchical execution to specify a call stack of Sequence Call steps that only execute the setup and Cleanup steps of sequences in the call stack while continuing normal execution in the sequence that the last Sequence Call step specifies. To specify the call stack to create, pass an array of Sequence Call steps to the sequenceCallSteps parameter. When the hierarchical execution starts, TestStand executes the sequence the sequenceName parameter specifies, just as TestStand does when you call the Engine.NewExecution method. When the execution reaches the sequence that contains the first Sequence Call step the sequenceCallSteps parameter specifies, the execution follows the execution path the array of Sequence Call steps defines. The execution does not execute any of the Main steps in the sequences of the call stack, but the hierarchicalExecutionFlags parameter specifies whether the execution executes the setup and Cleanup steps in the sequences of the call stack. Execution resumes normally in the sequence that the last Sequence Call step in the array calls. Even though the steps in the Main step group of the sequences that contain the Sequence Call steps do not execute, local variables propagate normally according to their propagation settings. Specifies an array of Sequence Call steps. The array represents a call stack to recreate. The execution does not execute any of the main steps in the sequences of the call stack, but the hierarchicalExecutionFlags parameter specifies whether the execution executes the setup and cleanup steps in the sequences of the call stack. Except for the first step, each step in the array is a step that resides in the sequence the previous step in the array calls. Pass 0 for the default behavior or pass one or more HierarchicalExecutionFlags constants. Use the bitwise-OR operator to pass multiple constants. Specifies the SequenceFile object that contains the sequence to execute. If the execution uses a process model, pass the client SequenceFile object. Specifies the name of the sequence or Process Model entry point to execute. Pass the process model SequenceFile object if you want to execute a Process Model entry point. Otherwise, a NULL object reference in LabVIEW, 0 in LabWindows/CVI, or the Nothing keyword in Visual Basic, pass a NULL dispatch pointer in Microsoft Foundation Classes. Pass True to suspend execution before executing the first step. Pass 0 for the default behavior or pass one or more ExecutionTypeMask constants. Use the bitwise-OR operator to pass multiple constants. Specifies a PropertyObject object that contains the arguments to the sequence you want to execute. Each subproperty of the PropertyObject object represents a parameter to the sequence. The subproperties must appear in the same order as the sequence parameters. Specifies an EditArgs object that indicates which items are currently selected in the user interface. This is required only for Process Model entry points. Specifies an InteractiveArgs object that indicates which steps are currently selected in the user interface and contains looping information necessary for an interactive execution. Pass this parameter for interactive executions only. Specifies the maximum text size per row of the Module Inputs and Outputs column on the Operations table. This property is the programmatic interface to the Limit Module Input/Output Text Length numeric control on the Configure Data Collection dialog box. A value of -1 indicates no limit. Specifies the maximum text size per row of the Module Inputs and Outputs column on the Operations table. This property is the programmatic interface to the Limit Module Input/Output Text Length numeric control on the Configure Data Collection dialog box. A value of -1 indicates no limit. Returns the time in seconds since midnight (00:00:00), January 1, 1970, coordinated universal time (UTC). UTC is also known as Greenwich mean time. Returns the time in seconds since midnight (00:00:00), January 1, 1970, coordinated universal time (UTC). UTC is also known as Greenwich mean time. Note: This method is obsolete. Use the PropertyObject.DisplayEditNumericFormatDialog method instead. Launches a dialog box in which you can edit a numeric format string used to display numbers. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. The numeric format string to edit. Enable EditNumFormat_AllowDefaultFormat if you want to pass an empty string. Specifies any combination of the EditNumericFormatOptions constants. Specifies a number to format initially in the dialog box. Note: This method is obsolete. Use the PropertyObject.DisplayEditNumericFormatDialog method instead. Launches a dialog box in which you can edit a numeric format string used to display numbers. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. The numeric format string to edit. Enable EditNumFormat_AllowDefaultFormat if you want to pass an empty string. Specifies any combination of the EditNumericFormatOptions constants. Specifies a number to format initially in the dialog box. Creates a PropertyObject object that specifies the structure of the menu used to insert named data type variables in the sequence editor. The sequence editor uses this method to create the Types submenu that appears when you select Insert Local, Insert Global, or Insert Parameter from the context menu. Refer to MenuItemProperties for a description of this property object. The object that specifies the menu structure. Specifies the currently selected file. The method includes the step types defined in this file as well as the step types located in the type palette. Pass 0 or NULL if there is no selected file. Pass a set of PropertyFlags that specify which step types are not included in the menu. For example, pass PropFlags_Hidden to exclude the hidden step types. Creates a PropertyObject object that specifies the structure of the menu used to insert named data type variables in the sequence editor. The sequence editor uses this method to create the Types submenu that appears when you select Insert Local, Insert Global, or Insert Parameter from the context menu. Refer to MenuItemProperties for a description of this property object. The object that specifies the menu structure. Specifies the currently selected file. The method includes the step types defined in this file as well as the step types located in the type palette. Pass 0 or NULL if there is no selected file. Pass a set of PropertyFlags that specify which step types are not included in the menu. For example, pass PropFlags_Hidden to exclude the hidden step types. Note: This property is obsolete. Use the StationOptions.StationModelSequenceFilePath property instead. Specifies the pathname of the station model sequence file. Note: This property is a relative pathname. TestStand uses the Engine.FindFileEx method to determine the absolute pathname of the station model sequence file. Note: This property is obsolete. Use the StationOptions.StationModelSequenceFilePath property instead. Specifies the pathname of the station model sequence file. Note: This property is a relative pathname. TestStand uses the Engine.FindFileEx method to determine the absolute pathname of the station model sequence file. Determines whether the TestStand Engine that saved the specified sequence file is the current version, an older version, or a newer version. The method returns one of the following values:     * -1 if an older version of the TestStand Engine created the sequence file.    * 0 if the currently active version of the TestStand Engine created the sequence file.    * 1 if a newer version of the TestStand Engine created the sequence file. You can use this method in a sequence editor application that prompts the user before overwriting a sequence file saved in an older format. Specifies the absolute pathname of the file. Determines whether the TestStand Engine that saved the specified sequence file is the current version, an older version, or a newer version. The method returns one of the following values:     * -1 if an older version of the TestStand Engine created the sequence file.    * 0 if the currently active version of the TestStand Engine created the sequence file.    * 1 if a newer version of the TestStand Engine created the sequence file. You can use this method in a sequence editor application that prompts the user before overwriting a sequence file saved in an older format. Specifies the absolute pathname of the file. Notifies TestStand that you are about to launch a modal dialog box. Note: If you call the Engine.NotifyStartOfModalDialogEx method, you must also call the Engine.NotifyEndOfModalDialog method when the dialog box closes or subsequent calls to the Engine.NotifyStartOfModalDialogEx method will block, potentially hanging TestStand. This method returns a modalID, which you pass to the Engine.NotifyEndOfModalDialog method when the dialog box is closed. TestStand uses this notification to determine when to disable the main window of the application and to enforce the modality of the dialog box. (Platform: LabVIEW modal dialog box) Call Start Modal Dialog.vi and End Modal Dialog.vi in TestStand.llb instead of the Engine.NotifyStartOfModalDialogEx and Engine.NotifyEndOfModalDialog methods. (Platform: LabWindows/CVI modal dialog box) Call TS_EndModalDialog or TS_StartModalDialogEx in <TestStand>\API\CVI\tsutil.fp instead of the Engine.NotifyStartOfModalDialogEx and Engine.NotifyEndOfModalDialog methods. Note: Do not call this method when launching a dialog box that the TestStand API implements. Note: This method differs from the Engine.NotifyStartOfModalDialog method in that if multiple threads call into this method at the same time, only the first thread proceeds. The rest block until the first thread calls the Engine.NotifyEndOfModalDialog method, at which point the next thread proceeds. Thus, TestStand launches modal dialog boxes one at a time using this method. To use this method, you must launch the dialog box within the step of an execution and you must pass the sequence context of the step to this method.

In certain environments, dialog boxes might take a parameter that is a parent window handle. For this situation, call this method before creating the dialog box, treat the return value as a window handle, and pass the return value as the handle for the parent window. For environments such as Microsoft Visual Basic, in which setting the parent window handle of dialog boxes is difficult, use the Engine.RegisterModalWindow method instead.
Returns the modalID to pass to the Engine.NotifyEndOfModalDialog method when the dialog box no longer appears onscreen. Specifies the sequence context of the step launching the modal dialog box. You can also pass a NULL reference but doing so loses the added functionality of this method. Returns True when the user terminates or aborts the corresponding execution for the sequence context parameter you passed while you were blocked inside this method call. The step skips launching the dialog box and returns as soon as possible. You can call the Engine.NotifyEndOfModalDialog method in this case, though it is not necessary. If you are using the CVI TS_StartModalDialogEx function, always call the corresponding TS_EndModalDialog function. Similarly, if you are using Start Modal Dialog.vi in LabVIEW, always call End Modal Dialog.vi.
Notifies TestStand that you are about to launch a modal dialog box. Note: If you call the Engine.NotifyStartOfModalDialogEx method, you must also call the Engine.NotifyEndOfModalDialog method when the dialog box closes or subsequent calls to the Engine.NotifyStartOfModalDialogEx method will block, potentially hanging TestStand. This method returns a modalID, which you pass to the Engine.NotifyEndOfModalDialog method when the dialog box is closed. TestStand uses this notification to determine when to disable the main window of the application and to enforce the modality of the dialog box. (Platform: LabVIEW modal dialog box) Call Start Modal Dialog.vi and End Modal Dialog.vi in TestStand.llb instead of the Engine.NotifyStartOfModalDialogEx and Engine.NotifyEndOfModalDialog methods. (Platform: LabWindows/CVI modal dialog box) Call TS_EndModalDialog or TS_StartModalDialogEx in <TestStand>\API\CVI\tsutil.fp instead of the Engine.NotifyStartOfModalDialogEx and Engine.NotifyEndOfModalDialog methods. Note: Do not call this method when launching a dialog box that the TestStand API implements. Note: This method differs from the Engine.NotifyStartOfModalDialog method in that if multiple threads call into this method at the same time, only the first thread proceeds. The rest block until the first thread calls the Engine.NotifyEndOfModalDialog method, at which point the next thread proceeds. Thus, TestStand launches modal dialog boxes one at a time using this method. To use this method, you must launch the dialog box within the step of an execution and you must pass the sequence context of the step to this method.

In certain environments, dialog boxes might take a parameter that is a parent window handle. For this situation, call this method before creating the dialog box, treat the return value as a window handle, and pass the return value as the handle for the parent window. For environments such as Microsoft Visual Basic, in which setting the parent window handle of dialog boxes is difficult, use the Engine.RegisterModalWindow method instead.
Returns the modalID to pass to the Engine.NotifyEndOfModalDialog method when the dialog box no longer appears onscreen. Specifies the sequence context of the step launching the modal dialog box. You can also pass a NULL reference but doing so loses the added functionality of this method. Returns True when the user terminates or aborts the corresponding execution for the sequence context parameter you passed while you were blocked inside this method call. The step skips launching the dialog box and returns as soon as possible. You can call the Engine.NotifyEndOfModalDialog method in this case, though it is not necessary. If you are using the CVI TS_StartModalDialogEx function, always call the corresponding TS_EndModalDialog function. Similarly, if you are using Start Modal Dialog.vi in LabVIEW, always call End Modal Dialog.vi.
Note: This property is obsolete. Use the StationOptions.UserFilePath property instead. Specifies the location of the current user manager file. Changes to this property do not take effect until you restart the TestStand Engine. Note: This property is obsolete. Use the StationOptions.UserFilePath property instead. Specifies the location of the current user manager file. Changes to this property do not take effect until you restart the TestStand Engine. Opens to a topic in a HTML Help file using a help ID. Uses the assigned help ID to open the compiled help file (.chm) to a particular topic. If any of the following parameters are specified—tableOfContentsFile, indexFile, or homeFile—then all three are used to build the HTML Help window. If none of these parameters are specified, the information stored in the help file is used to build the HTML Help window. To ensure proper navigation within the opened help file, National Instruments recommends that all three parameters—tableOfContentsFile, indexFile, and homeFile—be specified together. To specify that a file is within a CHM, use the following syntax: CHMFileName.chm::\\FileName.xxx Returns the window handle of the created help window. Specifies the help ID of the help topic within the compiled help file to open. The help file author associates help IDs with topic files. Pass 0 to open the help file to the default topic. Specifies the name of the HTML help file to open. Include the absolute path of the help file and the extension. If you do not specify a help file, TestStand uses the NI TestStand Help. Specifies the name of the table of contents file to use with the help file. Include the absolute path of the table of contents file along with the extension. Specifies the name of the index file to use with the help file. Include the absolute path of the index file along with the extension. Specifies the name of the default topic to display for the help file. Include the absolute path of the default topic along with the extension. Specifies the help window caption to display. This parameter is ignored unless a table of contents file, an index file, or a default topic file is specified. If none of these files are specified, the help window caption is the caption the author of the help file specifies. If you specify a contents file or an index file but do not specify this parameter, the window caption defaults to NI TestStand Help. Opens to a topic in a HTML Help file using a help ID. Uses the assigned help ID to open the compiled help file (.chm) to a particular topic. If any of the following parameters are specified—tableOfContentsFile, indexFile, or homeFile—then all three are used to build the HTML Help window. If none of these parameters are specified, the information stored in the help file is used to build the HTML Help window. To ensure proper navigation within the opened help file, National Instruments recommends that all three parameters—tableOfContentsFile, indexFile, and homeFile—be specified together. To specify that a file is within a CHM, use the following syntax: CHMFileName.chm::\\FileName.xxx Returns the window handle of the created help window. Specifies the help ID of the help topic within the compiled help file to open. The help file author associates help IDs with topic files. Pass 0 to open the help file to the default topic. Specifies the name of the HTML help file to open. Include the absolute path of the help file and the extension. If you do not specify a help file, TestStand uses the NI TestStand Help. Specifies the name of the table of contents file to use with the help file. Include the absolute path of the table of contents file along with the extension. Specifies the name of the index file to use with the help file. Include the absolute path of the index file along with the extension. Specifies the name of the default topic to display for the help file. Include the absolute path of the default topic along with the extension. Specifies the help window caption to display. This parameter is ignored unless a table of contents file, an index file, or a default topic file is specified. If none of these files are specified, the help window caption is the caption the author of the help file specifies. If you specify a contents file or an index file but do not specify this parameter, the window caption defaults to NI TestStand Help. Launches the Breakpoint Settings dialog box, in which you edit the breakpoint settings of a step or the End marker after the last step in a step group. Breakpoint settings for a particular execution apply only to that execution. Editing a breakpoint for a step in a sequence file overrides and breakpoint setting on the corresponding step in a running execution. Returns True if you click OK. Otherwise, returns False. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the sequence context the dialog box uses to evaluate expressions specified for a conditional breakpoint. You can use the Engine.NewEditContext method to obtain an edit-time sequence context for the step or sequence file you are editing. If you want to set the breakpoint state for a particular execution only, specify a reference to an Execution object. Breakpoints set for a particular execution only apply to that execution and are lost when the Execution object is destroyed, or when you set the breakpoint state for the step by calling this method without passing an execution. Specifies a reference to a Step object to specify which breakpoint to configure. Pass NULL to configure a breakpoint on the End marker after the last step in a step group. If you pass NULL, you must specify a value for the whichSteps parameter. When the selectedStep parameter is NULL, whichSteps specifies a particular step group that specifies the End marker. Specifies any combination of the CommonDialogOptions constants. Launches the Breakpoint Settings dialog box, in which you edit the breakpoint settings of a step or the End marker after the last step in a step group. Breakpoint settings for a particular execution apply only to that execution. Editing a breakpoint for a step in a sequence file overrides and breakpoint setting on the corresponding step in a running execution. Returns True if you click OK. Otherwise, returns False. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the sequence context the dialog box uses to evaluate expressions specified for a conditional breakpoint. You can use the Engine.NewEditContext method to obtain an edit-time sequence context for the step or sequence file you are editing. If you want to set the breakpoint state for a particular execution only, specify a reference to an Execution object. Breakpoints set for a particular execution only apply to that execution and are lost when the Execution object is destroyed, or when you set the breakpoint state for the step by calling this method without passing an execution. Specifies a reference to a Step object to specify which breakpoint to configure. Pass NULL to configure a breakpoint on the End marker after the last step in a step group. If you pass NULL, you must specify a value for the whichSteps parameter. When the selectedStep parameter is NULL, whichSteps specifies a particular step group that specifies the End marker. Specifies any combination of the CommonDialogOptions constants. Begin a new find in files search. Returns a SearchResults object that is a handle to the asynchronous search already in progress. To wait for the search to complete, call the SearchResults.IsComplete method. A SearchResults object. Pass the string or regular expression for which to search. To use regular expressions, you must specify SearchOptions_RegExpr for the searchOptions parameter. Pass one or more SearchOptions constants. Use the bitwise-OR operator to specify multiple search options. Pass one or more SearchFilterOptions constants. Use the bitwise-OR operator to specify multiple search filter options. Pass one or more SearchElements constants. Use the bitwise-OR operator to specify multiple elements to search. Pass an array of AdapterKeyNames constants to indicate the steps of which adapters to search. Pass an empty array or NULL to search steps that use any adapter. Pass an array of property names under which to limit the search. Pass an empty array or NULL to search all properties. If you specify names of properties to which to limit the search, TestStand searches only those properties with the names you specify and all their subproperties. Pass an array of type names to which to limit the search. Pass an empty array or NULL to search instances of all types. Use this parameter to limit the search instances of all types. Use this parameter to limit the search to instances of the types you specify. Pass an array of PropertyObjectFile references to specify already open files in which to search. You can pass an empty array or NULL for this parameter. Pass an array of directories and/or file paths to indicate which files to load and search. All paths must be absolute paths. If you specify a directory, TestStand searches all sequence files under the directory and any of the subdirectories. You can pass an empty array or NULL for this parameter. Begin a new find in files search. Returns a SearchResults object that is a handle to the asynchronous search already in progress. To wait for the search to complete, call the SearchResults.IsComplete method. A SearchResults object. Pass the string or regular expression for which to search. To use regular expressions, you must specify SearchOptions_RegExpr for the searchOptions parameter. Pass one or more SearchOptions constants. Use the bitwise-OR operator to specify multiple search options. Pass one or more SearchFilterOptions constants. Use the bitwise-OR operator to specify multiple search filter options. Pass one or more SearchElements constants. Use the bitwise-OR operator to specify multiple elements to search. Pass an array of AdapterKeyNames constants to indicate the steps of which adapters to search. Pass an empty array or NULL to search steps that use any adapter. Pass an array of property names under which to limit the search. Pass an empty array or NULL to search all properties. If you specify names of properties to which to limit the search, TestStand searches only those properties with the names you specify and all their subproperties. Pass an array of type names to which to limit the search. Pass an empty array or NULL to search instances of all types. Use this parameter to limit the search instances of all types. Use this parameter to limit the search to instances of the types you specify. Pass an array of PropertyObjectFile references to specify already open files in which to search. You can pass an empty array or NULL for this parameter. Pass an array of directories and/or file paths to indicate which files to load and search. All paths must be absolute paths. If you specify a directory, TestStand searches all sequence files under the directory and any of the subdirectories. You can pass an empty array or NULL for this parameter. Sets the location of the control in a dialog box that edits the property you specify. When you launch the dialog box again, the control associated with the location is selected and highlighted. The following methods launch dialog boxes that support this feature: PropertyObject.DisplayAttributesDialog, PropertyObject.DisplayPropertiesDialog, Step.SpecifyModule, StepType.SpecifyModule, Engine.DisplayEditUserDialog, Engine.DisplayStepPropDialog, Engine.DisplaySequencePropDialog, Engine.DisplaySeqFilePropDialog, Engine.DisplayPreconditionDialog. Specifies the subproperty of the object that specifies the corresponding control that is highlighted in the dialog box the next time it is launched. Pass one of the following SearchElements constants to indicate which part of the property you want to highlight in the dialog box while editing: SearchElement_Name, SearchElement_Comment, SearchElement_StringValue, SearchElement_NumericValue, or SearchElement_BooleanValue. For example, to highlight a portion of a local variable comment, pass an empty string for the locationLookupString parameter and SearchElement_Comment for this parameter, then call PropertyObject.DisplayPropertiesDialog on the variable property. If the control the locationLookupString and elementAtLocation parameters indicate is an Edit control, you can use this parameter to select a particular section of the text within the control when TestStand launches the dialog box. Pass the index of the character within the string where you want the selection to start. If the control the locationLookupString and elementAtLocation parameters specify is an Edit control, you can use this parameter to select a particular section of the text within the control when TestStand launches the dialog box. Starting from the selStartIndex character, pass the numbers of characters you want the dialog box to select in the Edit control. Sets the location of the control in a dialog box that edits the property you specify. When you launch the dialog box again, the control associated with the location is selected and highlighted. The following methods launch dialog boxes that support this feature: PropertyObject.DisplayAttributesDialog, PropertyObject.DisplayPropertiesDialog, Step.SpecifyModule, StepType.SpecifyModule, Engine.DisplayEditUserDialog, Engine.DisplayStepPropDialog, Engine.DisplaySequencePropDialog, Engine.DisplaySeqFilePropDialog, Engine.DisplayPreconditionDialog. Specifies the subproperty of the object that specifies the corresponding control that is highlighted in the dialog box the next time it is launched. Pass one of the following SearchElements constants to indicate which part of the property you want to highlight in the dialog box while editing: SearchElement_Name, SearchElement_Comment, SearchElement_StringValue, SearchElement_NumericValue, or SearchElement_BooleanValue. For example, to highlight a portion of a local variable comment, pass an empty string for the locationLookupString parameter and SearchElement_Comment for this parameter, then call PropertyObject.DisplayPropertiesDialog on the variable property. If the control the locationLookupString and elementAtLocation parameters indicate is an Edit control, you can use this parameter to select a particular section of the text within the control when TestStand launches the dialog box. Pass the index of the character within the string where you want the selection to start. If the control the locationLookupString and elementAtLocation parameters specify is an Edit control, you can use this parameter to select a particular section of the text within the control when TestStand launches the dialog box. Starting from the selStartIndex character, pass the numbers of characters you want the dialog box to select in the Edit control. Opens to a topic in a HTML Help file using the topic filename, such as Engine.htm. Opens the HTML Help window to a given topic within the compiled help file (.chm) using the filename of the help topic. If any of the following parameters are specified—tableOfContentsFile, indexFile, or homeFile—all three are used to build the HTML Help window. If none of these parameters are specified, the information stored in the help file is used to build the HTML Help window. To ensure proper navigation within the opened help file, National Instruments recommends that all three parameters—tableOfContentsFile, indexFile, and homeFile—be specified together. To specify that a file is within a CHM, use the following syntax: CHMFileName.chm::\\FileName.xxx Returns the window handle of the created help window. Specifies the name of the HTML help topic within the help file to which the help window is opened. Include the file extension (.htm, .html) of the page. Specify the entire path of the page within the help file. Pass "" to open the help file to the default topic. Specifies the name of the HTML help file to open. Include the absolute path of the help file and the extension. If you do not specify a help file, TestStand uses the NI TestStand Help. Specifies the name of the table of contents file to use with the help file. Include the absolute path of the table of contents file along with the extension. Specifies the name of the index file to use with the help file. Include the absolute path of the index file along with the extension. Specifies the name of the default topic to display for the help file. Include the absolute path of the default topic along with the extension. Specifies the help window caption to display. This parameter is ignored unless a table of contents file, an index file, or a default topic file is specified. If none of these files are specified, the help window caption is the caption the author of the help file specifies. If you specify a contents file or an index file but do not specify this parameter, the window caption defaults to NI TestStand Help. Opens to a topic in a HTML Help file using the topic filename, such as Engine.htm. Opens the HTML Help window to a given topic within the compiled help file (.chm) using the filename of the help topic. If any of the following parameters are specified—tableOfContentsFile, indexFile, or homeFile—all three are used to build the HTML Help window. If none of these parameters are specified, the information stored in the help file is used to build the HTML Help window. To ensure proper navigation within the opened help file, National Instruments recommends that all three parameters—tableOfContentsFile, indexFile, and homeFile—be specified together. To specify that a file is within a CHM, use the following syntax: CHMFileName.chm::\\FileName.xxx Returns the window handle of the created help window. Specifies the name of the HTML help topic within the help file to which the help window is opened. Include the file extension (.htm, .html) of the page. Specify the entire path of the page within the help file. Pass "" to open the help file to the default topic. Specifies the name of the HTML help file to open. Include the absolute path of the help file and the extension. If you do not specify a help file, TestStand uses the NI TestStand Help. Specifies the name of the table of contents file to use with the help file. Include the absolute path of the table of contents file along with the extension. Specifies the name of the index file to use with the help file. Include the absolute path of the index file along with the extension. Specifies the name of the default topic to display for the help file. Include the absolute path of the default topic along with the extension. Specifies the help window caption to display. This parameter is ignored unless a table of contents file, an index file, or a default topic file is specified. If none of these files are specified, the help window caption is the caption the author of the help file specifies. If you specify a contents file or an index file but do not specify this parameter, the window caption defaults to NI TestStand Help. Launches the Edit Breakpoints/Watch Expressions dialog box, in which you can edit the breakpoints and watch expressions defined for the current workspace. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies any combination of the EditBreakAndWatchOptions constants. If the user clicked the Goto button, this parameter returns information about the last selected item on the Breakpoints tab of the Edit Breakpoints/Watch Expressions dialog box. Pass a SelectedBreakpointItem object to access the last selected item. Launches the Edit Breakpoints/Watch Expressions dialog box, in which you can edit the breakpoints and watch expressions defined for the current workspace. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies any combination of the EditBreakAndWatchOptions constants. If the user clicked the Goto button, this parameter returns information about the last selected item on the Breakpoints tab of the Edit Breakpoints/Watch Expressions dialog box. Pass a SelectedBreakpointItem object to access the last selected item. Launches the Expression Editing Options dialog box, in which you can edit the options for displaying expressions. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specify CommonDlgOption_NoOptions or CommonDlgOption_ModalToAppMainWnd. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from the Engine.AppMainHwnd property. Pass CommonDlgOption_ModalToAppMainWnd if you want the dialog box to be modal with respect to the window handle of the AppMainHwnd property. Typically, you do not need to set this option. Launches the Expression Editing Options dialog box, in which you can edit the options for displaying expressions. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specify CommonDlgOption_NoOptions or CommonDlgOption_ModalToAppMainWnd. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from the Engine.AppMainHwnd property. Pass CommonDlgOption_ModalToAppMainWnd if you want the dialog box to be modal with respect to the window handle of the AppMainHwnd property. Typically, you do not need to set this option. Returns a reference to the SearchDirectories object. This object is a collection that contains a list of the current search directories. You must obtain the search directory collection before adding or modifying a search directory. Returns a reference to the SearchDirectories object. This object is a collection that contains a list of the current search directories. You must obtain the search directory collection before adding or modifying a search directory. Loads the list of type palette files found in the TestStand Engine. Type palette files contain step type and data type definitions. LoadTypePaletteFilesEx is the method the sequence editor and user interfaces call on the TestStand Engine to load these files when they start up. You can call this method outside of the sequence editor or a user interface if an instance of the TestStand Engine has been created and the type palette files need to be loaded. Note: National Instruments recommends that you call this method when you create the TestStand Engine to ensure that the application loads the correct versions of step types and data types. If you do not load the type palettes and load a sequence file with other versions of NI types, the sequence file might not execute correctly. Specifies how to handle type conflicts. This parameter is reserved. Loads the list of type palette files found in the TestStand Engine. Type palette files contain step type and data type definitions. LoadTypePaletteFilesEx is the method the sequence editor and user interfaces call on the TestStand Engine to load these files when they start up. You can call this method outside of the sequence editor or a user interface if an instance of the TestStand Engine has been created and the type palette files need to be loaded. Note: National Instruments recommends that you call this method when you create the TestStand Engine to ensure that the application loads the correct versions of step types and data types. If you do not load the type palettes and load a sequence file with other versions of NI types, the sequence file might not execute correctly. Specifies how to handle type conflicts. This parameter is reserved. Creates and returns an Expression object. Creates and returns an Expression object. Returns a reference to the StationOptions object. Use the StationOptions object to set preferences for the TestStand station. Station option settings affect all sequence editor and user interface sessions you run on the computer. Returns a reference to the StationOptions object. Use the StationOptions object to set preferences for the TestStand station. Station option settings affect all sequence editor and user interface sessions you run on the computer. Launches a dialog box in which you can edit the order in which step types appear in the Insert Step submenu. Returns True if you make modifications and click OK in the dialog box. Returns False if you click Cancel or make no modifications. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the PropertyObjectFile that represents the type palette file to edit. Pass True when editing the menu information for substeps. Specify CommonDlgOption_NoOptions or CommonDlgOption_ModalToAppMainWnd. Launches a dialog box in which you can edit the order in which step types appear in the Insert Step submenu. Returns True if you make modifications and click OK in the dialog box. Returns False if you click Cancel or make no modifications. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the PropertyObjectFile that represents the type palette file to edit. Pass True when editing the menu information for substeps. Specify CommonDlgOption_NoOptions or CommonDlgOption_ModalToAppMainWnd. Returns the value for the internal option the option parameter specifies. The value of the internal option the option parameter specifies. Specifies the internal option the method returns. Returns the value for the internal option the option parameter specifies. The value of the internal option the option parameter specifies. Specifies the internal option the method returns. Specifies the value for the internal option the option parameter specifies. TestStand does not persist internal options between instances of the engine. Specifies the internal option the method sets. Specifies the value of the internal option the option parameter specifies. Specifies the value for the internal option the option parameter specifies. TestStand does not persist internal options between instances of the engine. Specifies the internal option the method sets. Specifies the value of the internal option the option parameter specifies. Returns a list of references to WatchExpression objects in the watch expression list that the engine maintains. The method returns only objects that match the scope and filter settings specified by the parameters this method contains. A watch expression is global if it is not associated with a client sequence file. The WatchExpression.ClientSequenceFile, WatchExpression.ExecutionScope, WatchExpression.SequenceFileScope, and WatchExpression.SequenceScope properties specify the scope of a WatchExpression object. Use the clientSequenceFileParam and the scopingSeqContext parameters of this method to filter the watch expression list. Pass NULL for both of these parameters to return the entire watch expression list. If you pass values for these parameters, TestStand uses the filterOptions parameter to identify which watch expression properties to compare to the parameter values you pass. Returns an empty list if no watch expressions in the list are valid for the specified scope. Specifies a reference to a client sequence file used to identify and limit the watch expressions to return. The method does not return a watch expression if the WatchExpression.ClientSequenceFile property does not match the name of the file this parameter specifies. Pass NULL to instruct the method to not filter watch expressions based on the client sequence file. Pass WatchExpressionFilter_IncludeGlobals in the filterOptions parameter to instruct the method to include watch expressions that specify an empty string for the WatchExpression.ClientSequenceFile property. Specifies a reference to a sequence context used to identify and limit the watch expressions to return. The method requires a sequence context when you pass WatchExpressionFilter_FilterByExecution, WatchExpressionFilter_FilterBySequence, or WatchExpressionFilter_FilterBySequenceFile to the filterOptions parameter. The method does not return a watch expression if you pass a filter option and the corresponding scope property for the watch expression does not match the given sequence context. The method ignores the filter option for a watch expression if the corresponding scope property does not specify a value. Pass NULL if you do not want the method to exclude watch expressions based on the scoping filter options. Specifies the criteria for filtering the watch expression list. Pass a combination of the WatchExpressionFilterOptions constants. A watch expression must meet all the filter criteria to be included in the returned list. Returns a list of references to WatchExpression objects in the watch expression list that the engine maintains. The method returns only objects that match the scope and filter settings specified by the parameters this method contains. A watch expression is global if it is not associated with a client sequence file. The WatchExpression.ClientSequenceFile, WatchExpression.ExecutionScope, WatchExpression.SequenceFileScope, and WatchExpression.SequenceScope properties specify the scope of a WatchExpression object. Use the clientSequenceFileParam and the scopingSeqContext parameters of this method to filter the watch expression list. Pass NULL for both of these parameters to return the entire watch expression list. If you pass values for these parameters, TestStand uses the filterOptions parameter to identify which watch expression properties to compare to the parameter values you pass. Returns an empty list if no watch expressions in the list are valid for the specified scope. Specifies a reference to a client sequence file used to identify and limit the watch expressions to return. The method does not return a watch expression if the WatchExpression.ClientSequenceFile property does not match the name of the file this parameter specifies. Pass NULL to instruct the method to not filter watch expressions based on the client sequence file. Pass WatchExpressionFilter_IncludeGlobals in the filterOptions parameter to instruct the method to include watch expressions that specify an empty string for the WatchExpression.ClientSequenceFile property. Specifies a reference to a sequence context used to identify and limit the watch expressions to return. The method requires a sequence context when you pass WatchExpressionFilter_FilterByExecution, WatchExpressionFilter_FilterBySequence, or WatchExpressionFilter_FilterBySequenceFile to the filterOptions parameter. The method does not return a watch expression if you pass a filter option and the corresponding scope property for the watch expression does not match the given sequence context. The method ignores the filter option for a watch expression if the corresponding scope property does not specify a value. Pass NULL if you do not want the method to exclude watch expressions based on the scoping filter options. Specifies the criteria for filtering the watch expression list. Pass a combination of the WatchExpressionFilterOptions constants. A watch expression must meet all the filter criteria to be included in the returned list. Returns a reference to an Images object, which is a collection that contains a list of images. The collection specifies the images that TestStand loads from the <TestStand>\Components\Icons and <TestStand Public>\Components\Icons directories, as well as images you add using the Engine.AddImage method. Use the Images.FindImage method to find an image using an image name. You must obtain the Images collection before accessing an image. Use the Images collection as an alternative to the Engine.LargeImageListEx and Engine.SmallImageListEx properties. Returns a reference to an Images object, which is a collection that contains a list of images. The collection specifies the images that TestStand loads from the <TestStand>\Components\Icons and <TestStand Public>\Components\Icons directories, as well as images you add using the Engine.AddImage method. Use the Images.FindImage method to find an image using an image name. You must obtain the Images collection before accessing an image. Use the Images collection as an alternative to the Engine.LargeImageListEx and Engine.SmallImageListEx properties. Returns a reference to a EditTimeMenuItems object. TestStand maintains a collection of tools menu items. Use this collection to customize the tools menu items the sequence editor and user interface display. Each menu item in the collection specifies the menu item type and expressions which determine menu item text, hidden state, and enabled state. A menu item can specify a collection of submenu items. You can use the Engine.GetRunTimeToolMenuItems method to obtain a reference to a run-time instance of the Tools menu. TestStand evaluates edit-time menu item expressions to determine the value of run-time properties. The run-time properties specify the menu item text and whether a menu item is enabled. TestStand excludes any menu items with hidden expressions that evaluate to False from the run-time copy of the Tools menu. The run-time copy of the Tools menu also contains expanded submenus for menu items using the ToolMenuType_SequenceFile type, where each submenu item is a menu item using the ToolMenuType_Sequence type. Pass 0 for this parameter. Returns a reference to a EditTimeMenuItems object. TestStand maintains a collection of tools menu items. Use this collection to customize the tools menu items the sequence editor and user interface display. Each menu item in the collection specifies the menu item type and expressions which determine menu item text, hidden state, and enabled state. A menu item can specify a collection of submenu items. You can use the Engine.GetRunTimeToolMenuItems method to obtain a reference to a run-time instance of the Tools menu. TestStand evaluates edit-time menu item expressions to determine the value of run-time properties. The run-time properties specify the menu item text and whether a menu item is enabled. TestStand excludes any menu items with hidden expressions that evaluate to False from the run-time copy of the Tools menu. The run-time copy of the Tools menu also contains expanded submenus for menu items using the ToolMenuType_SequenceFile type, where each submenu item is a menu item using the ToolMenuType_Sequence type. Pass 0 for this parameter. Returns a reference to a RunTimeMenuItems object. Use this method to determine the run-time text and dimmed state of menu items defined in the collection the Engine.GetEditTimeToolMenuItems method returns. TestStand maintains a collection of Tools menu items. You can obtain a reference to the collection using the Engine.GetEditTimeToolMenuItems method. You can also customize the contents of the Tools menu. TestStand uses the menu items in the edit-time collection to generate a run-time version of the menu items. TestStand evaluates edit-time menu item expressions to determine the value of run-time properties, such as menu item text and whether menu items are enabled. TestStand excludes any edit-time menu items with hidden expressions that evaluate to False from the run-time collection. The run-time collection also contains expanded submenus for menu items using the ToolMenuType_SequenceFile type. Specifies the currently selected items in the user interface. The menu item expressions can use this information to determine item text, hidden state, and enabled state. Pass 0 for this parameter. Returns a reference to a RunTimeMenuItems object. Use this method to determine the run-time text and dimmed state of menu items defined in the collection the Engine.GetEditTimeToolMenuItems method returns. TestStand maintains a collection of Tools menu items. You can obtain a reference to the collection using the Engine.GetEditTimeToolMenuItems method. You can also customize the contents of the Tools menu. TestStand uses the menu items in the edit-time collection to generate a run-time version of the menu items. TestStand evaluates edit-time menu item expressions to determine the value of run-time properties, such as menu item text and whether menu items are enabled. TestStand excludes any edit-time menu items with hidden expressions that evaluate to False from the run-time collection. The run-time collection also contains expanded submenus for menu items using the ToolMenuType_SequenceFile type. Specifies the currently selected items in the user interface. The menu item expressions can use this information to determine item text, hidden state, and enabled state. Pass 0 for this parameter. Specifies if the TestStand Engine evaluates watch expressions after each step executes in an execution. Applications that support watch expressions, such as the sequence editor, set this property to True. This property is not persisted and defaults to False for each instance of the engine. The default return value is False. Applications that support watch expressions, such as the sequence editor, set this property to True. Specifies if the TestStand Engine evaluates watch expressions after each step executes in an execution. Applications that support watch expressions, such as the sequence editor, set this property to True. This property is not persisted and defaults to False for each instance of the engine. The default return value is False. Applications that support watch expressions, such as the sequence editor, set this property to True. Updates the Tools menu configuration file, <TestStand Application Data>\Cfg\ToolMenu.ini, with the latest changes. If you make changes to the contents of the current Tools menu using the TestStand API, those changes are not saved automatically to the Tools menu configuration file. Call this method to save those changes to disk. Otherwise, the configuration file is automatically saved when the engine shuts down. Pass 0 for this parameter. Updates the Tools menu configuration file, <TestStand Application Data>\Cfg\ToolMenu.ini, with the latest changes. If you make changes to the contents of the current Tools menu using the TestStand API, those changes are not saved automatically to the Tools menu configuration file. Call this method to save those changes to disk. Otherwise, the configuration file is automatically saved when the engine shuts down. Pass 0 for this parameter. Returns the type of the license the TestStand Engine is using. Returns the type of the license the TestStand Engine is using. Specifies whether the engine associates the list of breakpoints with the current workspace and automatically saves and reloads breakpoint lists when the current workspace changes. This property defaults to False for each instance of the engine. Applications that support breakpoint persistence, such as the sequence editor, should set this property to True. TestStand reads into memory the persisted breakpoint list when you change the option to True. When the engine unloads a workspace and this setting is True, the engine saves the current breakpoint list in an options file with the same name as the workspace and in the same directory as the workspace file. The engine also saves the current breakpoint list when you save the current workspace or any sequence file in the workspace or when you close any sequence file. When the engine loads a new workspace and this setting is True, the engine automatically loads the breakpoint list previously saved in the options file. Otherwise, the engine keeps the current breakpoint list. If no current workspace is loaded, the engine persists the breakpoint list to a default options file. TestStand persists only breakpoints that apply to sequence files. TestStand does not persist breakpoints associated with executions. The default return value is False. For applications that support breakpoint persistence, such as the sequence editor, set this property to True. Specifies whether the engine associates the list of breakpoints with the current workspace and automatically saves and reloads breakpoint lists when the current workspace changes. This property defaults to False for each instance of the engine. Applications that support breakpoint persistence, such as the sequence editor, should set this property to True. TestStand reads into memory the persisted breakpoint list when you change the option to True. When the engine unloads a workspace and this setting is True, the engine saves the current breakpoint list in an options file with the same name as the workspace and in the same directory as the workspace file. The engine also saves the current breakpoint list when you save the current workspace or any sequence file in the workspace or when you close any sequence file. When the engine loads a new workspace and this setting is True, the engine automatically loads the breakpoint list previously saved in the options file. Otherwise, the engine keeps the current breakpoint list. If no current workspace is loaded, the engine persists the breakpoint list to a default options file. TestStand persists only breakpoints that apply to sequence files. TestStand does not persist breakpoints associated with executions. The default return value is False. For applications that support breakpoint persistence, such as the sequence editor, set this property to True. Specifies whether the engine associates the list of watch expressions with the current workspace, and automatically saves and reloads the watch expression list when the current workspace changes. This property defaults to False for each instance of the engine. For applications that support watch expression persistence, such as the sequence editor, set this property to True. TestStand reads into memory the persisted watch expression when you change the option to True. When the engine unloads a workspace and this setting is True, the engine saves the current watch expression list in an options file with the same name as the workspace and in the same directory as the workspace file. The engine also saves the current watch expression list when you save the current workspace or any sequence file in the workspace or when you close any sequence file. When the engine loads a new workspace and this setting is True, the engine automatically loads the watch expression list previously saved in the options file. Otherwise, the engine keeps the current watch expression list. If no current workspace is loaded, the engine persists the watch expression list to a default options file. TestStand persists only watch expressions that are not associated with a particular execution, such as when WatchExpression.ExecutionScope is NULL. The default return value is False. For applications that support watch expression persistence, such as the sequence editor, set this property to True. Specifies whether the engine associates the list of watch expressions with the current workspace, and automatically saves and reloads the watch expression list when the current workspace changes. This property defaults to False for each instance of the engine. For applications that support watch expression persistence, such as the sequence editor, set this property to True. TestStand reads into memory the persisted watch expression when you change the option to True. When the engine unloads a workspace and this setting is True, the engine saves the current watch expression list in an options file with the same name as the workspace and in the same directory as the workspace file. The engine also saves the current watch expression list when you save the current workspace or any sequence file in the workspace or when you close any sequence file. When the engine loads a new workspace and this setting is True, the engine automatically loads the watch expression list previously saved in the options file. Otherwise, the engine keeps the current watch expression list. If no current workspace is loaded, the engine persists the watch expression list to a default options file. TestStand persists only watch expressions that are not associated with a particular execution, such as when WatchExpression.ExecutionScope is NULL. The default return value is False. For applications that support watch expression persistence, such as the sequence editor, set this property to True. Returns the current license description. Pass 0 for this parameter. Returns the current license description. Pass 0 for this parameter. This method is typically used by a dialog box to obtain the information needed to select and highlight the control associated with the location the Engine.SetLocationForNextDialog method previously specified. Returns a lookup string that indicates the subproperty of the object that contains the corresponding control you want to highlight in the dialog box. Returns one of the following SearchElements constants to indicate which part of the property to highlight in the dialog box: SearchElement_Name, SearchElement_Comment, SearchElement_StringValue, SearchElement_NumericValue, or SearchElement_BooleanValue. If the control the locationLookupString and elementAtLocation parameters indicate is an Edit control, use this parameter to determine a particular section of the text within the control for the dialog box to select. Returns the index of the character within the string for the start of the selection. If the control the locationLookupString and elementAtLocation parameters indicate is an Edit control, use this parameter to determine a particular section of the text within the control for the dialog box to select. Returns the number of characters, starting from the selStartIndex character, for the dialog box to select in the Edit control. Typically, calling this method clears the internal data in the engine for the location of the dialog box so the next time this method is called, no location information is returned. To override this behavior, pass False for this parameter. This method is typically used by a dialog box to obtain the information needed to select and highlight the control associated with the location the Engine.SetLocationForNextDialog method previously specified. Returns a lookup string that indicates the subproperty of the object that contains the corresponding control you want to highlight in the dialog box. Returns one of the following SearchElements constants to indicate which part of the property to highlight in the dialog box: SearchElement_Name, SearchElement_Comment, SearchElement_StringValue, SearchElement_NumericValue, or SearchElement_BooleanValue. If the control the locationLookupString and elementAtLocation parameters indicate is an Edit control, use this parameter to determine a particular section of the text within the control for the dialog box to select. Returns the index of the character within the string for the start of the selection. If the control the locationLookupString and elementAtLocation parameters indicate is an Edit control, use this parameter to determine a particular section of the text within the control for the dialog box to select. Returns the number of characters, starting from the selStartIndex character, for the dialog box to select in the Edit control. Typically, calling this method clears the internal data in the engine for the location of the dialog box so the next time this method is called, no location information is returned. To override this behavior, pass False for this parameter. Specifies the pathname of the TestStand configuration directory. Changes to the TestStand configuration directory do not take effect until you have shut down the TestStand Engine. The configuration directory contains engine and sequence editor option files, the users file, the globals file, and the tools menu file. Specifies the new pathname where TestStand stores configuration files. You can pass an empty string to instruct TestStand to use the <TestStand Application Data>\Cfg directory. Specifies whether TestStand copies all files located in the current TestStand configuration directory to the new location upon shutdown. Specifies the pathname of the TestStand configuration directory. Changes to the TestStand configuration directory do not take effect until you have shut down the TestStand Engine. The configuration directory contains engine and sequence editor option files, the users file, the globals file, and the tools menu file. Specifies the new pathname where TestStand stores configuration files. You can pass an empty string to instruct TestStand to use the <TestStand Application Data>\Cfg directory. Specifies whether TestStand copies all files located in the current TestStand configuration directory to the new location upon shutdown. Launches a dialog box in which you can lock or unlock a PropertyObjectFile, or prompt for a password to perform a lock or unlock operation. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the message in the dialog box. Pass an empty string to use the default message for the dialog box. Specifies an object to lock or unlock. The object lock state determines whether the dialog box performs a lock or unlock operation by calling the PropertyObjectFile.Lock and PropertyObjectFile.Unlock methods respectively. When you pass NULL, the dialog box does not operate on any object. The options parameter specifies whether the dialog box performs a lock or unlock operation. If you pass NULL and perform an unlock operation, you must specify the required password using the passwordString parameter. Specifies any combination of the LockUnlockDialogOptions constants. Specifies the password the dialog box expects when you specify LockUnlockDialogOption_Unlock in the options parameter, and returns the entered password from the dialog box when you specify LockUnlockDialogOption_Lock in the options parameter. Launches a dialog box in which you can lock or unlock a PropertyObjectFile, or prompt for a password to perform a lock or unlock operation. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the message in the dialog box. Pass an empty string to use the default message for the dialog box. Specifies an object to lock or unlock. The object lock state determines whether the dialog box performs a lock or unlock operation by calling the PropertyObjectFile.Lock and PropertyObjectFile.Unlock methods respectively. When you pass NULL, the dialog box does not operate on any object. The options parameter specifies whether the dialog box performs a lock or unlock operation. If you pass NULL and perform an unlock operation, you must specify the required password using the passwordString parameter. Specifies any combination of the LockUnlockDialogOptions constants. Specifies the password the dialog box expects when you specify LockUnlockDialogOption_Unlock in the options parameter, and returns the entered password from the dialog box when you specify LockUnlockDialogOption_Lock in the options parameter. Obtains the User" object that represents a specific user group. Returns NULL if the user group does not exist. The user group specifies the list of user names that are members of the group and the shared privileges granted to the members. Use the User.Members property to edit the list of user names. Specifies the name of the user group to return. Obtains the User" object that represents a specific user group. Returns NULL if the user group does not exist. The user group specifies the list of user names that are members of the group and the shared privileges granted to the members. Use the User.Members property to edit the list of user names. Specifies the name of the user group to return. Specifies whether the engine automatically saves its configuration files: StarupCfg.ini, GeneralEngine.cfg, Adapters.cfg, SearchDirectories.cfg, TypePalettes.cfg, and Custom.cfg. This property defaults to TrueTrue for each instance of the engine. Applications can set this property to False to prevent changes to configuration information from affecting future instances of the engine. The default return value is True. Specifies whether the engine automatically saves its configuration files: StarupCfg.ini, GeneralEngine.cfg, Adapters.cfg, SearchDirectories.cfg, TypePalettes.cfg, and Custom.cfg. This property defaults to TrueTrue for each instance of the engine. Applications can set this property to False to prevent changes to configuration information from affecting future instances of the engine. The default return value is True. Creates and returns a new Locations object. Creates and returns a new Locations object. Note: This method is obsolete. Use the OutputMessages.CopyMessagesToCollection method instead. Returns a reference to the OutputMessages object TestStand maintains. This object is a collection that contains a list of the most recent output messages the OutputMessage.Post method or OutputMessage expression function posts. In TestStand 4.0 and 4.0.1, an application could access this collection in response to the UIMsg_OutputMessages event to obtain new output messages. The application was expected to clear the collection in the handler for this event. If the application did not handle the event or did not clear the collection, the collection could grow without bounds. In TestStand 4.1 or later this method is deprecated, and this collection clears automatically if the application fails to clear it in response to the UIMsg_OutputMessages event. In addition, TestStand adds a warning output message to the collection to notify users about automatically discarded output messages and that the application incorrectly accessed GetOutputMessages without clearing the collection. Although existing applications can handle the UIMsg_OutputMessages event by calling GetOutputMessages and clearing the collection, ensure that new application code obtains the OutputMessages collection that contains the most recent output messages from the ActiveXData member of the user interface message for the UIMsg_OutputMessages event. Note: This method is obsolete. Use the OutputMessages.CopyMessagesToCollection method instead. Returns a reference to the OutputMessages object TestStand maintains. This object is a collection that contains a list of the most recent output messages the OutputMessage.Post method or OutputMessage expression function posts. In TestStand 4.0 and 4.0.1, an application could access this collection in response to the UIMsg_OutputMessages event to obtain new output messages. The application was expected to clear the collection in the handler for this event. If the application did not handle the event or did not clear the collection, the collection could grow without bounds. In TestStand 4.1 or later this method is deprecated, and this collection clears automatically if the application fails to clear it in response to the UIMsg_OutputMessages event. In addition, TestStand adds a warning output message to the collection to notify users about automatically discarded output messages and that the application incorrectly accessed GetOutputMessages without clearing the collection. Although existing applications can handle the UIMsg_OutputMessages event by calling GetOutputMessages and clearing the collection, ensure that new application code obtains the OutputMessages collection that contains the most recent output messages from the ActiveXData member of the user interface message for the UIMsg_OutputMessages event. Creates and returns a new OutputMessage object. When creating a new object, TestStand initializes the OutputMessage.TimeStamp property to the current time, sets the OutputMessage.TextColor property to black, and sets the OutputMessage.IconName property based on the severity. You must call the OutputMessage.Post method to copy the message to the collection the Engine.GetOutputMessages method returns. Specifies the message text. Specifies the category of the message. Applications typically use the category to filter or sort messages. If you do not specify a category, the output message is considered uncategorized. You can specify any value for this parameter. Specifies the severity of the output message. Specifies the sequence context of the current execution, if available. TestStand extracts information from the sequence context to construct the OutputMessage.FileLocations and OutputMessage.ExecutionLocations properties for the new object. Creates and returns a new OutputMessage object. When creating a new object, TestStand initializes the OutputMessage.TimeStamp property to the current time, sets the OutputMessage.TextColor property to black, and sets the OutputMessage.IconName property based on the severity. You must call the OutputMessage.Post method to copy the message to the collection the Engine.GetOutputMessages method returns. Specifies the message text. Specifies the category of the message. Applications typically use the category to filter or sort messages. If you do not specify a category, the output message is considered uncategorized. You can specify any value for this parameter. Specifies the severity of the output message. Specifies the sequence context of the current execution, if available. TestStand extracts information from the sequence context to construct the OutputMessage.FileLocations and OutputMessage.ExecutionLocations properties for the new object. Specifies whether TestStand sends UIMsg_OutputMessages messages to the user interface. The default value is True. Independent of this property, TestStand always sends output messages to a debugger if you enable the DebugOptions_SendOutputMessagesToDebugger option of the StationOptions.DebugOptions property. Specifies whether TestStand sends UIMsg_OutputMessages messages to the user interface. The default value is True. Independent of this property, TestStand always sends output messages to a debugger if you enable the DebugOptions_SendOutputMessagesToDebugger option of the StationOptions.DebugOptions property. Returns a reference to a new OutputMessages object. This collection is initially empty. An application typically creates a new OutputMessages object to collect the output messages the application must process or display. The application receives output messages by handling the UIMsg_OutputMessages event and copying the output messages from the collection stored in the UIMessage.ActiveXData property into a private collection. Returns a reference to a new OutputMessages object. This collection is initially empty. An application typically creates a new OutputMessages object to collect the output messages the application must process or display. The application receives output messages by handling the UIMsg_OutputMessages event and copying the output messages from the collection stored in the UIMessage.ActiveXData property into a private collection. Creates and returns a new UndoStack object. You must call the UndoStack.Clear method on the UndoStack before you release the last reference to it. Creates and returns a new UndoStack object. You must call the UndoStack.Clear method on the UndoStack before you release the last reference to it. Converts a lookup string into a String Array of the property names in the lookup string. Specifies the lookup string to parse. Specify any combination of ParseLookupStringOptions. Converts a lookup string into a String Array of the property names in the lookup string. Specifies the lookup string to parse. Specify any combination of ParseLookupStringOptions. Launches the Preconditions dialog box, in which you construct the precondition expression of a step. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the initial precondition expression string for the dialog box. You can pass an empty string for this parameter. This string must be a localized expression. Specifies the sequence the dialog box displays for building the precondition expression. Specify CommonDlgOption_NoOptions or CommonDlgOption_ModalToAppMainWind. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. Pass CommonDlgOption_ModalToAppMainWind if you want the dialog box to be modal with respect to the window handle of the AppMainHwnd property. Typically, you do not need to set this option. Specifies the context to use for browsing expressions. Launches the Preconditions dialog box, in which you construct the precondition expression of a step. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the initial precondition expression string for the dialog box. You can pass an empty string for this parameter. This string must be a localized expression. Specifies the sequence the dialog box displays for building the precondition expression. Specify CommonDlgOption_NoOptions or CommonDlgOption_ModalToAppMainWind. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from AppMainHwnd. Pass CommonDlgOption_ModalToAppMainWind if you want the dialog box to be modal with respect to the window handle of the AppMainHwnd property. Typically, you do not need to set this option. Specifies the context to use for browsing expressions. Launches a dialog box in which you can edit the order of the type palettes and add or remove type palettes for the engine to load. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Note: Even if this method returns False, modifications made to sequence files and type palettes might have been saved because some operations in the dialog box prompt you to save a type palette. Saving a type palette prompts you to increment a version number, which is an edit of the file for all files that reference the type. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specify CommonDlgOption_NoOptions or CommonDlgOption_ModalToAppMainWind. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from the Engine.AppMainHwnd property. Pass CommonDlgOption_ModalToAppMainWind if you want a modal dialog box with respect to the window handle of the AppMainHwnd property. Typically, you do not need to set this option. Launches a dialog box in which you can edit the order of the type palettes and add or remove type palettes for the engine to load. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Note: Even if this method returns False, modifications made to sequence files and type palettes might have been saved because some operations in the dialog box prompt you to save a type palette. Saving a type palette prompts you to increment a version number, which is an edit of the file for all files that reference the type. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specify CommonDlgOption_NoOptions or CommonDlgOption_ModalToAppMainWind. By default, the dialog box is modal to the last active window of the calling thread, or if there is none, to the last active window from the Engine.AppMainHwnd property. Pass CommonDlgOption_ModalToAppMainWind if you want a modal dialog box with respect to the window handle of the AppMainHwnd property. Typically, you do not need to set this option. Creates and returns a new EvaluationTypes object. Specifies the value for the EvaluationTypes.PropertyValueTypeFlags property on the object this method returns. Creates and returns a new EvaluationTypes object. Specifies the value for the EvaluationTypes.PropertyValueTypeFlags property on the object this method returns. Note: This method is obsolete. Use the PropertyObject.DisplayEditNumericFormatDialog method instead. Launches a dialog box in which you can edit a numeric format string used to display numbers. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. The numeric format string to edit. Enable EditNumFormat_AllowDefaultFormat if you want to pass an empty string. Returns True if the returned format is valid, otherwise returns False. Specifies any combination of the EditNumericFormatOptions constants. Specifies a number to format initially in the dialog box. Note: This method is obsolete. Use the PropertyObject.DisplayEditNumericFormatDialog method instead. Launches a dialog box in which you can edit a numeric format string used to display numbers. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. The numeric format string to edit. Enable EditNumFormat_AllowDefaultFormat if you want to pass an empty string. Returns True if the returned format is valid, otherwise returns False. Specifies any combination of the EditNumericFormatOptions constants. Specifies a number to format initially in the dialog box. Creates and returns a new UndoItemCreator object. Specifies the kind of edit for which the UndoItemCreator creates an undo item. Specifies the file you are editing. Specifies a string to use as the UndoDescription and RedoDescription of the undo item the UndoItemCreator creates. If you pass an empty string, the UndoItemCreator uses a default description. Creates and returns a new UndoItemCreator object. Specifies the kind of edit for which the UndoItemCreator creates an undo item. Specifies the file you are editing. Specifies a string to use as the UndoDescription and RedoDescription of the undo item the UndoItemCreator creates. If you pass an empty string, the UndoItemCreator uses a default description. Creates and returns a reference to a new FileInformation object you use to retrieve information about a specified file, such as file version, file format version and whether it is a Sequence File or a custom format file. TestStand does not access the file you specify when it calls this method. TestStand accesses the file when you call the properties and methods on the FileInformation object. Thus, TestStand returns a new FileInformation object when the file does not exist at the specified path. Calling methods or properties on a FileInformation object might throw an exception if the file cannot be located. To verify that the file exists on disk and is accessible at the given path, use the FileInformation.FileExists property. Returns a new FileInformation object. Specifies the absolute pathname of the file. Creates and returns a reference to a new FileInformation object you use to retrieve information about a specified file, such as file version, file format version and whether it is a Sequence File or a custom format file. TestStand does not access the file you specify when it calls this method. TestStand accesses the file when you call the properties and methods on the FileInformation object. Thus, TestStand returns a new FileInformation object when the file does not exist at the specified path. Calling methods or properties on a FileInformation object might throw an exception if the file cannot be located. To verify that the file exists on disk and is accessible at the given path, use the FileInformation.FileExists property. Returns a new FileInformation object. Specifies the absolute pathname of the file. Specifies Specifies Specifies Specifies Specifies Specifies Returns the PropertyObjectFile that contains templates for variables, steps, and sequences you can insert while editing. The file that contains the editing templates. Specifies any combination of GetTemplatesFileOptions. Returns the PropertyObjectFile that contains templates for variables, steps, and sequences you can insert while editing. The file that contains the editing templates. Specifies any combination of GetTemplatesFileOptions. Instructs TestStand to acquire a type of license for the application. When the license is no longer required, call the Engine.ReleaseLicense method using the handle this method returns. An application requires a type of license until you release all license handles for the license type. If TestStand cannot acquire the license and you do not pass AcquireLicenseOption_SuppressStartupDialog to the options parameter, TestStand launches a dialog box that prompts you to evaluate, activate, or purchase TestStand. This method returns an error if TestStand cannot acquire the required license. The Application Manager control automatically calls this method when you call the ApplicationMgr.Start method. When using an Application Manager control to start the engine, set the ApplicationMgr.IsEditor property before calling ApplicationMgr.Start. A handle to the acquired license. Specifies the type of license to acquire. Specifies one or more AcquireLicenseOptions options. Instructs TestStand to acquire a type of license for the application. When the license is no longer required, call the Engine.ReleaseLicense method using the handle this method returns. An application requires a type of license until you release all license handles for the license type. If TestStand cannot acquire the license and you do not pass AcquireLicenseOption_SuppressStartupDialog to the options parameter, TestStand launches a dialog box that prompts you to evaluate, activate, or purchase TestStand. This method returns an error if TestStand cannot acquire the required license. The Application Manager control automatically calls this method when you call the ApplicationMgr.Start method. When using an Application Manager control to start the engine, set the ApplicationMgr.IsEditor property before calling ApplicationMgr.Start. A handle to the acquired license. Specifies the type of license to acquire. Specifies one or more AcquireLicenseOptions options. Informs TestStand that a previously acquired license is no longer needed. An application requires a type of license until you release all license handles for the license type. Specifies the license handle to release. Pass a handle the Engine.AcquireLicense method returned. Reserved for future use. Informs TestStand that a previously acquired license is no longer needed. An application requires a type of license until you release all license handles for the license type. Specifies the license handle to release. Pass a handle the Engine.AcquireLicense method returned. Reserved for future use. Returns the type of license the application is using. Use the Engine.AcquireLicense method to instruct TestStand to acquire a type of license for the application, and use the Engine.ReleaseLicense method to inform TestStand when an acquired license is no longer needed. Returns the type of license the application is using. Use the Engine.AcquireLicense method to instruct TestStand to acquire a type of license for the application, and use the Engine.ReleaseLicense method to inform TestStand when an acquired license is no longer needed. Specifies the maximum number of undo items an UndoStack can contain. The default value is -1, which means no limit exists to the number of undo items an UndoStack can contain. Setting this property does not remove undo items from UndoStacks. When you push an undo item onto an UndoStack, the UndoStack removes the oldest undo items from the UndoStack so that the number of items on the UndoStack does not exceed the UndoLimit. The Engine initializes this property to -1. The Engine does not persist the value of this property. Specifies the maximum number of undo items an UndoStack can contain. The default value is -1, which means no limit exists to the number of undo items an UndoStack can contain. Setting this property does not remove undo items from UndoStacks. When you push an undo item onto an UndoStack, the UndoStack removes the oldest undo items from the UndoStack so that the number of items on the UndoStack does not exceed the UndoLimit. The Engine initializes this property to -1. The Engine does not persist the value of this property. Expands all supported macros in the path string. 32-bit TestStand replaces the $(Platform) path macro with win32, and 64-bit TestStand replaces the macro with x64. For example, 32-bit TestStand replaces C:\bin\$(Platform)\module.dll with C:\bin\win32\module.dll, and 64-bit TestStand replaces the same macro with C:\bin\x64\module.dll. TestStand does not change paths that do not contain macros. Using a second $ character escapes the macro to form a literal part of a path. For example, TestStand expands C:\bin\$$(Platform)\module.dll to C:\bin\$(Platform)\module.dll. This method returns False if TestStand escapes but does not expand a macro. Returns True if at least one macro was found and expanded. Returns False if no macros were expanded. The path string in which to expand path macros. If TestStand expands the macros, it modifies this string. Expands all supported macros in the path string. 32-bit TestStand replaces the $(Platform) path macro with win32, and 64-bit TestStand replaces the macro with x64. For example, 32-bit TestStand replaces C:\bin\$(Platform)\module.dll with C:\bin\win32\module.dll, and 64-bit TestStand replaces the same macro with C:\bin\x64\module.dll. TestStand does not change paths that do not contain macros. Using a second $ character escapes the macro to form a literal part of a path. For example, TestStand expands C:\bin\$$(Platform)\module.dll to C:\bin\$(Platform)\module.dll. This method returns False if TestStand escapes but does not expand a macro. Returns True if at least one macro was found and expanded. Returns False if no macros were expanded. The path string in which to expand path macros. If TestStand expands the macros, it modifies this string. Indicates whether this instance of the TestStand Engine is 64-bit. Returns True if this instance of the TestStand Engine is 64-bit. Indicates whether this instance of the TestStand Engine is 64-bit. Returns True if this instance of the TestStand Engine is 64-bit. Returns the Microsoft Windows handle for the TestStand list of large images. The TestStand Engine maintains lists of images for all the icons from the <TestStand>\Components\Icons and <TestStand Public>\Components\Icons directories and images you add using the Engine.AddImage method. TestStand separates the images according to size and places each image in the list of large images or in the list of small images. This method returns a Windows handle, HIMAGELIST, for the list of large images. The type of the variant matches the architecture of the TestStand Engine, for example, VT_UI4 for 32-bit TestStand and VT_UI8 for 64-bit TestStand. You can use the image list functions in the Microsoft Windows Platform Software Development Kit to access the images in the list. Use this property as an alternative to using the Images collection. Note: You can access this image list only from the process that created it, which is the process that created the engine. Returns the Microsoft Windows handle for the TestStand list of large images. The TestStand Engine maintains lists of images for all the icons from the <TestStand>\Components\Icons and <TestStand Public>\Components\Icons directories and images you add using the Engine.AddImage method. TestStand separates the images according to size and places each image in the list of large images or in the list of small images. This method returns a Windows handle, HIMAGELIST, for the list of large images. The type of the variant matches the architecture of the TestStand Engine, for example, VT_UI4 for 32-bit TestStand and VT_UI8 for 64-bit TestStand. You can use the image list functions in the Microsoft Windows Platform Software Development Kit to access the images in the list. Use this property as an alternative to using the Images collection. Note: You can access this image list only from the process that created it, which is the process that created the engine. Registers a C function as the user interface message event callback. Note: National Instruments recommends using the Application Manager control with the ApplicationMgr.AfterUIMessageEvent and ApplicationMgr.UIMessageEvent events as needed. Refer to the example user interface applications TestStand provides, located in the <TestStand>\UserInterfaces directory. You can use a C function as the Event callback, instead of using ActiveX events or polling. Ensure the Engine.UIMessagePollingEnabled property is False or TestStand does not call the callback. The callback function must use the following C function prototype: void __cdecl UIMessageCallback(struct IDispatch *UIMessageDisp); The UIMessageDisp parameter is the IDispatch pointer to a UIMessage object. Because this pointer is passed to the callback as a parameter, do not release it when you finish using it. Note: Use this method only inside of the sequence editor or user interface. Specifies the address of the callback function. The type of the variant must match the pointer size for the current platform, for example VT_UI4 for 32-bit TestStand and VT_UI8 for 64-bit TestStand. Registers a C function as the user interface message event callback. Note: National Instruments recommends using the Application Manager control with the ApplicationMgr.AfterUIMessageEvent and ApplicationMgr.UIMessageEvent events as needed. Refer to the example user interface applications TestStand provides, located in the <TestStand>\UserInterfaces directory. You can use a C function as the Event callback, instead of using ActiveX events or polling. Ensure the Engine.UIMessagePollingEnabled property is False or TestStand does not call the callback. The callback function must use the following C function prototype: void __cdecl UIMessageCallback(struct IDispatch *UIMessageDisp); The UIMessageDisp parameter is the IDispatch pointer to a UIMessage object. Because this pointer is passed to the callback as a parameter, do not release it when you finish using it. Note: Use this method only inside of the sequence editor or user interface. Specifies the address of the callback function. The type of the variant must match the pointer size for the current platform, for example VT_UI4 for 32-bit TestStand and VT_UI8 for 64-bit TestStand. Returns the Microsoft Windows handle for the TestStand list of small images. The TestStand Engine maintains lists of images for all the icons from the <TestStand>\Components\Icons and "<TestStand Public>\Components\Icons directories and images you add using the Engine.AddImage method. TestStand separates the images according to size and places each image in the list of large images or in the list of small images. This method returns a Windows handle, HIMAGELIST, for the list of small images. The type of the variant matches the architecture of the TestStand Engine, for example, VT_UI4 for 32-bit TestStand and VT_UI8 for 64-bit TestStand. You can use the image list functions in the Microsoft Windows Platform Software Development Kit to access the images in the list. Use this property as an alternative to using the Images collection. Note: You can access this image list only from the process that created it, which is the process that created the engine. Returns the Microsoft Windows handle for the TestStand list of small images. The TestStand Engine maintains lists of images for all the icons from the <TestStand>\Components\Icons and "<TestStand Public>\Components\Icons directories and images you add using the Engine.AddImage method. TestStand separates the images according to size and places each image in the list of large images or in the list of small images. This method returns a Windows handle, HIMAGELIST, for the list of small images. The type of the variant matches the architecture of the TestStand Engine, for example, VT_UI4 for 32-bit TestStand and VT_UI8 for 64-bit TestStand. You can use the image list functions in the Microsoft Windows Platform Software Development Kit to access the images in the list. Use this property as an alternative to using the Images collection. Note: You can access this image list only from the process that created it, which is the process that created the engine. Provides a way for addon products to check the licensing status of a specified feature. TestStand acquires licenses for associated addon products when you call the Engine.AcquireLicense method. Returns True if TestStand was able to successfully check out the specified addon license. Specifies the name of the feature to check the status of. Provides a way for addon products to check the licensing status of a specified feature. TestStand acquires licenses for associated addon products when you call the Engine.AcquireLicense method. Returns True if TestStand was able to successfully check out the specified addon license. Specifies the name of the feature to check the status of. Creates and returns a new PropertyObjectType object. You can use this method to create an object to assign to the AdditionalResult.Type property. Specifies the value of the PropertyObjectType.ValueType property of the object this method creates. If you pass PropValType_NamedType, this method uses the type you specify with the TypeName parameter to determine the values of the properties of the PropertyObjectType object this method creates. Specifies the value of the PropertyObjectType.TypeName property of the object this method creates. If you pass PropValType_NamedType for the ValueType parameter, pass the name of a currently loaded type. Otherwise, pass an empty string. If you specify a type name, this method uses the type you specify to determine the values of the properties of the PropertyObjectType object this method creates instead of the other parameters you pass to this method. Specifies the value of the PropertyObjectType.ElementType property of the object this method creates. Pass a PropertyObjectType object if you pass PropValType_Array for the ValueType parameter. Otherwise, pass NULL. Typically, you make another call to this method to create an object to pass for this parameter. Specifies the value of the PropertyObjectType.IsObject property of the object this method creates. Pass False for this parameter only to create an object for the type of an element of an array of numbers, Boolean values, strings, or references. Creates and returns a new PropertyObjectType object. You can use this method to create an object to assign to the AdditionalResult.Type property. Specifies the value of the PropertyObjectType.ValueType property of the object this method creates. If you pass PropValType_NamedType, this method uses the type you specify with the TypeName parameter to determine the values of the properties of the PropertyObjectType object this method creates. Specifies the value of the PropertyObjectType.TypeName property of the object this method creates. If you pass PropValType_NamedType for the ValueType parameter, pass the name of a currently loaded type. Otherwise, pass an empty string. If you specify a type name, this method uses the type you specify to determine the values of the properties of the PropertyObjectType object this method creates instead of the other parameters you pass to this method. Specifies the value of the PropertyObjectType.ElementType property of the object this method creates. Pass a PropertyObjectType object if you pass PropValType_Array for the ValueType parameter. Otherwise, pass NULL. Typically, you make another call to this method to create an object to pass for this parameter. Specifies the value of the PropertyObjectType.IsObject property of the object this method creates. Pass False for this parameter only to create an object for the type of an element of an array of numbers, Boolean values, strings, or references. Creates and returns a new ResultLogger object. Creates and returns a new ResultLogger object. Creates and returns a new ResultLog object. Creates and returns a new ResultLog object. Specifies the interval, in milliseconds, at which TestStand forces .NET garbage collection. Set this property to a value less than or equal to 0 to disable automatic garbage collection by the TestStand Engine. By default, in applications that use the TestStand ApplicationMgr control, this value is set to 3000 (3-second interval). In applications that do not use the ApplicationMgr control, this property is set to -1. Forcing garbage collection at regular intervals reduces memory usage and improves performance by ensuring that TestStand objects that have previously been referenced in .NET code are promptly freed or marked for reuse. If you use the default interval setting and notice constant CPU usage for the garbage collection the garbage collection timer performs, the following issues are the most likely causes:    * A significant number of managed objects (on the order of tens of millions or more)–If you have too many managed objects, increase the garbage collection interval.    * Leaking managed objects–Managed objects can leak as a result of unexpected unreleased references, such as references incurred when you add an event handler with an instance method. Use .NET leak detection tools to identify unreleased references. Note: The garbage collection this property handles applies only to the version of the .NET Common Language Runtime (CLR) the TestStand Engine uses directly. If you are using a different version of the .NET CLR for a user interface, implement a timer for garbage collection in which you call the .NET Framework GC.Collect method to collect objects from that version of the .NET CLR. Specifies the interval, in milliseconds, at which TestStand forces .NET garbage collection. Set this property to a value less than or equal to 0 to disable automatic garbage collection by the TestStand Engine. By default, in applications that use the TestStand ApplicationMgr control, this value is set to 3000 (3-second interval). In applications that do not use the ApplicationMgr control, this property is set to -1. Forcing garbage collection at regular intervals reduces memory usage and improves performance by ensuring that TestStand objects that have previously been referenced in .NET code are promptly freed or marked for reuse. If you use the default interval setting and notice constant CPU usage for the garbage collection the garbage collection timer performs, the following issues are the most likely causes:    * A significant number of managed objects (on the order of tens of millions or more)–If you have too many managed objects, increase the garbage collection interval.    * Leaking managed objects–Managed objects can leak as a result of unexpected unreleased references, such as references incurred when you add an event handler with an instance method. Use .NET leak detection tools to identify unreleased references. Note: The garbage collection this property handles applies only to the version of the .NET Common Language Runtime (CLR) the TestStand Engine uses directly. If you are using a different version of the .NET CLR for a user interface, implement a timer for garbage collection in which you call the .NET Framework GC.Collect method to collect objects from that version of the .NET CLR. Forces .NET garbage collection and waits for pending finalizers to ensure that all unreferenced COM objects that have ever been referenced in .NET in the TestStand process are synchronously freed. For example, if you are handling events from any of the TestStand User Interface (UI) controls in a .NET user interface, .NET references all the parameters to all the events for the TestStand UI Control. The lifetimes of these parameters are extended until garbage collection occurs. When you use .NET to handle any event on an ActiveX control, such as a TestStand UI Control, the .NET Framework handles all events for that control even if you do not handle the events directly in code. In addition, if sequences pass TestStand interface objects as parameters to .NET code modules, .NET references those parameters, which extends the lifetimes of those parameters until garbage collection occurs. You typically do not need to call this method because TestStand automatically calls this method at various critical points, such as when an execution completes or when a sequence file or execution closes. Note: The garbage collection this method performs applies only to the version of the .NET CLR the TestStand Engine uses directly. To ensure objects from another .NET CLR version are destroyed, such as when you implement a user interface in a different version of the .NET CLR, call the System.GC.Collect and System.GC.WaitForPendingFinalizers .NET Framework methods in that version of the .NET CLR. Reserved for future use. You must always pass 0 for this parameter. Forces .NET garbage collection and waits for pending finalizers to ensure that all unreferenced COM objects that have ever been referenced in .NET in the TestStand process are synchronously freed. For example, if you are handling events from any of the TestStand User Interface (UI) controls in a .NET user interface, .NET references all the parameters to all the events for the TestStand UI Control. The lifetimes of these parameters are extended until garbage collection occurs. When you use .NET to handle any event on an ActiveX control, such as a TestStand UI Control, the .NET Framework handles all events for that control even if you do not handle the events directly in code. In addition, if sequences pass TestStand interface objects as parameters to .NET code modules, .NET references those parameters, which extends the lifetimes of those parameters until garbage collection occurs. You typically do not need to call this method because TestStand automatically calls this method at various critical points, such as when an execution completes or when a sequence file or execution closes. Note: The garbage collection this method performs applies only to the version of the .NET CLR the TestStand Engine uses directly. To ensure objects from another .NET CLR version are destroyed, such as when you implement a user interface in a different version of the .NET CLR, call the System.GC.Collect and System.GC.WaitForPendingFinalizers .NET Framework methods in that version of the .NET CLR. Reserved for future use. You must always pass 0 for this parameter. Returns the time in seconds at which the engine started since midnight (00:00:00), January 1, 1970, coordinated universal time (UTC). UTC is also known as Greenwich mean time. Some time values in TestStand, such as the TS.StartTime property of a step result, are in terms of seconds since the engine started. You can add the value of the Engine.SecondsAtStartIn1970UniversalCoordinatedTime property to these times to convert to a universal time base. Returns the time in seconds at which the engine started since midnight (00:00:00), January 1, 1970, coordinated universal time (UTC). UTC is also known as Greenwich mean time. Some time values in TestStand, such as the TS.StartTime property of a step result, are in terms of seconds since the engine started. You can add the value of the Engine.SecondsAtStartIn1970UniversalCoordinatedTime property to these times to convert to a universal time base. Displays the Password Protect Type Definitions dialog box, in which you can edit the password protection settings of the types you specify. Note: TestStand supports password-protecting type definitions to deter unauthorized users from editing the types in the sequence editor. However, any TestStand user can continue to programmatically edit a locked type by using the TestStand PropertyObject API. National Instruments does not recommend password-protecting types as the only way of protecting intellectual property. Returns True if the user clicked OK in the dialog box and False if the user clicked Cancel. When this method returns True, use the modifiedTypeDefinitions parameter to determine which types, if any, were modified. Specifies an array of type definitions for which you want to edit the password protection information. Returns the subset of types you passed to the typeDefinitions parameter the user modified in the dialog box. The dialog box might modify only a subset of the types because some of the types might already use the settings the user specified. Specifies the CommonDialogOptions option you want to use. Use the bitwise-OR operator to specify more than one option. Displays the Password Protect Type Definitions dialog box, in which you can edit the password protection settings of the types you specify. Note: TestStand supports password-protecting type definitions to deter unauthorized users from editing the types in the sequence editor. However, any TestStand user can continue to programmatically edit a locked type by using the TestStand PropertyObject API. National Instruments does not recommend password-protecting types as the only way of protecting intellectual property. Returns True if the user clicked OK in the dialog box and False if the user clicked Cancel. When this method returns True, use the modifiedTypeDefinitions parameter to determine which types, if any, were modified. Specifies an array of type definitions for which you want to edit the password protection information. Returns the subset of types you passed to the typeDefinitions parameter the user modified in the dialog box. The dialog box might modify only a subset of the types because some of the types might already use the settings the user specified. Specifies the CommonDialogOptions option you want to use. Use the bitwise-OR operator to specify more than one option. Displays the Unlock Type Definitions dialog box, in which you can unlock the specified types. Note: TestStand supports password-protecting type definitions to deter unauthorized users from editing the types in the sequence editor. However, any TestStand user can continue to programmatically edit a locked type by using the TestStand PropertyObject API. National Instruments does not recommend password-protecting types as the only way of protecting intellectual property. Returns True if any types were unlocked in the Unlock Type Definitions dialog box, even if not all types were successfully unlocked or if the user clicked OK and no types needed to be unlocked because all the types were already unlocked or were not password-protected. Specifies an array of type definitions you want to unlock. Returns True if all the types you passed to the typeDefinitions parameter were successfully unlocked, already unlocked, or not password-protected. Specifies any combination of the LockUnlockDialogOptions constants. Displays the Unlock Type Definitions dialog box, in which you can unlock the specified types. Note: TestStand supports password-protecting type definitions to deter unauthorized users from editing the types in the sequence editor. However, any TestStand user can continue to programmatically edit a locked type by using the TestStand PropertyObject API. National Instruments does not recommend password-protecting types as the only way of protecting intellectual property. Returns True if any types were unlocked in the Unlock Type Definitions dialog box, even if not all types were successfully unlocked or if the user clicked OK and no types needed to be unlocked because all the types were already unlocked or were not password-protected. Specifies an array of type definitions you want to unlock. Returns True if all the types you passed to the typeDefinitions parameter were successfully unlocked, already unlocked, or not password-protected. Specifies any combination of the LockUnlockDialogOptions constants. Returns the .NET Common Language Runtime version the TestStand Engine and the .NET Adapter use. Returns the .NET Common Language Runtime version the TestStand Engine and the .NET Adapter use. Creates a new PropertyObjectFile object, determines the file type, and reads the object as that file type. Use this method to examine the internal structure, data, and types contained in a PropertyObjectFile, even if the file type is unknown. Calling this method produces the same result as calling the FileInformation.PropertyObjectFileType property, the Engine.NewPropertyObjectFile method, and the PropertyObjectFile.ReadFile method. You cannot read a users file, a configuration file, or a station globals file using this method. This method returns an error if the file is not a PropertyObjectFile. Use FileInformation.IsPropertyObjectFile property to determine if the file is a PropertyObjectFile. Note: Use the Engine.GetSequenceFileEx method if you intend to open and run a sequence file. Unlike the Engine.GetSequenceFileEx method, this method does not load the sequence file into the internal cache of the engine, which might result in unexpected behavior. The newly created PropertyObjectFile object. Specifies the pathname of the file. Returns True if the file has type conflicts and the user cancelled the operation. Specifies how to handle type conflicts. Pass 0 to specify the default behavior or pass one or more ReadPropertyObjectFileOptions constants. Use the bitwise-OR operator to specify multiple options. Creates a new PropertyObjectFile object, determines the file type, and reads the object as that file type. Use this method to examine the internal structure, data, and types contained in a PropertyObjectFile, even if the file type is unknown. Calling this method produces the same result as calling the FileInformation.PropertyObjectFileType property, the Engine.NewPropertyObjectFile method, and the PropertyObjectFile.ReadFile method. You cannot read a users file, a configuration file, or a station globals file using this method. This method returns an error if the file is not a PropertyObjectFile. Use FileInformation.IsPropertyObjectFile property to determine if the file is a PropertyObjectFile. Note: Use the Engine.GetSequenceFileEx method if you intend to open and run a sequence file. Unlike the Engine.GetSequenceFileEx method, this method does not load the sequence file into the internal cache of the engine, which might result in unexpected behavior. The newly created PropertyObjectFile object. Specifies the pathname of the file. Returns True if the file has type conflicts and the user cancelled the operation. Specifies how to handle type conflicts. Pass 0 to specify the default behavior or pass one or more ReadPropertyObjectFileOptions constants. Use the bitwise-OR operator to specify multiple options. Returns a TypeUsageList that contains all the types currently in memory. Reserved for future use. Returns a TypeUsageList that contains all the types currently in memory. Reserved for future use. Use this method to remove all the passwords the Remember Password option in the Unlock File dialog box and the Unlock Type Definitions dialog box specifies to store in the file password cache. Use this method to remove all the passwords the Remember Password option in the Unlock File dialog box and the Unlock Type Definitions dialog box specifies to store in the file password cache. Returns the build version number for the current version of TestStand. The full version number format is MajorVersion.MinorVersion.RevisionVersion.BuildVersion. Returns the build version number for the current version of TestStand. The full version number format is MajorVersion.MinorVersion.RevisionVersion.BuildVersion. This property indicates whether profiling is enabled. Profiling is enabled when a call to Engine.BeginProfiling has not been balanced by a call to Engine.EndProfiling. If profiling is not enabled, calls to Engine.LogProfilerAction do nothing. This property indicates whether profiling is enabled. Profiling is enabled when a call to Engine.BeginProfiling has not been balanced by a call to Engine.EndProfiling. If profiling is not enabled, calls to Engine.LogProfilerAction do nothing. Enables profiling. Profiling remains enabled until every call to BeginProfiling is balanced by a call to Engine.EndProfiling. Enables profiling. Profiling remains enabled until every call to BeginProfiling is balanced by a call to Engine.EndProfiling. Balances one call to Engine.BeginProfiling. If all calls to BeginProfiling are balanced, profiling is disabled. Balances one call to Engine.BeginProfiling. If all calls to BeginProfiling are balanced, profiling is disabled. Specifies options that determine the types of data that profiling collects. Refer to ProfilerOptions. for a list of options. You can limit the types of data that profiling collects in order to reduce profiling overhead. Specifies options that determine the types of data that profiling collects. Refer to ProfilerOptions. for a list of options. You can limit the types of data that profiling collects in order to reduce profiling overhead. Specifies whether the profiler collects timing information about code modules the specified adapter loads and executes. Specifies which adapter for which to enable or disable profiler data collection. Pass an empty string to enable or disable profiling for all adapters. Specifies whether to enable or disable profiler data collection. Specifies whether the profiler collects timing information about code modules the specified adapter loads and executes. Specifies which adapter for which to enable or disable profiler data collection. Pass an empty string to enable or disable profiling for all adapters. Specifies whether to enable or disable profiler data collection. Indicates whether the profiler collects timing information for code modules the specified adapter loads and executes. Returns whether the profiler collects timing information for code modules that the specified adapter loads and executes. Specifies the adapter. Indicates whether the profiler collects timing information for code modules the specified adapter loads and executes. Returns whether the profiler collects timing information for code modules that the specified adapter loads and executes. Specifies the adapter. Logs the beginning, end, or a change in the state of an operation so that the information can be collected and displayed by a profiler. The method performs no action if Engine.ProfilingEnabled is not true. This method creates an OutputMessage that stores the profiler information. The built-in properties of the OutputMessage store some information, such as the source location of the event being logged and the time that it occurred. This methods adds custom sub-properties to the OutputMessage to store the remaining information. The ProfilerOutputMessageSubProperties constants define the names of these sub-properties. Returns the OutputMessage this method creates that stores the profiler information. If you pass True to postMessage, you do not need to operate on the returned OutputMessage. The OutputMessage.Category property has a value of Engine.ProfilerOutputMessageCategoryName to indicate that it contains profiler information and should not be displayed in an output messages window. A TestStand profiler window functions by collecting OutputMessages that have this category name and inspecting their contents. Pass a ProfilerMechanisms constant, or a string that indicates the mechanism the profiler event is recording. Pass an adapter key name, if applicable. If this value is not null or an empty string, the method stores it as a sub-property of the OutputMessage with a name defined by ProfilerOutputMessageSubProperty_AdapterKeyName. Pass the current SequenceContext, if applicable. Otherwise pass null or Nothing. This method uses the sequence context to determine location and test socket information for the source of profiler event. Pass the UniqueThreadId property of the current TestStand thread as a string. If the current thread is not a TestStand execution thread, pass the decimal formatted result of the Win32 GetCurrentThreadId function as a string with the following string appended: "|" Pass the DisplayName property of the current TestStand thread. If the current thread is not a TestStand execution thread, pass the result of Engine.GetResourceString("PROFILER", "NON_EXECUTION_THREAD"). Pass the name of the item that generated the profiler event. This method stores the name as a sub-property of the OutputMessage with a name defined by ProfilerOutputMessageSubProperty_Name. Pass an element of the ProfilerStates enumeration that describes the transition that the profiler event records. This method stores the profilerState as a numeric sub-property of the OutputMessage with a name defined by ProfilerOutputMessageSubProperty_State. Pass a string that describes the operation that the profiler event is recording a transition for. If applicable, pass an element of the ProfilerOperations module. This method stores the operation as a sub-property of the OutputMessage with a name defined by ProfilerOutputMessageSubProperty_Operation. If you pass the value of ProfilerState_Blocked to profilerState, this method stores the value you pass to timeout as a numeric sub-property of the OutputMessage with a name defined by ProfilerOutputMessageSubProperty_TimeoutPeriod. Specifies whether this method calls the Post method on the OutputMessage it creates. If you pass false, you must later call the Post method on the OutputMessage the method returns. Pass false if you need to add additional data to the OutputMessage before posting it. Pass Null or Nothing to this reserved parameter. Logs the beginning, end, or a change in the state of an operation so that the information can be collected and displayed by a profiler. The method performs no action if Engine.ProfilingEnabled is not true. This method creates an OutputMessage that stores the profiler information. The built-in properties of the OutputMessage store some information, such as the source location of the event being logged and the time that it occurred. This methods adds custom sub-properties to the OutputMessage to store the remaining information. The ProfilerOutputMessageSubProperties constants define the names of these sub-properties. Returns the OutputMessage this method creates that stores the profiler information. If you pass True to postMessage, you do not need to operate on the returned OutputMessage. The OutputMessage.Category property has a value of Engine.ProfilerOutputMessageCategoryName to indicate that it contains profiler information and should not be displayed in an output messages window. A TestStand profiler window functions by collecting OutputMessages that have this category name and inspecting their contents. Pass a ProfilerMechanisms constant, or a string that indicates the mechanism the profiler event is recording. Pass an adapter key name, if applicable. If this value is not null or an empty string, the method stores it as a sub-property of the OutputMessage with a name defined by ProfilerOutputMessageSubProperty_AdapterKeyName. Pass the current SequenceContext, if applicable. Otherwise pass null or Nothing. This method uses the sequence context to determine location and test socket information for the source of profiler event. Pass the UniqueThreadId property of the current TestStand thread as a string. If the current thread is not a TestStand execution thread, pass the decimal formatted result of the Win32 GetCurrentThreadId function as a string with the following string appended: "|" Pass the DisplayName property of the current TestStand thread. If the current thread is not a TestStand execution thread, pass the result of Engine.GetResourceString("PROFILER", "NON_EXECUTION_THREAD"). Pass the name of the item that generated the profiler event. This method stores the name as a sub-property of the OutputMessage with a name defined by ProfilerOutputMessageSubProperty_Name. Pass an element of the ProfilerStates enumeration that describes the transition that the profiler event records. This method stores the profilerState as a numeric sub-property of the OutputMessage with a name defined by ProfilerOutputMessageSubProperty_State. Pass a string that describes the operation that the profiler event is recording a transition for. If applicable, pass an element of the ProfilerOperations module. This method stores the operation as a sub-property of the OutputMessage with a name defined by ProfilerOutputMessageSubProperty_Operation. If you pass the value of ProfilerState_Blocked to profilerState, this method stores the value you pass to timeout as a numeric sub-property of the OutputMessage with a name defined by ProfilerOutputMessageSubProperty_TimeoutPeriod. Specifies whether this method calls the Post method on the OutputMessage it creates. If you pass false, you must later call the Post method on the OutputMessage the method returns. Pass false if you need to add additional data to the OutputMessage before posting it. Pass Null or Nothing to this reserved parameter. Indicates the category name the TestStand engine assigns to the OutputMessages the Engine.LogProfilerAction method creates. Indicates the category name the TestStand engine assigns to the OutputMessages the Engine.LogProfilerAction method creates. Returns the PropertyObjectFile that contains settings, such as station options or search directories. Engine.GetEngineConfigFile provides direct access to TestStand Engine configuration files. Use this API with caution, particularly when changing settings. It is possible to put the configuration into an invalid state using this API. In most cases, there is a more appropriate, higher-level API that should be preferred. For example, prefer Engine.StationOptions when working with station options, or Engine.SearchDirectories when working with search directories. Specifies the engine configuration file to return. Supported options are FileType_GeneralEngineConfigFile, FileType_SearchDirectoriesConfigFile, FileType_AdaptersConfigFile, FileType_TypePalettesConfigFile, FileType_CustomConfigFile, FileType_UsersFile, and FileType_StationGlobalsFile. Passing any other value results in a run time error. Returns the PropertyObjectFile that contains settings, such as station options or search directories. Engine.GetEngineConfigFile provides direct access to TestStand Engine configuration files. Use this API with caution, particularly when changing settings. It is possible to put the configuration into an invalid state using this API. In most cases, there is a more appropriate, higher-level API that should be preferred. For example, prefer Engine.StationOptions when working with station options, or Engine.SearchDirectories when working with search directories. Specifies the engine configuration file to return. Supported options are FileType_GeneralEngineConfigFile, FileType_SearchDirectoriesConfigFile, FileType_AdaptersConfigFile, FileType_TypePalettesConfigFile, FileType_CustomConfigFile, FileType_UsersFile, and FileType_StationGlobalsFile. Passing any other value results in a run time error. Get the path of the environment configuration (.tsenv) file that defines the environment in which the engine is running. If the engine is running in the global environment, an empty string is returned. The path of the environment configuration (.tsenv) file that defines the environment in which the engine is running. If the engine is running in the global environment, an empty string is returned. Get the path of the environment configuration (.tsenv) file that defines the environment in which the engine is running. If the engine is running in the global environment, an empty string is returned. The path of the environment configuration (.tsenv) file that defines the environment in which the engine is running. If the engine is running in the global environment, an empty string is returned. Searches for a file in the TestStand search directories using a simple filename or relative pathname. Returns True if the file is found. Specifies a string that contains the simple filename or relative pathname of the file to search for. TestStand expands macros in the path as specified by the Engine.ExpandPathMacros method before searching. Returns the absolute pathname of the file if the file is found. Returns the SearchDirectoryType in which the specified fileToFind was found. This can be any of the types located in SearchDirectoryTypes. Returns the index of the TestStand search directory used to find the fileToFind specified. The list of search directories can be obtained by using the TestStand API SearchDirectories. You can retrieve any search directory from there using this searchDirectoryIndex. Returns True if the method prompts the user and the user cancels the find operation. Specifies whether to prompt the user if the file is not initially found. Specifies file search options. If this flag is True and fileToFind has no file extension, then the FindFile method searches for files with the same basename that end in the common command extensions: .exe, .com, and .bat. Contains the directory of the sequence file, which may also be searched for relative paths. This argument may be empty. Reserved for future use. Searches for a file in the TestStand search directories using a simple filename or relative pathname. Returns True if the file is found. Specifies a string that contains the simple filename or relative pathname of the file to search for. TestStand expands macros in the path as specified by the Engine.ExpandPathMacros method before searching. Returns the absolute pathname of the file if the file is found. Returns the SearchDirectoryType in which the specified fileToFind was found. This can be any of the types located in SearchDirectoryTypes. Returns the index of the TestStand search directory used to find the fileToFind specified. The list of search directories can be obtained by using the TestStand API SearchDirectories. You can retrieve any search directory from there using this searchDirectoryIndex. Returns True if the method prompts the user and the user cancels the find operation. Specifies whether to prompt the user if the file is not initially found. Specifies file search options. If this flag is True and fileToFind has no file extension, then the FindFile method searches for files with the same basename that end in the common command extensions: .exe, .com, and .bat. Contains the directory of the sequence file, which may also be searched for relative paths. This argument may be empty. Reserved for future use. Searches for a file in the TestStand search directories using an absolute path and returns the relative path with respect to the search directory. Returns True if the file is found. An absolute or relative path for the file to find. Contains the directory of the sequence file, which may also be searched for relative paths. Returns the relative path if the file exists on disk and a relative path is found. Otherwise, returns the absolute path. Returns the related search directory if the relative path is found. Searches for a file in the TestStand search directories using an absolute path and returns the relative path with respect to the search directory. Returns True if the file is found. An absolute or relative path for the file to find. Contains the directory of the sequence file, which may also be searched for relative paths. Returns the relative path if the file exists on disk and a relative path is found. Otherwise, returns the absolute path. Returns the related search directory if the relative path is found. Create a new CsvFileInputRecordStream for the specified file. When the returned CsvFileInputRecordStream is no longer needed, it should be closed by calling CsvFileInputRecordStream.Close. If it is not closed already, the stream closes automatically when the last reference to it is removed. Specifies the absolute path to the CSV file. Create a new CsvFileInputRecordStream for the specified file. When the returned CsvFileInputRecordStream is no longer needed, it should be closed by calling CsvFileInputRecordStream.Close. If it is not closed already, the stream closes automatically when the last reference to it is removed. Specifies the absolute path to the CSV file. Create a new CsvFileOutputRecordStream for the specified file. When the returned CsvFileOutputRecordStream is no longer needed, it should be closed by calling OutputRecordStream.Close. If it is not closed already, the stream closes automatically when the last reference to it is removed. Specifies the absolute path to the CSV file. Specifies how to open the CSV file. Supported options include:FileOpenMode_NoOptions - Create the file if it does not exist. Fail with a run-time error if the file exists. FileOpenMode_Truncate - If the file exists, overwrite it deleting the previous contents. Create a new file if it does not exist. FileOpenMode_Append - If the file exists, append to the end of it, preserving the existing contents. Create a new file if it does not exist. FileOpenMode_Uniquify - Create a new file if it does not exist. If a file with the specified path exists, attempt to make the file name unique by appending "_" (underscore) plus a numeric suffix to the file name. For example, if AlreadyExists.csv already exists, AlreadyExists_2.csv is tried, then AlreadyExists_3.csv, etc. until a unique name has been found. If a unique name is not found after 10000 attempts, the method fails and throws a runtime error. Create a new CsvFileOutputRecordStream for the specified file. When the returned CsvFileOutputRecordStream is no longer needed, it should be closed by calling OutputRecordStream.Close. If it is not closed already, the stream closes automatically when the last reference to it is removed. Specifies the absolute path to the CSV file. Specifies how to open the CSV file. Supported options include:FileOpenMode_NoOptions - Create the file if it does not exist. Fail with a run-time error if the file exists. FileOpenMode_Truncate - If the file exists, overwrite it deleting the previous contents. Create a new file if it does not exist. FileOpenMode_Append - If the file exists, append to the end of it, preserving the existing contents. Create a new file if it does not exist. FileOpenMode_Uniquify - Create a new file if it does not exist. If a file with the specified path exists, attempt to make the file name unique by appending "_" (underscore) plus a numeric suffix to the file name. For example, if AlreadyExists.csv already exists, AlreadyExists_2.csv is tried, then AlreadyExists_3.csv, etc. until a unique name has been found. If a unique name is not found after 10000 attempts, the method fails and throws a runtime error. Registers the sequence to execute on TestStand application crash. The sequence is executed in an external application on TestStand application crash. Default parameter values are used when calling the registered sequence. If run time error option is set to Show dialog, the setting is ignored (no dialogs are shown from external application) and cleanup will be executed. Returns the registration id for Engine.UnregisterSequenceToExecuteOnCrash. Specifies the pathname of the sequence file. If the pathname is relative, this method tries to find it using Engine.FindFileEx method. Specifies the name of the sequence to execute on TestStand application crash. Specifies whether to load the sequence file in the external application after TestStand application crash or when sequence is registered. Pass 0 to specify the default behavior, or pass one or more CrashCallbackOptions. Use the bitwise-OR operator to specify multiple options. This parameter is reserved. Registers the sequence to execute on TestStand application crash. The sequence is executed in an external application on TestStand application crash. Default parameter values are used when calling the registered sequence. If run time error option is set to Show dialog, the setting is ignored (no dialogs are shown from external application) and cleanup will be executed. Returns the registration id for Engine.UnregisterSequenceToExecuteOnCrash. Specifies the pathname of the sequence file. If the pathname is relative, this method tries to find it using Engine.FindFileEx method. Specifies the name of the sequence to execute on TestStand application crash. Specifies whether to load the sequence file in the external application after TestStand application crash or when sequence is registered. Pass 0 to specify the default behavior, or pass one or more CrashCallbackOptions. Use the bitwise-OR operator to specify multiple options. This parameter is reserved. Unregisters the sequence to execute on TestStand application crash. Pass the registrationId you receive as the return value from Engine.RegisterSequenceToExecuteOnCrash method. Unregisters the sequence to execute on TestStand application crash. Pass the registrationId you receive as the return value from Engine.RegisterSequenceToExecuteOnCrash method. Launches a dialog box for configuring IO Configuration options. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Launches a dialog box for configuring IO Configuration options. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Use the PropertyObject class to manipulate and access the values of variables and custom step properties. You can also use the PropertyObject to add, copy, or delete subproperties of variables and custom step properties. You can create new objects of this class using the Engine.NewPropertyObject method. You can obtain existing objects of this class as return values from numerous functions. You can obtain the underlying PropertyObject for objects of every class except the Engine class by using the AsPropertyObject method of the respective class. Returns an object that provides type information about the PropertyObject. Returns or specifies the PropTypeFlags_IsModifiedType flag on the current PropertyObject. Calling the PropertyObject.SetTypeFlags method to change the PropertyObjTypeFlags of a PropertyObject always sets the PropTypeFlags_IsModifiedType flag, so you cannot clear the PropTypeFlags_IsModifiedType flag with the SetTypeFlags method. Use this property instead to clear the PropTypeFlags_IsModifiedType flag. This property is valid only for PropertyObject objects that are type definitions. Use the PropertyObject.IsTypeDefinition property to determine whether a PropertyObject is a type definition. Returns the double-precision, 64-bit floating-point value of the property the lookupString parameter specifies. TestStand stores numeric values as double-precision, 64-bit floating-point values, signed 64-bit integer values, or unsigned 64-bit integer values. Numeric value of the property. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Sets the double-precision, 64-bit floating-point value of the property the lookupString parameter specifies. TestStand stores numeric values as double-precision, 64-bit floating-point values, signed 64-bit integer values, or unsigned 64-bit integer values. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the new value for the property. Returns the Boolean value of the property the lookupString parameter specifies. Boolean value of the property. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Sets the Boolean value of the property the lookupString parameter specifies. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the new value for the property. Returns the string value of the property the lookupString parameter specifies. For numeric properties, calling this method with the PropOption_CoerceFromNumber option does not localize the resulting string. Use the PropertyObject.GetFormattedValue method to obtain a localized string for a number. String value of the property. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Sets the string value of the property the lookupString parameter specifies. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the new value for the property. Returns the PropertyObject value of the property the lookupString parameter specifies. PropertyObject value of the property. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Sets the subproperty the lookupString parameter specifies to the PropertyObject object you pass. Do not call this method if another object already contains the object the newValue parameter specifies. For example, if the object you want to specify for the newValue parameter is already a subproperty or an array element of another object, it cannot also be the subproperty of a different object. You can work around this issue by using the PropOption_NotOwning option when you call this method to instead create an alias to the object, by using the PropertyObject.Clone method to make a copy of the object and use the copy instead, or by removing the object from its current parent or array before assigning a new parent. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the new value for the property. Returns the value of the property the lookupString parameter specifies in a variant. You can use this method to obtain the value of an entire array at once. When you obtain an array property using this method, TestStand resizes and redefines the dimensions the destination array to match the array you obtain. Refer to the example in this topic for more information about how to use this method. Variant that contains the value of the property. If the property is an empty array, this method returns a variant that contains an array with the bounds set to indicate that it contains no elements, such as [0..-1]. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Sets the value of the property the lookupString parameter specifies with a variant. You can use this method to set the value of an entire array at once. When you set an array property using this method, TestStand resizes and redefines the dimensions of the destination array to match the array you pass in. Refer to the example in this topic for more information about how to use this method. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the new value for the property. Returns the flags setting of the property the lookupString parameter specifies. Use the PropertyObject.SetFlags method to change the flags setting of a property. Current flags of the property. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Sets the flags setting of the property the lookupString parameter specifies. Use the PropertyObject.GetFlags method to retrieve the flags setting of a property. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the new flags for the property. Note: This method is obsolete. Use the PropertyObject.Type property instead. Returns the type of value and other information about the property the lookupString parameter specifies. Type of value the property stores. Note: If the property is an instance of a named type, this method does not return the PropValType_NamedType constant and instead returns one of the other property value type constants to indicate the value type of the root property. Use the typeName parameter or the PropertyObject.GetTypeDefinition method to determine whether a property is an instance of a named type. This method returns the PropValType_Container constant for arrays. To distinguish between an array and a container, use the IsArray parameter or use the PropertyObjectType.ValueType property, which specifies the PropValType_Array constant for arrays. For arrays, use the PropertyObjectType.ElementType property to obtain the type of the array elements. Alternatively, for arrays of non-containers, you can use the PropertyObject.GetDimensions method to obtain the type of the array elements. For arrays of containers or named types, you can call the PropertyObject.GetType method on the PropertyObject that the PropertyObject.ArrayElementPrototype property returns to obtain the type of array elements. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Returns True if the lookupString specifies a PropertyObject. Returns True if the lookupString specifies an array. Returns the type name if the lookupString parameter specifies an object that is an instance of a named type. Otherwise, returns an empty string. Returns the object that is the type definition for the property the lookupString parameter specifies. Use the PropertyObject.TypeCategory property to determine the type category to which a root type definition belongs. Type definition, in the form of a PropertyObject, for the property the lookupString parameter specifies. Release the PropertyObject when you no longer need it. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Note: This method is obsolete. Use the PropertyObjectType.ArrayDimensions property instead. Returns the upper bounds, lower bounds, total number of elements, and element type for the array the lookupString parameter specifies. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Returns an array index string describing the lowest valid index for each dimension. For example, a two-dimensional array with a lower bound of 0 for the first dimension and 2 for the second would have the lower bound string "[0][2]". Returns an array index string describing the highest valid index for each dimension. For example, a two-dimensional array with an upper bound of 2 for the first dimension and 4 for the second would have the upper bound string "[2][4]". Returns the total number of elements stored in the array. Returns the type of elements stored in the array. Note: This method is obsolete. Use the PropertyObjectType.ArrayDimensions property instead. Sets the upper and lower bounds for the array the lookupString parameter specifies. Use the PropertyObject.SetNumElements method to set the size of a one-dimensional array. To insert a new array element in a one-dimensional array at the specified offset, use the Set_ByOffset methods of the PropertyObject class and specify the PropOption_InsertElement flag. To delete specific elements from a one-dimensional array, use the PropertyObject.DeleteElements method. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies an array index string describing the lowest valid index for each dimension. For example, a two-dimensional array with a lower bound of 0 for the first dimension and 2 for the second has the lower bound string "[0][2]". Specifies an array index string describing the highest valid index for each dimension. For example, a two-dimensional array with an upper bound of 2 for the first dimension and 4 for the second would have the upper bound string "[2][4]". Returns the index of the array element the arrayOffset parameter specifies. An array index string. Array index strings are a list of numbers enclosed in brackets that index each dimension of the array. For example, the following is an array index for a two-dimensional array: [0][1]. Specifies an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies a zero-based number representing the offset of an array element in the one-dimensional physical storage of the array. The offset is in terms of the number of elements. Returns the zero-based offset of the array element the arrayIndex parameter specifies. A zero-based number that represents the offset of an array element in the one-dimensional physical storage of the array. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies an array index string. Array index strings are a list of numbers, enclosed in brackets, that index each dimension of the array. For example, the following is an array index for a two-dimensional array: [0][1]. In addition, this method also supports indexing arrays of objects by name. For example, the following arrayIndex returns the offset of the first object in an object array with the name objectname: ["objectname"]. Creates a new subproperty with the name the lookupString parameter specifies. Note: TestStand does not validate property names you create programmatically for invalid characters, such as spaces, which can result in errors when you use expressions. Use the PropertyObject.ValidateNewSubPropertyName method to validate property names. TestStand expressions require PropertyObject names to be strings that contain only letters, numbers, and underscores. PropertyObject names cannot contain spaces, start with a number, or be empty. Additionally, the PropertyObject name cannot be "Value", and you cannot have duplicate subproperty names. For example, MyVariableName_2000 is a valid PropertyObject name. Names of elements in a PropertyObject array can contain any character. Both sequence names and step names are examples of such named array elements. However, sequence names cannot be empty or contain control characters. You cannot have duplicate sequence names. The name NI is reserved at the root level for attributes. Note: TestStand does not support adding a new subproperty to an instance of a type unless you add the subproperty below a container you have marked as unstructured in the type definition by using the PropFlags_UnstructuredProperty flag. TestStand does not report any errors and creates the property, but does not save the property. When resolving type conflicts and updating type instances, TestStand automatically removes the property. Pass the lookup string for the new subproperty to create. If you pass a lookup string with multiple levels (such as "x.y.z"), this method creates all the necessary intermediate container objects. Refer to lookup string for more information about the strings you can use. Specifies the type of value you want the new subproperty to store. Pass True to make the new subproperty an array with elements that are of the type you specify in the ValueType parameter. Pass the name of an existing type if you want to create the new subproperty as an instance of a named type. Otherwise, pass an empty string. If you pass a type name, you must pass PropValType_NamedType for the ValueType parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. You do not need to pass the InsertIfMissing option to create the new subproperty. Pass DoNothingIfExists if you want the method to not report an error if the subproperty already exists. Deletes the subproperty with the name the lookupString parameter specifies. Use the PropOption_DeleteIfExists option to prevent TestStand from returning errors if the specified property does not exist prior to calling this function. To delete a specific element from a one-dimensional array, use the PropertyObject.DeleteElements method of the PropertyObject class. To insert a new array element in a one-dimensional array at the specified offset, use the Set_ByOffset methods of the PropertyObject class and specify the PropOption_InsertElement flag. Note: TestStand does not support adding a new subproperty to an instance of a type unless you add the subproperty below a container you have marked as unstructured in the type definition by using the PropFlags_UnstructuredProperty flag. TestStand does not report any errors and creates the property, but does not save the property. When resolving type conflicts and updating type instances, TestStand automatically removes the property. Specifies the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Returns the number of subproperties directly within the property the lookupString parameter specifies. Number of subproperties within the property specified by lookupString. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Returns the name of a subproperty within the property the lookupString parameter specifies. Name of the subproperty the index specifies. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Specifies the zero-based index of the subproperty. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Sets the name of a subproperty within the property the lookupString parameter specifies. You identify the property using a zero-based index. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Specifies the zero-based index of the subproperty to name. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the new name for the subproperty. Returns True if the property the lookupString parameter specifies exists. Returns True if the property exists. Specifies the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Creates a copy of the property the lookupString parameter specifies. This method does not always make an identical copy unless you use the bitwise-OR operator to specify the PropOption_DoNotShareProperties and PropOption_CopyAllFlags options. You can create an alias object by using the PropOption_NotOwning option with the PropertyObject.SetPropertyObject or PropertyObject.SetPropertyObjectByOffset methods. When you clone a step or a sequence, call the Step.CreateNewUniqueStepId or Sequence.CreateNewUniqueStepIds methods to replace the unique step ID with a new unique ID. Copy of the property. Release the copy when you finish using it. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Note: This method is obsolete. Use the PropertyObject.EvaluateEx method instead. Evaluates an expression and returns the result. The result of the expression, in the form of a PropertyObject. The PropertyObject can contain a value of any type, depending on the expression. Specifies a standard TestStand expression. Writes the contents of an object to the file the pathString parameter specifies and associates the name the objectName parameter specifies with the object in the file. If you call this method on an alias object, TestStand generates the stream using the object to which the alias refers. This method does not include alias subproperty objects in the stream. Note: Setting and obtaining values of PropertyObjects objects, the subproperties of PropertyObject objects, and the parent properties of PropertyObject objects is thread-safe and returns consistent values as long as no structural changes to the parent-child relationship of the property objects occur. Making structural changes to a PropertyObject data structure while another thread accesses or modifies the object is not safe and can lead to unexpected behavior and crashes. If you need to share a PropertyObject data structure between threads and need to be able to modify the structure while you share the object, you must use a TestStand Lock step or step setting, an critical section, or other synchronization primitives to ensure that no other threads access the PropertyObject while another thread modifies the structure of the object. Specifies the pathname of the file to which to write the object data. Specifies the name to associate with the object. Pass 0 to specify the default behavior or pass one or more ReadWriteOptions constants. Use the bitwise-OR operator to specify multiple read/write options. If you have already written an object with the specified name to the file, pass the RWOption_EraseExistingObject constant for this parameter. Otherwise, the values stored in the file do not update to the values of the object you are writing if the object you are writing has default values for some of its properties. Additionally, unless you use the RWOption_EraseExistingObject or RWOption_EraseAll constants, the method leaves properties from previously written versions of the object in the file even if the properties do not exist in the current version of the object being written. Note: This method is obsolete. Use the PropertyObject.ReadEx method instead. Reads the contents of an object from a file and stores them in the PropertyObject. Use the objectName parameter to specify the file with the pathString parameter and the object in the file. Specifies the pathname of the file from which to read the object data. Specifies the name with which the object is stored in the file. Pass 0 to specify the default behavior, or pass one or more ReadWriteOptions constants. Use the bitwise-OR operator to specify multiple read/write options. Adds the contents of the object to a stream of string data. If you call this method on an alias object, TestStand generates the stream using the object to which the alias refers. This method does not include alias subproperty objects in the stream. Specifies an existing string or an empty string. The method returns a new string that contains the contents of the string passed for this parameter and the contents of the object. Specifies the name with which to store the object in the stream. Pass 0 to specify the default behavior, or pass one or more ReadWriteOptions constants. Use the bitwise-OR operator to specify multiple read/write options. Note: This method is obsolete. Use the PropertyObject.UnserializeEx method instead. Reads the contents of an object from a stream of string data and stores the contents in the PropertyObject to which the method applies. You cannot unserialize a stream that contains a container type into a property object that is a value type, or vice versa. This method does not return an error, but instead sets the PropertyObject on which this method operates to the default value. If you attempt to unserialize a stream that contains a value type into a property object of a different value type, TestStand attempts to coerce the value. If the coercion is unsuccessful, TestStand sets the PropertyObject on which this method operates to the default value. TestStand does not assign the name or flags associated with the top-level PropertyObject in the stream to the PropertyObject on which this method operates. Specifies an existing stream of data that stores the object. Specifies the name with which the object is stored in the stream. Pass 0 to specify the default behavior, or pass one or more ReadWriteOptions constants. Use the bitwise-OR operator to specify multiple read write options. Specifies the name of the PropertyObject. TestStand expressions require PropertyObject names to be strings that contain only letters, numbers, and underscores. PropertyObject names cannot contain spaces, start with a number, or be empty. Additionally, the PropertyObject name cannot be "Value", and you cannot have duplicate subproperty names. For example, MyVariableName_2000 is a valid PropertyObject name. Names of elements in a PropertyObject array can contain any character. Both sequence names and step names are examples of such named array elements. However, sequence names cannot be empty or contain control characters. You cannot have duplicate sequence names. The name NI is reserved at the root level for attribute names. Note: TestStand does not generate an error if you specify an invalid name for a PropertyObject. Note: TestStand does not validate type or variable names you create programmatically for invalid characters, such as spaces, which can result in errors when you use expressions. Use the PropertyObject.ValidateNewName, PropertyObject.ValidateNewSubPropertyName, PropertyObject.ValidateNewElementName, or TypeUsageList.ValidateNewTypeName methods to validate property names. Specifies the comment string associated with the property object. Returns the value of the ActiveX Automation Reference property the lookupString parameter specifies. The object is returned as an IDispatch pointer. This method returns a NULL reference, if that is what the property contains. Note: This method and the PropertyObject.GetValInterface method apply to the PropValType_Reference value type. The PropertyObject.GetValInterface and PropertyObject.SetValInterface methods are meant for advanced users who want to store arbitrary interfaces in TestStand reference properties. IDispatch pointer value of the property. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Returns the value of the ActiveX Automation Reference property the lookupString parameter specifies. The object is returned as an IUnknown pointer. This method returns a NULL reference, if that is what the property contains. This method and the PropertyObject.GetValIDispatch method apply to the PropValType_Reference value type. The PropertyObject.GetValInterface and PropertyObject.SetValInterface methods are meant for advanced users who want to store arbitrary interfaces in TestStand reference properties. IUnknown pointer value of the property. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Sets the value of the ActiveX Automation Reference property the lookupString parameter specifies. You must specify the value as an IDispatch pointer. The reference property maintains a reference to the object you specify. If the property already contains a reference, it releases that reference before storing the new one. If you specify a NULL reference, the property releases any existing reference it holds. Note: This method and the PropertyObject.SetValInterface method apply to the PropValType_Reference value type. The PropertyObject.GetValInterface and PropertyObject.SetValInterface methods are intended for advanced users who want to store arbitrary interfaces in TestStand reference properties. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the new value for the property. Sets the value of the ActiveX Automation Reference property the lookupString parameter specifies. You must specify the value as an IUnknown pointer. The reference property maintains a reference to the object you specify. If the property already contains a reference, it releases that reference before storing the new one. If you specify a NULL reference the property releases any existing reference it holds. Note: This method and the PropertyObject.SetValIDispatch method apply to the PropValType_Reference value type. The PropertyObject.GetValInterface and PropertyObject.SetValInterface methods are intended for use by advanced users who want to store arbitrary interfaces in TestStand reference properties. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the new value for the property. Returns the full version of the TestStand Engine as a string that last modified the type. This property is valid only for root type definitions. Obtains the display name, if any, of the name and value of the property the lookupString parameter specifies. Returns the display name for the value of the property. If there is no display name, a string representation of the actual value is returned. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Reserved for future use. Pass 0. Returns the display name of the property. If there is no display name, the name of the property is returned. Returns the display name for the value of the property. If there is no display name, a string representation of the actual value is returned. Evaluates an expression and returns the result. TestStand evaluates the expression within the context of the object on which you call this method. This means the expression can reference the subproperties of the object as variables. The result of the expression, in the form of a PropertyObject. The PropertyObject can contain a value of any type depending on the expression. If the expression is empty and you pass the EvalOption_AllowEmptyExpression constant, this method returns a NULL dispatch pointer or object reference. Specifies a standard TestStand expression. Pass 0 to specify the default behavior, or pass one or more EvaluationOptions constants. Use the bitwise-OR operator to specify multiple options. Determines if the specified new name is valid for the PropertyObject. Call this method before setting the PropertyObject.Name property to determine whether the new name is valid. Returns an explanation of why the name is not valid. Specifies the new name to validate. PropertyObjects can have identical names when they are elements in an array of PropertyObjects. If the object is not an array element, pass False to this parameter. Returns True if the new name is valid. Launches a dialog box in which you can view and change properties of the object. This method launches a different dialog box according to the type of object. For example, calling this method on a Step object launches the Step Properties dialog box using the Engine.DisplayStepPropDialog method. Returns one or more of the PropertyDialogOutputs status flags. Use the bitwise-AND operator to check for specific values. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. The string can contain '%1' to be replaced with object name and '%2' to be replaced with object type name. Specifies the property object file to which the object belongs. Use the SequenceFile.AsPropertyObjectFile method to obtain a property object file from a sequence file. Specifies any combination of the PropertyDialogOptions constants. Returns the index of the subproperty the propName parameter specifies. The subproperty index is zero-based. Pass the name of a property within the PropertyObject that contains a subproperty. Refer to Lookup Strings for more information. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the name of the subproperty to obtain the index for. Sets the index of the subproperty the propName parameter specifies. Use this method to change the order of subproperties. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the name of the subproperty for which to set the index. Specifies the new index for the subproperty. The value must be greater than or equal to 0 and less than the number of subproperties. Returns a value that indicates whether the object is a root type definition. A root type definition is an object created with the Engine.NewDataType or Engine.NewStepType methods. Subproperties of root type definitions are also type definitions, but they are not root type definitions. Root type definitions normally belong to a TypeUsageList. Inserts an existing property object as a subproperty of another property object. To insert a new array element in one-dimensional arrays at the specified offset, use the Set_ByOffset methods of the PropertyObject class and specify the PropOption_InsertElement flag. Use the PropertyObjectType.ArrayDimensions property to change the size of multi-dimensional array objects. Note: TestStand does not validate property names you create programmatically for invalid characters, such as spaces, which can result in errors when you use expressions. Use the PropertyObject.ValidateNewSubPropertyName method to validate property names. TestStand expressions require PropertyObject names to be strings that contain only letters, numbers, and underscores. PropertyObject names cannot contain spaces, start with a number, or be empty. Additionally, the PropertyObject name cannot be "Value", and you cannot have duplicate subproperty names. For example, MyVariableName_2000 is a valid PropertyObject name. Names of elements in a PropertyObject array can contain any character. Both sequence names and step names are examples of such named array elements. However, sequence names cannot be empty or contain control characters. You cannot have duplicate sequence names. The name NI is reserved at the root level for attributes. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the index at which to insert the subproperty. This value must be greater than or equal to 0 and less than or equal to the number of subproperties. Specifies the object to insert as a subproperty. This object must not be a subproperty of another object. Use the PropertyObject.Parent property to determine whether an object is already a subproperty. Returns the number of elements in the array object. This method is valid only for array objects. Use the PropertyObjectType.ArrayDimensions property to obtain the number of elements in each dimension of a multi-dimensional array. Sets the number of elements of a single dimensional array. This method is valid only for single dimensional arrays. The elements in the array retain their values. Use the PropertyObjectType.ArrayDimensions property to set the number of elements in each dimension of a multi-dimensional array. Specifies the new number of elements for the array. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Deletes one or more elements of an array object. This method is valid only for one-dimensional array objects. Use the PropertyObjectType.ArrayDimensions property to change the size of multi-dimensional array objects. To insert a new array element in a one-dimensional array at the specified offset, use the Set_ByOffset methods of the PropertyObject class and specify the PropOption_InsertElement flag. Specifies the array offset of the first element to delete. Specifies the number of elements to delete. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Returns the double-precision, 64-bit floating-point value of the array element the arrayOffset parameter specifies. This method is valid only for array objects and is intended for use with arrays of double-precision, floating-point numbers. Use the PropertyObject.GetValInteger64ByOffset method with arrays of 64-bit integers, and use the PropertyObject.GetValUnsignedInteger64ByOffset method with arrays of unsigned 64-bit integers. If the array is of a type other than double-precision, floating-point, you can use this method with the corresponding PropOption_Coerce constant. Double-precision, 64-bit floating-point value of the array element. Specifies a zero-based number representing the offset of an array element in the one-dimensional physical storage of the array. The offset is in terms of the number of elements. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Sets the double-precision, 64-bit floating-point value of the array element the arrayOffset parameter specifies. This method is valid only for array objects and is intended for use with arrays of double-precision, floating-point numbers. Use the PropertyObject.SetValInteger64ByOffset method with arrays of 64-bit integers, and use the PropertyObject.SetValUnsignedInteger64ByOffset method with arrays of unsigned 64-bit integers. If the array is of a type other than double-precision, floating-point, you can use this method with the corresponding PropOption_Coerce constant. Specifies a zero-based number representing the offset of an array element in the one-dimensional physical storage of the array. The offset is in terms of the number of elements. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the new value for the array element. Returns the Boolean value of the array element the arrayOffset parameter specifies. This method is valid only for array objects. Specifies a zero-based number that represents the offset of an array element in the one-dimensional physical storage of the array. The offset is in terms of the number of elements. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Sets the Boolean value of the array element the arrayOffset parameter specifies. This method is valid only for array objects. Specifies a zero-based number representing the offset of an array element in the one-dimensional physical storage of the array. The offset is in terms of the number of elements. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the new value for the array element. Returns the string value of the array element the arrayOffset parameter specifies. This method is valid only for array objects. For numeric properties, calling this method with the PropOption_CoerceFromNumber option does not localize the resulting string. Use the PropertyObject.GetFormattedValue method to obtain a localized string for a number. String value of the array element. Specifies a zero-based number representing the offset of an array element in the one-dimensional physical storage of the array. The offset is in terms of the number of elements. Pass 0 to specify the default behavior, or one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Sets the string value of the array element the arrayOffset parameter specifies. This method is valid only for array objects. Specifies a zero-based number representing the offset of an array element in the one-dimensional physical storage of the array. The offset is in terms of the number of elements. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the new value for the array element. Returns the PropertyObject the arrayOffset parameter specifies. This method is valid only for array objects. For arrays that do not contain objects, such as arrays of numbers, Booleans, strings, or ActiveX references, this method returns a property object that is an alias to the specified array element. PropertyObject value of the array element. Specifies a zero-based number representing the offset of an array element in the one-dimensional physical storage of the array. The offset is in terms of the number of elements. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Sets the array element the arrayOffset parameter specifies to the PropertyObject object you pass. This method is valid only for array objects. For arrays that do not contain objects, such as arrays of numbers, Booleans, strings, or ActiveX references, this method expects a property object of the same type as the array element. Do not call this method if another object already contains the object the newValue parameter specifies. For example, if the object you want to specify for the newValue parameter is already a subproperty or an array element of another object, it cannot also be the subproperty of a different object. You can work around this issue by using the PropOption_NotOwning option when you call this method to instead create an alias to the object, by using the PropertyObject.Clone method to make a copy of the object and use the copy instead, or by removing the object from its current parent or array before assigning a new parent. Specifies a zero-based number representing the offset of an array element in the one-dimensional physical storage of the array. The offset is in terms of the number of elements. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the new value for the array element. Returns the value of the array element the arrayOffset parameter specifies in a variant. This method is valid only for array objects. Variant that contains the value of the array element. If the element is an empty array, this method returns a variant that contains an array with the bounds set to indicate that it contains no elements, such as [0..-1]. Specifies a zero-based number representing the offset of an array element in the one-dimensional physical storage of the array. The offset is in terms of the number of elements. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Sets the value of the array element the arrayOffset parameter specifies with a variant. This method is valid only for array objects. You can use this method to set the entire value of an element that is an array. Specifies a zero-based number representing the offset of an array element in the one-dimensional physical storage of the array. The offset is in terms of the number of elements. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the new value for the array element. Returns the value of the ActiveX Automation Reference array element the arrayOffset parameter specifies. The object is returned as an IDispatch pointer. This method is valid only for array objects. This method returns a NULL reference, if that is what the array element contains. This method and the PropertyObject.GetValIDispatch method apply to the PropValType_Reference value type. The PropertyObject.GetValInterface and PropertyObject.SetValInterface methods are meant for advanced users who want to store arbitrary interfaces in TestStand reference properties. IDispatch pointer value of the array element. Specifies a zero-based number representing the offset of an array element in the one-dimensional physical storage of the array. The offset is in terms of the number of elements. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Sets the value of the ActiveX Automation Reference array element the arrayOffset parameter specifies. This method is valid only for array objects. You must specify the value as an IDispatch pointer. The reference property maintains a reference to the object you specify. If the property already contains a reference, it releases that reference before storing the new one. If you specify a NULL reference, the property releases any existing reference it holds. This method and the PropertyObject.SetValInterfaceByOffset apply to the PropValType_Reference value type. The PropertyObject.GetValInterface and PropertyObject.SetValInterface methods are intended for use by advanced users who want to store arbitrary interfaces in TestStand reference properties. Specifies a zero-based number representing the offset of an array element in the one-dimensional physical storage of the array. The offset is in terms of the number of elements. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the new value for the array element. Returns the value of the ActiveX Automation Reference array element the arrayOffset parameter specifies. The object is returned as an IUnknown pointer. This method is valid only for array objects. This method returns a NULL reference, if that is what the property contains. This method and the PropertyObject.GetValIDispatch method apply to the PropValType_Reference value type. The PropertyObject.GetValInterface and PropertyObject.SetValInterface methods are meant for advanced users who want to store arbitrary interfaces in TestStand reference properties. IUnknown pointer value of the array element. Specifies a zero-based number representing the offset of an array element in the one-dimensional physical storage of the array. The offset is in terms of the number of elements. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Sets the value of the ActiveX Automation Reference array element the arrayOffset parameter specifies. This method is valid only for array objects. You must specify the value as an IUnknown pointer. The reference property maintains a reference to the object you specify. If the property already contains a reference, it releases that reference before storing the new one. If you specify a NULL reference, the property releases any existing reference it holds. This method and the PropertyObject.SetValIDispatchByOffset method apply to the PropValType_Reference value type. The PropertyObject.GetValInterface and PropertyObject.SetValInterface methods are intended for use by advanced users who want to store arbitrary interfaces in TestStand reference properties. Specifies a zero-based number representing the offset of an array element in the one-dimensional physical storage of the array. The offset is in terms of the number of elements. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the new value for the array element. Returns the object structure change count of the property the lookupString parameter specifies. The structure change count is the number of changes made to the structure of this object. Structural changes include insertion and removal of properties as well as name changes. Changes to values of subproperties are not included in this count. The sequence editor uses this property to determine whether it needs to refresh the display of the object. Number of structural changes to the object. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Returns the default flags for instances of the type the lookupString parameter specifies. This method is valid only for type definitions. The type instance default flags are the initial flags instances of the type have when they are created. If the corresponding instance override flag is set, the value for that flag as defined in the instance default flag will always be the value in the instance of the type and cannot be changed in that instance. Default flags of the type. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Sets the default flags for instances of the type the lookupString parameter specifies. This method is valid only for type definitions. The type instance default flags are the initial flags instances of the type have when they are created. If the corresponding instance override flag is set, the value for that flag as defined in the instance default flag will always be the value in the instance of the type and cannot be changed in that instance. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the default flags of the type. Returns a value that indicates whether the object is a type definition. A type definition is an object that is either a root type definition or is a subproperty of a root type definition. Determines whether the object the lookupString parameter specifies contains an instance of the specified root type. Returns True if the property object or any of the subproperties are instances of the specified root type. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the name of the root type. Returns the type category to which the type definition belongs. This property is valid only for root type definitions. Add a root type definition to a type category by calling the TypeUsageList.InsertType method. Returns a value that indicates whether the subproperty the lookupString parameter specifies is an alias to another object. An alias object is a property object that references another object or array element. Create an alias object by using the PropOption_NotOwning option with the PropertyObject.SetPropertyObject or PropertyObject.SetPropertyObjectByOffset methods. You can also create an alias object by calling the PropertyObject.GetPropertyObject or PropertyObject.GetPropertyObjectByOffset methods on arrays that do not contain objects (such as arrays of numbers, Booleans, strings or ActiveX references), in which case the resulting alias object refers to the specified array element. With the exception of the PropertyObject.Parent property, calling a method or referencing a property on an alias object is equivalent to calling the same method or property on the referenced object or array element unless you pass the PropOption_ReferToAlias option, in which case the method affects the alias object itself. To obtain the referenced object, use the GetPropertyObject method and pass an empty string for the lookupString parameter. TestStand uses alias objects to make objects appear to have multiple owners. For example, the SequenceContext object contains an alias to the current step. The Step object cannot be a subproperty of the sequence context because it belongs to the sequence instead. By having an alias object that refers to the step, the sequence context appears to contain the step itself. Returns True if the property is an alias. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Returns a lookup string for the property when the topObject parameter specifies a parent of the property. If the topObject parameter does not specify the parent of the property, this method returns the lookup string to the most parent object of the property. Call this method to obtain a lookup string you can use with the object the topObject parameter specifies when topObject is a parent of the property. Do not use this method to determine the lookup string for a property under a SequenceContext object because the context uses alias objects to reference many properties and the context is not a parent of the property. For example, the expression "StationGlobals.MyBool.GetLocation(ThisContext)" returns "Data.MyBool", where the "Data" property is the most parent object in the station global variables file. Returns the lookup string. Specifies the object that contains this object. Launches a dialog box in which you can view and change the object flags. Returns one or more of the PropertyDialogOutputs status flags. Use the bitwise-AND operator to check for specific values. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies any combination of the PropertyDialogOptions constants. Launches a dialog box in which you can view and change the bounds of an array object. This method is valid only on array objects. Use this method when you create a new array object. Use the PropertyObject.DisplayPropertiesDialog method to modify the array bounds and other PropertyObject properties. Returns True if you make modifications and click OK in the dialog box. Returns False if you click Cancel or make no modifications. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies any combination of the ArrayBoundsDialogOptions constants. Returns the parent or owning property object. If this object is an alias object, you can obtain the parent of the object the alias references by first obtaining the referenced object by passing an empty string for the lookupString parameter of the PropertyObject.GetPropertyObject method, then access the parent property. The object that owns this object. Returns NULL if none. Returns a value that indicates whether you can add subproperties to this object. When this property is False, the PropertyObject.InsertSubProperty, PropertyObject.NewSubProperty, and PropertyObject.SetPropertyObject methods report errors. Note: This method is obsolete. Use the PropertyObjectType.DisplayString property instead. Returns a string that describes the type of the object. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Compares this object to another PropertyObject. With no options, this method returns True if both objects have the same number of subproperties with the same case-insensitive names, value types, representation, values, flags, and attributes. If both objects are type definitions, the struct/cluster passing settings, type flags, instance default flags, instance override flags, type versions, type definition lock settings, and type attributes must also be the same. If a subproperty enables the PropFlags_ExcludeFromComparison flag, TestStand ignores the subproperty for purposes of this comparison. If you specify the PropOption_RequireIdenticalStructure option, additional settings for the properties must be the same. If you specify the PropOption_CaseInsensitive option, the method ignores case differences when comparing string values. Specifies the object to compare to this object. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. You typically use the PropOption_CaseInsensitive, PropOption_DoNotRecurse, and PropOption_RequireIdenticalStructure options with this method. Reads the contents of an object from a file and stores them in the PropertyObject. You specify the file with the pathString parameter and specify the object in the file with the objectName parameter. Specifies the pathname of the file from which to read the object data. Specifies the name with which the object is stored in the file. Pass 0 to specify the default behavior, or pass one or more ReadWriteOptions constants. Use the bitwise-OR operator to specify multiple read/write options. Specifies how to handle type conflicts in the file. Reads the contents of an object from a stream of string data and stores the contents in the PropertyObject to which the method applies. You cannot unserialize a stream that contains a container type into a property object that is a value type or vise versa. This method does not return an error but instead sets the PropertyObject on which this method operates to the default value. If you attempt to unserialize a stream that contains a value type into a property object of a different value type, TestStand attempts to coerce the value. If the coercion is unsuccessful, TestStand sets the PropertyObject on which this method operates to the default value. TestStand does not assign the name or flags associated with the top-level PropertyObject in the stream to the PropertyObject on which this method operates. Specifies an existing stream of data that stores the object. Specifies the name with which the object is stored in the stream. Pass 0 to specify the default behavior, or pass one or more ReadWriteOptions constants. Use the bitwise-OR operator to specify multiple read/write options. Specifies how to handle type conflicts in the stream. Specifies the version of the PropertyObject object if it is a root type definition. If the object is not a root type definition, the property reports an error. Call the PropertyObject.IsRootTypeDefinition property to check if this property would return an error. The version string is in a format similar to that of DLLs and executables: "M[.m[.r[.b]]]," where M=major version, m=minor version, r=revision, and b=build number. All but the major version can be omitted. Example version strings are "1.0.2.200" and "2.1." If you want to set the type version, you must pass a string that follows this format. Returns the type flags setting of the property the lookupString parameter specifies. Call this method only for PropertyObject objects that are type definitions. Current type flags of the property. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Sets the type flags setting of the property the lookupString parameter specifies. Call this method only for PropertyObject objects that are type definitions. Use the PropertyObject.IsTypeDefinition property to determine whether the object is a type definition. Note: You cannot clear the PropTypeFlags_IsModifiedType flag with this method because setting the type flags automatically sets the PropTypeFlags_IsModifiedType flag. Instead, use the PropertyObject.IsModifiedType property to set or clear the PropTypeFlags_IsModifiedType flag. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the new type flags for the property. Specifies a numeric format string TestStand uses to format a numeric value or values in a numeric array when you call the PropertyObject.GetFormattedValue method. The syntax of the numeric format string is identical to the format string that the C printf function accepts, with the following exceptions:     * Place a $ character after the % character in the format string to remove trailing zeros after the decimal point.    * Use a format code of %b to format a number in binary.    * Specify an empty string to set the format to the default numeric format. Returns the flags for which the type determines the value in the instances of the type. Specify the type or a property of the type in the lookupString parameter. This method is valid only for type definitions. If an instance override flag is set, the value for that flag as defined in the instance default flag will always be the value in the instance of the type and cannot be changed in that instance. Instance override flags of the type. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Sets the flags for which the type determines the value in the instances of the type. Specify the type or a property of the type in the lookupString. This method is valid only for type definitions. If you set an instance override flag, the value for that flag as defined in the instance default flag will always be the value in the instance of the type and cannot be changed in that instance. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the default flags of the type. Specifies the prototype for elements of the array. This property is valid only for arrays of containers or arrays of named types. Call the PropertyObject.Type property to determine whether the object is an array of containers or named types. The array element prototype is a template from which new elements are copied when the size of the array increases. The array element prototype represents the expected structure of elements of the array. Determines if the specified name is valid for a new subproperty of the PropertyObject. Call this method before adding a new subproperty to determine whether the name of the new subproperty is valid. Returns an explanation of why the name is not valid. Specifies the new name to validate. Typically, you pass False to this parameter because subproperties cannot have identical names. Returns True if the new name is valid. Determines if the specified name is valid for a new element of the PropertyObject. This method is valid only for arrays of containers or arrays of named types. Call this method before adding a new element to determine whether the name of the new element is valid. Returns an explanation of why the name is not valid. Specifies the new name to validate. In addition to validating the name, also checks if the name is already in use. Typically, you pass True to this parameter because array elements are allowed to have duplicate names. Returns True if the new name is valid. Returns a formatted string that describes the value of the object. Use this string to display the value of an object. For string, number, and Boolean Array objects, the method returns a string composed of the concatenated values of the array elements. For Container objects, this method returns the string "...". For empty Reference objects, the method returns the string Nothing. Place a $ character after the % character in the format string to remove trailing zeros after the decimal point. Use a "%s" style format specifier to format any value as a string with a specified width and alignment. For example, calling this method on the string value "Right justified" with a format string of "%20s" returns: "   Right justified" Use a format code of %b to format a number in binary. Formatted string value of the property Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Specifies how the method determines which character is the localized decimal point, which it uses to localize the display value. Pass one of the following options: PropOption_DecimalPoint_UseComma, PropOption_DecimalPoint_UsePeriod, PropOption_DecimalPoint_UsePreference, or PropOption_DecimalPoint_UseSystemSetting. Use the bitwise-OR operator to specify multiple options. Specifies a C (printf) style format string to control the conversion. When you pass an empty string, this method uses the following default TestStand format strings based on the numeric representation of the numeric property objects:     * %.13g for double-precision, 64-bit floating-point values    * %d for signed 64-bit integer values    * %u for unsigned 64-bit integer values Specifies whether the function uses the inherent format of the first argument, if the argument value has a non-default numeric display format. If you pass True and the value argument has a non-default format, the function uses the value format instead of the format you pass to parameter three. Specifies a string that separates each element in the concatenated string of array elements the function returns. Generates the corresponding XML for a PropertyObject. You can use the PropertyObject.SetXML method to recreate an object using the XML this method generates. You can use the generated XML for exchanging data between TestStand and other applications. If you call this method on an alias object, TestStand generates the XML stream using the object to which the alias refers. By default, this method includes alias subproperty objects in the XML stream, unless you specify the XMLOptions_ExcludeAliasObjects option. Refer to the World Wide Web Consortium-compliant XML schema file, PropertyObject.xsd, located in the <TestStand>\Components\Models\TestStandModels directory, for more information about the output of the GetXML method and the required format for the input stream to SetXML. The <TestStand>\Components\Models\TestStandModels\PropertyObject.xsd file defines the XSD schema definition for the GetXML and SetXML methods. The <TestStand>\Components\Models\TestStandModels\Report.xsd file defines the XSD schema definition for XML reports. Use this parameter to control the XML generation. You can use any combination of the flags found in XMLOptions. Specifies the number of tab characters in front of each line of generated XML source. Specifies a default name when you call this method on an object that has no name. Pass an empty string if you want to use the name of the PropertyObject on which this method was called. This applies only to the root PropertyObject and not subproperties. Use this parameter to control the format of numeric values in the resulting XML. When you pass an empty string, this method uses the following default TestStand format strings based on the numeric representation of the numeric property objects:     * %.16g for double-precision, 64-bit floating-point values    * %d for signed 64-bit integer values    * %u for unsigned 64-bit integer values Note: TestStand ignores format strings of the %g type when the representation is signed 64-bit integer or unsigned 64-bit integer. If you use the XMLOption_UseValueFormatIfDefined flag to format numeric values, the XML instead uses the numeric format of the number, if specified. Searches a property object and subproperties. Returns a SearchResults object that is a handle to the asynchronous search already in progress. To wait for the search to complete, call the SearchResults.IsComplete method. A SearchResult object. Specifies a lookup string that indicates the location of the subproperty of the PropertyObject on which to begin the search. If a match is found, the location of the match in the SearchMatch object is relative to the original PropertyObject, not the subproperty. You can pass an empty string for this parameter to begin the search at the root-level of the PropertyObject. Specifies the string or regular expression for which to search. To use regular expressions, you must pass the option SearchOptions_RegExpr for the searchOptions parameter of this method. Specifies one or more SearchOptions constants. Use the bitwise-OR operator to specify multiple search options. The search option SearchOptions_IncludeSubsequenceFiles does not apply to this method. Specifies one or more SearchFilterOptions constants. Use the bitwise-OR operator to specify multiple search filter options. Only the following filter options apply to this method: SearchFilterOptions_CustomStepProps, SearchFilterOptions_BuiltinStepProps, and SearchFilterOptions_ModuleStepProps. Specifies one or more SearchElements constants. Use the bitwise-OR operator to specify multiple elements to search. Specifies an array of AdapterKeyNames constants to indicate the steps of which adapters to search. Pass an empty array or NULL to search steps that use any adapter. Specifies an array of property names under which to limit the search. Pass an empty array or NULL to search all properties. If you specify names of properties to which to limit the search, TestStand searches only those properties with the names you specify and all their subproperties. Specifies an array of type names to which to limit the search. Pass an empty array or NULL to search instances of all types. Use this parameter to limit the search instances of all types. Use this parameter to limit the search to instances of the types you specify. Specifies an array of lookup strings that indicate which subproperties to exclude from the search. Pass an empty array or NULL if you do not want to exclude any properties. You can pass a lookup string with the wildcard character (*) in place of any property name to indicate that all properties match that part of the lookup string. You can also use the wildcard character to match any element of an array by specifying the wildcard character (*) for the array element index. For example, if the property object you search is an array of steps, you can specify the lookup string "[*].Result" to exclude the Result property of all steps in the array. Note: When you exclude a subproperty, you also exclude all the subproperties the subproperty contains. Specifies the earliest version of TestStand that can use a type. When you load a file that contains the type in a version of TestStand that is older than the value of this property, TestStand uses the currently loaded version of the type, if one exists. Otherwise, the file fails to load. Note: This property is valid only for root type definitions. Reads the contents of a stream of XML string data and stores the contents in the PropertyObject to which the method applies. You can use the PropertyObject.GetXML method to generate the corresponding XML this method requires. You cannot unserialize a stream that contains a container type into a property object that is a value type, or vice versa. This method does not return an error. Instead, it sets the PropertyObject on which this method operates to the default value. If you attempt to unserialize a stream that contains a value type into a property object of a different value type, TestStand attempts to coerce the value. If the coercion is unsuccessful, TestStand only resets the PropertyObject on which this method operates to the default value. TestStand does not assign the name and some flags associated with the top-level PropertyObject in the stream to the PropertyObject on which this method operates. Refer to the World Wide Web Consortium-compliant XML schema file, PropertyObject.xsd, located in the <TestStand>\Components\Models\TestStandModels directory, for more information about the output of the PropertyObject.GetXML method and the required format for the input stream to this method. The <TestStand>\Components\Models\TestStandModels\Report.xsd file defines the XSD schema definition for XML reports. Specifies an XML stream. Pass 0. This parameter is reserved for when the PropertyObject.GetXML method supports storing type information in an XML stream. This parameter specifies how to handle type conflicts in the stream. Returns the binary data stored in the string value of the property the lookupString parameter specifies. The PropertyObject.SetValBinary method must have set the string value. This method unencodes and decompresses the binary data the string stores. You can use this method to retrieve arbitrary binary data from TestStand string variables or properties. Returns an array of bytes that contains the binary data the string property stores. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Sets the string value of the property the lookupString parameter specifies to contain a string representation of the binary data you pass to the newValue parameter. This method compresses the binary data and then encodes the compressed data into the string using only printable ASCII characters. Ordinarily, you cannot store binary data in a string because strings cannot contain zero bytes and strings must not contain invalid multibyte character set (MBCS) sequences. However, by encoding binary data using only printable non-MBCS-lead-byte characters, this method enables you to store arbitrary binary data in TestStand string variables or properties. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the array of bytes to store in the string property. Returns the PropertyObject value of the property at the index specified. The order of subproperties in a property object can vary. National Instruments recommends using this method only when iterating on all the subproperties of the property object, or if you use the PropertyObject.GetNthSubPropertyName method or the PropertyObject.Name property to determine whether the subproperty has the name you expect. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Specifies the zero-based index of the subproperty. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Deletes the subproperty at the specified index. Use the PropOption_DeleteIfExists option to prevent TestStand from returning errors if the specified property does not exist prior to calling this function. To delete a specific element from a one-dimensional array, use the PropertyObject.DeleteElements method. Note: TestStand does not support adding a new subproperty to an instance of a type unless you add the subproperty below a container you have marked as unstructured in the type definition by using the PropFlags_UnstructuredProperty flag. TestStand does not report any errors and creates the property, but does not save the property. When resolving type conflicts and updating type instances, TestStand automatically removes the property. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Specifies the zero-based index of the subproperty. Pass -1 to delete all subproperties. If you pass -1, subproperties that cannot be deleted do not generate an error. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Returns references to all the subproperties of the property you specify in one atomic, thread-safe operation.
Use this method to obtain references to all the subproperties of a PropertyObject in one thread while another thread might add, remove, or rename the subproperties. If you use the PropertyObject.GetNumSubproperties and PropertyObject.GetNthSubProperty methods while another thread adds or removes the subproperties, TestStand might return an unexpected error because the number of subproperties might have changed. The PropertyObject.GetSubProperties method avoids this issue by atomically obtaining all the references to all the subproperties in one call.
Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options.
Returns a container for storing data associated with the PropertyObject. Use container subproperties under the Attributes property to serve as attribute namespaces. National Instruments recommends that you create a uniquely named container or hierarchy of containers under which you store attribute variables, such as CompanyName.AttributeCategory.Attribute, to avoid name conflicts. The name NI is reserved at the root level for National Instruments. National Instruments recommends that you access this property only if the PropertyObject.HasAttributes property is True. Note: The attributes for a sequence file are located on the SequenceFile.Data object instead of on the SequenceFile object directly. Returns True if the PropertyObject.Attributes property contains subproperties. Using this property is more efficient than determining whether the PropertyObject.Attributes property contains subproperties. National Instruments recommends that you access the PropertyObject.Attributes property only if the HasAttributes property is True. Launches the Attributes dialog box, in which you can create and edit attributes of a PropertyObject. Returns True if you make modifications and click OK in the dialog box. Returns False if you click Cancel or make no modifications. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies any combination of the CommonDialogOptions constants. Specifies the file to which the object belongs. Generates the corresponding serialization for a PropertyObject based on the format specified and returns the serialized data as a ReportSection object. Refer to the World Wide Web Consortium-compliant XML schema file, PropertyObject.xsd, located in the <TestStand>\Components\Models\TestStandModels directory, for more information about the XML serialization of this method. Use this parameter to control the XML generation. You can use any combination of the flags in the XMLOptions constants. Specifies the number of tab characters in front of each line of generated XML source. Specifies a default name when you call this method on a nameless object. Pass an empty string if you want to use the name of the PropertyObject on which this method was called. This applies only to the root PropertyObject and not subproperties. Use this parameter to control the format of numeric values in the resulting XML. When you pass an empty string, this method uses the following default TestStand format strings based on the numeric representation of the numeric property objects:     * %.16g for double-precision, 64-bit floating-point values    * %d for signed 64-bit integer values    * %u for unsigned 64-bit integer values Note: TestStand ignores format strings of the %g type when the representation is signed 64-bit integer or unsigned 64-bit integer. Specifies the format of the generated serialization. This method supports values of XML, XML-OTF, or an empty string, which is the default value. Values are not case-sensitive. When you specify the XML value or an empty string, this method returns a ReportSection object that contains an XML representation of the PropertyObject object. Call the ReportSection.GetAllText method to retrieve the XML content, which might be spread across the ReportSection Header, Body, Footer, and ReportSubsections properties. National Instruments recommends that you do not use the XML-OTF option unless you are modifying National Instruments code that depends on it or you are implementing a custom on-the-fly XML report generator. Although the ReportSection objects the XML-OTF option returns contain equivalent data as the ReportSection objects the XML option returns, the XML-OTF option output differs from the standard XML in the following ways:     * The XML-OTF output never contains any data in the ReportSection.Body property.    * Except as explained below, the XML-OTF output writes data to the ReportSection.Header property.    * The XML-OTF output inserts data for each TS.SequenceCall and TS.PostAction subproperty of the PropertyObject into its own ReportSection object that the ReportSection.ReportSubsections property contains. Each subsection includes the following data:@ul(@bullet(The Header property contains the first line of XML content.)@bullet(The Footer property contains all remaining XML content.)@bullet(Additional TS.SequenceCall and TS.PostAction properties within the subsection receive no special processing and are included in the Footer property just like any other TestStand property.))    * After the XML-OTF output processes a TS.SequenceCall or TS.PostAction property, the XML-OTF output inserts all remaining data of other types in the Footer property of the returned ReportSection object. The XML-OTF output inserts additional TS.SequenceCall and TS.PostAction properties in new subsections, as described above. Because the XML-OTF output handles the TS.SequenceCall and TS.PostAction properties in a special way, the order of subproperties in the XML content the ReportSection.GetAllText method returns might not be identical in the two cases.
Returns references to all the array elements of the property you specify in one atomic, thread-safe operation. The property you specify must be an array of containers or this method returns a type mismatch error.
Use this method to obtain references to all the array elements of an array of containers in one thread while another thread might add, remove, or rename the elements. If you use the PropertyObject.GetNumElements and PropertyObject.GetPropertyObjectByOffset methods while another thread adds or removes the elements, TestStand might return an unexpected error because the number of elements might have changed. The PropertyObject.GetPropertyObjectElements method avoids this issue by atomically obtaining all the references to all the elements in one call.
Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options.
Returns the signed 64-bit integer value of the property the lookupString parameter specifies. Note: (Platform: (LabVIEW)) You cannot use this method in LabVIEW. Use the PropertyObject.GetValVariant method instead. TestStand stores numeric values as double-precision, 64-bit floating-point values, signed 64-bit integer values, or unsigned 64-bit integer values. Signed 64-bit integer value of the property. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Returns the signed 64-bit integer value of the array element the arrayOffset parameter specifies. Note: (Platform: (LabVIEW)) You cannot use this method in LabVIEW. Use the PropertyObject.GetValVariant method instead. This method is valid only for array objects and is intended for use with arrays of 64-bit integers. Use the PropertyObject.GetValUnsignedInteger64ByOffset method with arrays of unsigned 64-bit integers. If the array is of a type other than 64-bit integers, you can use this method with the corresponding PropOption_Coerce constant. Signed 64-bit integer value of the array element. Specifies a zero-based number representing the offset of an array element in the one-dimensional physical storage of the array. The offset is in terms of the number of elements. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Sets the signed 64-bit integer value of the property the lookupString parameter specifies. Note: (Platform: (LabVIEW)) You cannot use this method in LabVIEW. Use the PropertyObject.SetValVariant method instead. TestStand stores numeric values as double-precision, 64-bit floating-point values, signed 64-bit integer values, or unsigned 64-bit integer values. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the new value for the property. Sets the signed 64-bit integer value of the array element the arrayOffset parameter specifies. Note: (Platform: (LabVIEW)) You cannot use this method in LabVIEW. Use the PropertyObject.SetValVariant method instead. This method is valid only for array objects and is intended for use with arrays of 64-bit integers. Use the PropertyObject.SetValUnsignedInteger64ByOffset method with arrays of unsigned 64-bit integers. If the array is of a type other than unsigned 64-bit integers, you can use this method with the corresponding PropOption_Coerce constant. Specifies a zero-based number representing the offset of an array element in the one-dimensional physical storage of the array. The offset is in terms of the number of elements. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the new value for the array element. Returns the unsigned 64-bit integer value of the property the lookupString parameter specifies. Note: (Platform: LabVIEW) You cannot use this method in LabVIEW. Use the PropertyObject.GetValVariant method instead. TestStand stores numeric values as double-precision, 64-bit floating-point values, signed 64-bit integer values, or unsigned 64-bit integer values. Unsigned 64-bit Integer value of the property. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Returns the unsigned 64-bit integer value of the array element the arrayOffset parameter specifies. Note: (Platform: (LabVIEW)) You cannot use this method in LabVIEW. Use the PropertyObject.GetValVariant method instead. This method is valid only for array objects and is intended for use with arrays of unsigned 64-bit integers. Use the PropertyObject.GetValInteger64ByOffset method with arrays of 64-bit integers. If the array is of a type other than unsigned 64-bit integers, you can use this method with the corresponding PropOption_Coerce constant. Unsigned 64-bit integer value of the array element. Specifies a zero-based number representing the offset of an array element in the one-dimensional physical storage of the array. The offset is in terms of the number of elements. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Sets the unsigned 64-bit integer value of the property the lookupString parameter specifies. Note: (Platform: (LabVIEW)) You cannot use this method in LabVIEW. Use the PropertyObject.SetValVariant method instead. TestStand stores numeric values as double-precision, 64-bit floating-point values, signed 64-bit integer values, or unsigned 64-bit integer values. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the new value for the property. Sets the unsigned 64-bit integer value of the array element the arrayOffset parameter specifies. Note: (Platform: (LabVIEW)) You cannot use this method in LabVIEW. Use the PropertyObject.SetValVariant method instead. This method is valid only for array objects and is intended for use with arrays of unsigned 64-bit integers. Use the PropertyObject.SetValInteger64ByOffset method with arrays of 64-bit integers. If the array is of a type other than unsigned 64-bit integers, you can use this method with the corresponding PropOption_Coerce constant. Specifies a zero-based number representing the offset of an array element in the one-dimensional physical storage of the array. The offset is in terms of the number of elements. Pass 0 to specify the default behavior, or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the new value for the array element. This property is a container for storing data associated with the type definition. Use container subproperties under the TypeAttributes property to serve as attribute namespaces. National Instruments recommends that you create a uniquely named container or hierarchy of containers under which you store attribute variables, such as CompanyName.AttributeCategory.Attribute, to avoid name conflicts. The name NI is reserved at the root level for National Instruments. National Instruments recommends that you access this property only if the PropertyObject.HasTypeAttributes property is True. If the object is not a type definition, the property reports an error. Returns True if this object is a type definition and the PropertyObject.TypeAttributes property contains subproperties. Using this property is more efficient than determining whether the PropertyObject.TypeAttributes property contains subproperties. National Instruments recommends that you access the PropertyObject.TypeAttributes property only if the PropertyObject.HasTypeAttributes property is True. Inserts one or more elements into an array object. This method is valid only for one-dimensional array objects. Use the PropertyObjectType.ArrayDimensions property to set the size of multi-dimensional array objects. Specifies the array offset of the first element to insert. Specifies the number of elements to insert. Pass 0 to specify the default behavior or pass one or more PropertyOptions constants. Use the bitwise-OR operator to specify multiple options. Returns the ProtectedObjectOption_None or ProtectedObjectOption_NotEditable protection level applied to a type definition. This method does not support other ProtectedObjectOptions values. The TestStand Sequence Editor enforces the ProtectedObjectOption_NotEditable option. You can call this method on any property of the type definition, not just the root object of the type. Note: TestStand supports password-protecting type definitions to deter unauthorized users from editing the types in the sequence editor. However, any TestStand user can continue to programmatically edit a locked type by using the TestStand PropertyObject API. National Instruments does not recommend password-protecting types as the only way of protecting intellectual property. Sets the protection level and, optionally, the password of a type definition. You can call this method on any property of the type definition, not just the root object of the type. Note: TestStand supports password-protecting type definitions to deter unauthorized users from editing the types in the sequence editor. However, any TestStand user can continue to programmatically edit a locked type by using the TestStand PropertyObject API. National Instruments does not recommend password-protecting types as the only way of protecting intellectual property. Specifies one of the supported ProtectedObjectOptions. For type locking, this method supports only ProtectedObjectOption_None and ProtectedObjectOption_NotEditable. Specifies the password you require to unlock the type. This password can be empty only if the value for the newValue parameter is ProtectedObjectOption_None. TestStand uses this password and the password history of a type during type conflict resolution to determine whether a newer version of the type can replace an older version without requiring the password for the older version. Returns True if the type definition protection option is set to something other than ProtectedObjectOption_None and the locked state of the type is currently set to locked. Returns False for all other cases. You can call this property on any property of the type definition, not just the root object of the type. Note: TestStand supports password-protecting type definitions to deter unauthorized users from editing the types in the sequence editor. However, any TestStand user can continue to programmatically edit a locked type by using the TestStand PropertyObject API. National Instruments does not recommend password-protecting types as the only way of protecting intellectual property. Changes the in-memory state of a password-protected type definition to locked. This method returns an error if you call it on a type that is not password-protected. You can call this method on any property of the type definition, not just the root object of the type. Note: TestStand supports password-protecting type definitions to deter unauthorized users from editing the types in the sequence editor. However, any TestStand user can continue to programmatically edit a locked type by using the TestStand PropertyObject API. National Instruments does not recommend password-protecting types as the only way of protecting intellectual property. Changes the in-memory state of a password-protected type definition to unlocked. The password you pass for the passwordString parameter must match the password set for the type definition or this method returns an error, even if the type is already in an unlocked state. This method also returns an error if you call it on a type that is not password-protected. You can call this method on any property of the type definition, not just the root object of the type. Note: TestStand supports password-protecting type definitions to deter unauthorized users from editing the types in the sequence editor. However, any TestStand user can continue to programmatically edit a locked type by using the TestStand PropertyObject API. National Instruments does not recommend password-protecting types as the only way of protecting intellectual property. Specifies the password required to unlock the type. Clears the password history of a type definition. You can call this method on any property of the type definition, not just the root object of the type. Note: TestStand supports password-protecting type definitions to deter unauthorized users from editing the types in the sequence editor. However, any TestStand user can continue to programmatically edit a locked type by using the TestStand PropertyObject API. National Instruments does not recommend password-protecting types as the only way of protecting intellectual property. Launches a dialog box in which you can edit a numeric format string used to display numbers. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Returns True if the returned format is valid, otherwise returns False. Specifies any combination of the EditNumericFormatOptions constants. Replaces the set of enumerators for an enumeration data type. Call this method on the root type definition of an enumeration data type to specify the set of enumerators for the type. Calling this method on a PropertyObject that is not the root type definition of an enumeration causes a runtime error. Changing the set of enumerators updates all currently loaded instances of the data type. True if a new enumerator was added, the numeric value of an existing enumerator was changed, the value of IsStrict is changed, or the value of IsFlags is changed. False otherwise. An array of containers where each container has the following properties: UpdateEnumeratorsElementProperty_Name ("EnumeratorName") - Enumerator Name (string) UpdateEnumeratorsElementProperty_EnumeratorValue ("EnumeratorValue") - Enumerator Value (number) UpdateEnumeratorsElementProperty_OldName ("OldEnumeratorName") [optional] - Prior Name, if renaming (string) You can specify a new value for the data type's IsStrict setting by attaching a Boolean attribute to the array with a property path of "TestStand.Enum.IsStrict". You can specify a new value for the data type's IsFlags setting by attaching a Boolean attribute to the array with a property path of "TestStand.Enum.IsFlags". Returns the enumerators that a enumeration data type defines. Use this property on an enumeration instance or an enumeration data type to obtain the set of enumerators for the type. Returns an array of enumeration instances. Each element indicates the name and value of an enumerator that the data type defines. The array also has the following Boolean attributes: TestStand.Enum.IsStrict: Indicates whether the enumeration data type is strict. TestStand.Enum.IsFlags: Indicates whether the enumerators the data type defines are flags. Returns the display value of the property that the lookupString parameter specifies. Returns the display name for the value of the property. If there is no display name, a string representation of the actual value is returned. Pass an empty string to denote the PropertyObject to which the method applies, or pass the name of a subproperty within the PropertyObject. You can also pass lookup strings to this parameter. Reserved for future use. Pass 0. Indicates whether the current value of an enumeration instance is consistent with its data type. Returns True if the value of the enumeration is consistent with its data type. Objects of the SequenceFile class represent a sequence file that can contain sequences. You can obtain a reference to a SequenceFile object by using the Engine.GetSequenceFileEx or Engine.NewSequenceFile methods. Use the reference to examine or modify sequence file settings and to examine or modify the list of sequences in the sequence file. Obtains a reference to a Sequence object that you specify by an index. Specifies a zero-based index to indicate the sequence. Returns a reference to a Sequence object you specify by name. Sequence names are case-insensitive. Specifies the name of the Sequence object to which you want a reference. If the sequence name does not exist, the method reports an error. Returns True if a sequence with the name you specify already exists in the sequence file. Specifies a sequence name to search for. Sequence names are case-insensitive. Note: This method is obsolete. Use the SequenceFile.InsertSequenceEx method instead. Adds a sequence to the end of the sequences list in the sequence file. Note: The name of a sequence must be unique if it is contained within a sequence file. Inserting two or more sequences with the same name into a sequence file might result in unexpected behavior. Specifies the sequence to insert. Removes a sequence from a sequence file and returns a reference to it. Specifies a zero-based index to indicate the sequence to remove. Deletes the specified sequence from the sequence file. Specifies a zero-based index to indicate the sequence to delete. Saves the sequence file to disk. Calling this method with an empty string argument has the same effect as calling the PropertyObjectFile.WriteFile method. Ensure the pathString provided is an absolute path and not relative. Specifies the absolute pathname with which to save the file. Pass an empty string to save the file using the same pathname with which TestStand last loaded or saved it. Returns a reference to the process model sequence file that TestStand associates with the sequence file on which you call the method. Release this reference when you are finished using it. Returns a NULL reference if the sequence file on which you call the method does not have a process model associated with it. The modelDescriptionString parameter contains a descriptive message even if this method returns NULL. Returns a string that describes the process model file. Use this method to create a callback sequence in the sequence file. The callback sequence you create overrides the Model, Engine, or Front-End callback of the same name as the callback you create. The name of the callback sequence to override. Specify the sequence name of a Model, Engine, or Front-End callback. Refer to DefaultModelCallbacks and SeqFileCallbacks constants for possible values for this parameter. Specifies a reference to the callback the method creates. Release this reference when you are finished with it. Pass True to copy the steps of the sequence you are overriding into the new sequence. Returns a sequence context that approximates the sequence context TestStand creates when you run a sequence in the sequence file. You can pass the object this method returns as a parameter to the Engine.DisplayBrowseExprDialogEx and Engine.DisplayBrowsePropertyObjectDialog methods. A reference to a SequenceContext object. Release this reference when you are finished using it. Returns the underlying PropertyObject that represents the SequenceFile object. Use the PropertyObject to modify, add, or remove custom properties of the object. Returns the number of sequences contained in the sequence file. Returns the PropertyObject that contains the default values of the global variables for the sequence file. Returns the pathname TestStand used when the sequence file was last saved or loaded. This property returns the same value as the PropertyObjectFile.Path property. This property instructs TestStand when to load the code modules the steps in the sequence file call. You can use this property to override the load option of all steps in the sequence file, or you can defer to the load option contained in each individual step. This property instructs TestStand when to unload the code modules the steps in the sequence file call. You can use this property to override the unload option of all steps in the sequence file, or you can defer to the unload option contained in each individual step. Returns True if TestStand associates a process model sequence file with the sequence file on which you call the method. Specifies if TestStand calls the SequenceFileUnload callback sequence when unloading the sequence file. Set this property to False to prevent TestStand from calling the SequenceFileUnload callback for the sequence file. Returns True if the sequence file contains one or more currently active sequences in an execution. If this property returns True, do not edit the sequence file. Increments the file change count. Increment the change count when making changes to the file to indicate to the sequence editor or user interface that the file was modified. Calling this method has the same effect as calling the PropertyObjectFile.IncChangeCount method. Returns the number of modifications that have been made to the sequence file since it was loaded into memory. The sequence editor and user interfaces use this count to determine when to refresh sequence displays and when to indicate to the user that a sequence file has been modified. This property returns the same value as the PropertyObjectFile.ChangeCount property. Returns the index of the sequence in the sequence file that has the name you specify. Returns the index of the sequence for which you specify a name. Returns -1 if no such sequence exists. Specifies the name of a sequence in the sequence file. Loads the code modules for all steps in all sequences of the sequence file. Returns True on success or False if a module fails to load. Specifies one or more LoadModuleOptions using the bitwise-OR operator to modify the behavior of this method. If you are passing the LoadModule_EvaluateExpressions flag to the loadOptions parameter, pass a SequenceContext object for this parameter to use when evaluating the expressions. Also, if you are calling this method from a step in an execution, pass the sequence context of the execution. Specifies the type of sequence file. Returns a value that indicates whether the sequence file can be removed from the internal cache of the engine. The engine cannot unload a sequence file from the internal cache if multiple load references to it exist or if it is currently executing. Use this method to determine whether calling the Engine.ReleaseSequenceFileEx method would remove the file from the internal cache and return True. Note: Even if this function returns True, the Engine.ReleaseSequenceFileEx method might return False if another thread added a load reference to this file between the calls to this method and the Engine.ReleaseSequenceFileEx method. Unloads the code modules from all steps in all sequences of the sequence file. Returns True if all modules were successfully unloaded. If any sequences in the file are executing when you call this method, the method returns False. Specifies the batch synchronization operation corresponding to all the steps contained in the sequence file when the synchronization setting is BatchSyncOption_UseSeqFileSetting. Returns the underlying PropertyObjectFile that represents the SequenceFile object. Returns the absolute pathname of the process model sequence file associated with this sequence file. Returns an empty string if the file has no model or if the model file could not be found. Returns True if the model file was found. Inserts a sequence at the specified index. Do not insert a sequence into a sequence file when the sequence resides in another sequence file. The sequence reference that you pass must be the only reference to the sequence. You can obtain the sole reference to a sequence by calling the Engine.NewSequence or SequenceFile.RemoveSequence methods. Note: The name of a sequence must be unique if it is contained within a sequence file. Inserting two or more sequences with the same name into a sequence file might cause unexpected behavior. Specifies the zero-based index at which to insert the sequence. Specifies the sequence to insert. Returns a unique ID number for the sequence file. Note: The ID number is never zero. The ID number is unique with respect to all sequence files that you open before you shut down the TestStand Engine. Use this ID number to compare two SequenceFile object references to determine whether they refer to the same underlying sequence file. Specifies the process model file to use for the sequence file. This setting is valid only when you enable the Allow Other Model Settings option in the Station Options dialog box. Refer to StationOptions.AllowOtherModels for more information about allowing sequence files to specify a process model file other than the current station model file. Specifies the file path of a particular model file. Specifies the file path to a model file when the value of the SequenceFile.ModelOption property is ModelOption_RequireSpecificModel. Obtains the list of reserved Engine callback names. Array of reserved callback names the function returns. Obtains the list of Model callback names based on the model assigned to the sequence file. Array of Model callback names the function returns. Adds a load reference that keeps the file in the internal cache of the engine. Call this method to add an additional load reference to the sequence file. TestStand uses the load reference count to determine when to unload the sequence file from the internal cache of the engine. In addition to this method, the Engine.GetSequenceFileEx and Engine.NewSequenceFile methods also add a load reference to the sequence file. The Engine.ReleaseSequenceFileEx method removes a load reference. You must call the Engine.ReleaseSequenceFileEx method for each load reference you add to the sequence file. When you release the last load reference, TestStand unloads the file from the internal cache of the engine, TestStand executes the SequenceFileUnload callback sequence, if applicable. This method generates an error if the sequence file does not have any load references initially. Specifies the lifetime of the sequence file global variables and whether multiple executions share the sequence file global variable values. If a sequence file unloads from memory and an execution later reloads the sequence file, the execution creates a new run-time copy of the file global variables and initializes the variables to the default values. Returns the FileGlobals.ModelPluginComponentDescription variable, if it exists. Otherwise, returns null. This property is accessible even if the file is locked. Objects of the Sequence class represent a sequence that can contain steps. Use the Sequence class to examine or modify sequence settings and the list of steps in the sequence. Sequences have three groups of steps. The StepGroups enumeration contains a value for each of the step groups. SequenceTypes constants define several types of sequences. You can obtain a reference to the Sequence objects a sequence file contains by calling the SequenceFile.GetSequence method. You can create new sequences by calling the Engine.NewSequence or SequenceFile.CreateCallbackOverrideSequence methods. Note: Built-in properties of sequences are flagged to be shared at run time. Any changes to built-in properties within the run-time copy of the sequence also edit the original Sequence object in the sequence file. Returns the number of steps in the specified step group of the sequence. Specifies a particular step group. Returns a reference to the Step object that you specify by an index. Specifies the zero-based step index that indicates the position of the step in the step group. Specifies a particular step group. Returns a reference to the Step object you specify by name. Returns an error if no Step object exists with the name you specify. Specifies the name of the step for which you want a reference. When more than one step using the same name exists in the step group, the method returns the first step with that name. Name comparison is case-insensitive. Specifies a particular step group. Inserts a step into the sequence. Note: Never insert a step into a sequence when that step resides in another sequence. The step reference you pass must be the only reference to the step. You can obtain the sole reference to a step by calling the Engine.NewStep method or the Sequence.RemoveStep method. Specifies the step to insert. Specifies the zero-based index that indicates the location where to insert the step in the step group. Specifies a particular step group. Removes a step from a sequence and returns a reference to it. Specifies the zero-based index that indicates the location where to insert the step in the step group. Specifies a particular step group. Deletes a step from the sequence. Specifies the zero-based step index that indicates the position of the step in the step group. Specifies the step group that contains the step you want to delete. Returns True if a step with the name you specify exists in the step group. Specifies the name to search for. Specifies a particular step group. Note: This method is obsolete. Use the Sequence.EvalEntryPointNameExpressionEx method instead. Applies only to an entry point sequence in a process model file. Call this function to determine the name to display for the entry point in the user interface menu bar. The function evaluates the entry point name expression for the entry point sequence in the context of the currently selected sequence file in the user interface. Returns the name of the entry point. Specifies the currently selected sequence file in the user interface. Note: This method is obsolete. Use the Sequence.EvalEntryPointEnabledExpressionEx method instead. Applies only to an entry point sequence in a process model file. Call this function to determine whether to enable the entry point in the user interface menu bar. The function evaluates the entry point-enabled expression for the entry point sequence in the context of the currently selected sequence file in the user interface. Returns True if the entry point is enabled in the user interface menu bar. Specifies the currently selected sequence file in the user interface. This method applies only to an entry point sequence in a process model file. Call this function to determine the user interface menu in which the entry point belongs. The method uses the Menu Hints option for the entry point sequence. Returns a zero-based index into the list of menu names you pass as the menuNameList parameter. This index indicates the menu to which the entry point belongs in the menu. If none of the menus in the list matches a menu hint for the entry point, the method returns -1. If this occurs, you must choose the menu in which to display the entry point. You can choose the menu based on the type of entry point. Pass a comma-separated list of the menu names in the user interface, such as "File,Configure,Debug". Note: The method ignores all "_" and "&" characters when comparing the names in the list with the menu hints for the entry point. Returns the underlying PropertyObject that represents the Sequence object. Use the PropertyObject to modify, add, or remove custom properties of the object. Returns the PropertyObject that contains the parameters for the sequence. Returns the PropertyObject that contains the local variables for the sequence. Set this property to True if you want the entry point to appear in the menu bar when a Sequence File window is the active window. This property applies only to an entry point sequence in a process model file. Set this property to True if you want the entry point to appear in the menu bar when an Execution window is the active window. This property applies only to an entry point sequence in a process model file. Specifies if an execution of the entry point is hidden when it starts. This property applies only to an entry point sequence in a process model file. The property indicates if an execution of the entry point is hidden when it starts. In other words, if the property is True, the user interface does not display an Execution window for the entry point sequence when it begins executing it. The user interface does this by assigning the ExecTypeMask_InitiallyHidden value to the TypeMask property of the execution. Specifies the type of the sequence. Returns or specifies the name of the sequence. Note: The name of a sequence must be unique if it is contained within a sequence file. Inserting two or more sequences with the same name into a sequence file might cause unexpected behavior. Note: TestStand does not validate variable names you create programmatically for invalid characters, such as spaces, which can result in errors when you use expressions. Use the PropertyObject.ValidateNewElementName method to validate variable names. TestStand expressions require PropertyObject names to be strings that contain only letters, numbers, and underscores. PropertyObject names cannot contain spaces, start with a number, or be empty. Additionally, the PropertyObject name cannot be "Value", and you cannot have duplicate subproperty names. For example, MyVariableName_2000 is a valid PropertyObject name. Names of elements in a PropertyObject array can contain any character. Both sequence names and step names are examples of such named array elements. However, sequence names cannot be empty or contain control characters. You cannot have duplicate sequence names. NI is reserved for root attribute names. Note: This property is obsolete. Use the Sequence.FailureAction property instead. Execution flow jumps to the Cleanup step group if this property is True and if a step sets the status property of the sequence to Failed. If the StationOptions.AlwaysGotoCleanupOnFailure property is True, the flow of execution jumps to the Cleanup step group on failure regardless of the state of this property. Specifies to disable result recording for any steps in the sequence. If this property is True, TestStand does not record results for any steps in the sequence. If this property is False, TestStand records results based on the setting of the Step.ResultRecordingOption property of each individual step or the StationOptions.DisableResults and Execution.DisableResults properties. Note: TestStand might not honor changes to this property in a running sequence until the sequence completes the current step group. Set this property to True if you want the entry point to appear only in the menu bar of a sequence editor and not in an operator interface. This property applies only to an entry point sequence in a process model file. Set this property to True if you want the entry point to appear in the menu bar, regardless of what type of window is active. This property applies only to an entry point sequence in a process model file. Returns the index of the step with the name that matches the name you specify. Returns the index of the step with the name that matches the name you specify. Returns -1 if no such step exists. Specifies the name of the step for which you want the index. When more than one step using the same name exists in the step group, the method returns the index of the first step with that name. Name comparison is case-insensitive. You can also pass a unique step ID. Specifies a particular step group. Call this method to load the code modules for the steps in the sequence. Returns True on success, or False if a module fails to load. Specifies one or more LoadModuleOptions using the bitwise-OR operator to modify the behavior of this method. If passing the LoadModule_EvaluateExpressions flag to the loadOptions parameter, pass a SequenceContext object for this parameter to use when evaluating the expressions. Also, if calling this method from a step in an execution, pass the sequence context of the execution. Note: This method is obsolete. Use the Sequence.GetBreakOnEndSettings method instead. Returns True if the step group of the sequence is set to break when all the steps in the step group are done executing. This method, along with the Sequence.SetBreakOnEnd method, implements breakpoints for breaking after the last step in a step group. Note: The Sequence.SetBreakOnEnd method is obsolete. Use the Sequence.SetBreakOnEndSettings method instead. Specifies a particular step group. Pass a reference to an Execution object to obtain the breakpoint settings on the End step, which apply to a particular execution. If there is no execution-specific breakpoint setting or if you do not pass an Execution object, the method returns the breakpoint setting on the End step of the sequence file. Note: This method is obsolete. Use the Sequence.SetBreakOnEndSettings method instead. Notifies TestStand when executions of this sequence and step group break after executing steps. Use this method, along with the Sequence.GetBreakOnEnd method, to implement breakpoints for breaking after the last step in a step group. Note: The Sequence.GetBreakOnEnd method is obsolete. Use the Sequence.GetBreakOnEndSettings method instead. Specifies a particular step group. Pass True if you want executions of this sequence and step group to break after executing steps. Pass a reference to an Execution object to obtain the breakpoint settings on the End step, which apply to a particular execution. If there is no execution-specific breakpoint setting or if you do not pass an Execution object, the method returns the breakpoint setting on the End step of the sequence file. Returns the effective sequence type. Typically, the effective sequence type is the same as the value of the Sequence.Type property. One exception occurs when this sequence belongs to a sequence file that has a model file, and that model file has a callback with the same name as this sequence. In this case, the effective type is SeqType_Callback. The other exception occurs when this sequence has a reserved name, in which case this method returns SeqType_ReservedCallback. Evaluates the entry point name expression. This method applies only to an entry point sequence in a process model file. Call this function to determine the name to display for the entry point in the user interface menu bar. The function evaluates the entry point name expression for the entry point sequence in the context of the editArgs parameter, which specifies the currently selected items in the sequence editor or user interface. Returns the name of the entry point. Specifies which items in the user interface are currently selected. Evaluates the entry point enabled expression. This method applies only to an entry point sequence in a process model file. Call this function to determine whether to enable the entry point in the user interface menu bar. The function evaluates the entry point enabled expression for the entry point sequence in the context of the editArgs parameter, which specifies the currently selected items in the sequence editor or user interface. Returns True if you can enable the entry point in the user interface menu bar. Specifies which items in the user interface are currently selected. Specifies if the entry point ignores the client sequence file. This property applies only to an entry point sequence in a process model file. Set this property to True for entry points wholly contained in the process model and do not call into the client sequence file. User interfaces and the sequence editor use this option to determine whether to pass a client sequence file to the Engine.NewExecution method when they execute this entry point. Specifies if sequence files must be saved before the entry point executes. This property applies only to an entry point sequence in a process model file. The property indicates if the sequence editor must attempt to save modified sequence files before executing the entry point. Unloads code modules for all steps in the sequence. Returns True if all code modules are unloaded. Note: Some code modules might not be unloaded because they are executing. Specifies a string expression that determines the menu item name of the entry point. Note: This property applies only to an entry point sequence in a process model. Specifies a Boolean expression the Sequence.EvalEntryPointEnabledExpressionEx method evaluates. If the expression evaluates to False, TestStand dims the entry point in the menu. If the expression is empty, the entry point is enabled in the menu. Specifies a menu name for the entry point. You can specify multiple menu names separated by commas. An empty string value specifies that the application determines the menu the entry point appears in based on the entry point sequence type. Note: This property applies only to an entry point sequence in a process model. An application uses the first menu name in the list that it can find in the user interface. This option is useful if you use multiple user interfaces that have different menu names. If an application cannot find any menus in the user interface with the names that you specify, the application uses the default menu for the entry point type. Replaces the unique step ID with a new unique step ID in all the steps in a sequence. Returns a reference to the Step object you specify by unique ID. Returns a NULL reference if no step exists with the unique ID you specify. Specifies the unique ID of the step for which you want a reference. Returns the sequence file that contains this sequence. Returns the containing sequence file or a NULL reference if this sequence does not belong to a sequence file. Set this property to False to prohibit the user from using this entry point sequence to run an interactive execution in the sequence editor or user interface. This property applies only to an entry point sequence in a process model file. Specifies to decrease the amount of time required for TestStand to call the sequence after the first call to the sequence in an execution. If you set this property to False, TestStand initializes a new copy of each custom step property in a sequence each time it calls the sequence. TestStand performs the initialization so the sequence always begins executing with the initial property values the steps in the sequence specify. This initialization is necessary only if a sequence relies on the initial value of a custom step property and then modifies the value. Few sequences rely on this information. When you set this property to True, TestStand initializes the value of the custom step properties in the sequence the first time it calls the sequence in an execution. TestStand reuses the custom step property values when it calls the sequence again. If the same sequence is in a different thread or recursively within the same thread simultaneously, TestStand creates unique copies of the custom step properties. Note: When you set this property to True, TestStand maintains a loaded copy of the sequence until the execution is complete and does not unload the code modules for the sequence until after the execution ends, even if you attempt to unload the sequence and regardless of the value of the Unload Option on the General tab of the Sequence File Properties dialog box for the sequence file or the steps in the sequence. Because you cannot programmatically edit a loaded sequence, set this property to False if you need to modify the sequence at run time. Specifies the behavior of TestStand when you click Add in the Sequence File Callbacks dialog box to create an overriding sequence file in the client sequence file. If you set this property to True, TestStand copies all steps and local variables in the callback sequence of the model file to the callback sequence you create in the client sequence file. Note: TestStand always copies the sequence parameters, regardless of this setting. This property applies only to callback sequences that reside in a model sequence file. Specifies if the step group in the sequence is set to break after all the steps in the sequence execute. Specifies a particular step group. Specifies whether the breakpoint is set. If a breakpoint is set, this parameter returns True. Specifies whether the breakpoint is enabled. TestStand ignores disabled breakpoints during execution. Specifies the number of iterations the execution skips the breakpoint before suspending execution. Pass 0 if you do not want to use a conditional pass count. Specifies the expression that must evaluate to True before suspending the execution. An empty value defaults to True. If you specify a non-zero pass count value and a condition expression for the breakpoint, the pass count only decrements when the expression evaluates to True. Specifies a reference to an Execution object to obtain the breakpoint settings on the End step, which apply to a particular execution. If there is no execution-specific breakpoint setting or if you do not pass an Execution object, the method returns the breakpoint setting on the End step of the sequence file. Returns a value that indicates whether the step group of the sequence is set to break when all the steps in the sequence execute. Specifies a particular step group. Returns a value that indicates whether the breakpoint is set. Returns a value that indicates whether the breakpoint is enabled. TestStand ignores disabled breakpoints during execution. Returns the number of times the execution must evaluate the condition expression before suspending the execution. Pass 0 if you do not want to use a conditional pass count. Returns the expression that must evaluate to True before suspending the execution. An empty value defaults to True. If you specify a non-zero value for the passCount parameter and a condition expression for the breakpoint, the pass count decrements only when the expression evaluates to True. Pass a reference to an Execution object to obtain the breakpoint settings on the End step, which apply to a particular execution. If there is no execution-specific breakpoint setting or if you do not pass an Execution object, the method returns the breakpoint setting on the End step of the sequence file. If this property is True, the sequence contains steps that define block structure and the steps are not properly matched. For example, this property is True if a sequence contains a For step without a corresponding End step. Note: A sequence with mismatched blocks cannot execute. Returns the Requirements property for the sequence. The Links subproperty of the Requirements property is an array of string values that represents the product and unit requirements the sequence covers. You can use the following pseudocode to add a new element to the list of requirements: PropertyObject links = sequence.Requirements.GetPropertyObject("Links", 0);int nextAvailableIndex = links.GetNumElements();links.SetValStringByOffset(nextAvailableIndex, PropertyOptions.PropOption_InsertElement, "REQ_ABC"); Returns the zero-based index of the sequence within the containing sequence file. Returns -1 if the sequence is not within a sequence file. Returns a unique identification number for the sequence. Note: The ID number is never zero. The ID number is unique with respect to all sequences that you open before you shut down the TestStand Engine. Use this ID number to compare two sequence object references to determine whether they refer to the same underlying sequence. A run-time copy of a sequence has a different ID than the corresponding edit-time copy of the sequence. Specifies whether execution flow jumps to the Cleanup step group when a step sets the status property of the sequence to Failed. Objects of the Step class represent steps in TestStand sequences. A step can perform many tasks, such as initializing an instrument, performing a complex test, or making a decision that affects the flow of execution in a sequence. You can obtain a reference to a step in a sequence by calling the Sequence.GetStep method. Create new steps with the Engine.NewStep method. Note: Built-in properties of steps are flagged to be shared at run-time. Any changes to built-in properties within the run-time copy of the step edits the original step object in the sequence file. Accesses the parameter additional results and custom additional results of a step. Returns a list of additional result hints associated with a step instance. Use this property when step types support multiple operations and you want to specify different additional result hints for different step operations. The combined members of StepType.AdditionalResultsHints and "Step.AdditionalResultsHints" define a list of preconfigured custom additional results you can choose to log when you edit the additional results of a step in a user interface. You normally edit the Step.AdditionalResultsHints collection in an Edit substep. Launches the Additional Results dialog box, in which you can edit additional results for a step. Returns True if you click OK in the dialog box. Returns False if you click Cancel. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies any combination of CommonDialogOptions. Returns the underlying PropertyObject that represents the Step object. Use the PropertyObject to modify, add, or remove custom properties of the object. Returns True if the step is a Sequence Call step. Returns the key name of the module adapter the step uses. If the step does not use a module adapter, this property returns None Adapter, which is the value of the constant NoneAdapterKeyName. Note: This property is obsolete. Use the Step.GetBreakSettings and Step.SetBreakSettings methods instead. If this property is True, TestStand suspends execution before executing the step. This property is now equivalent to setting or getting the sequence file version of the breakpoint. Note: This property is obsolete. Use the Step.GetRunModeEx and Step.SetRunModeEx methods instead. Specifies the run mode of the step. Although you can use this property, it is now equivalent to setting or getting the sequence file version of the run mode. The RunModes constants define the valid values for this property. This property is the run mode TestStand stores for the step in the sequence file. To set the run mode temporarily, set the Step.RunTimeRunMode property instead. Setting this property also sets the Step.RunTimeRunMode property. In the sequence editor, the Sequence File window shows this property for the steps, and the Execution window shows the Step.RunTimeRunMode property for the steps. Note: The Step.RunTimeRunMode property is obsolete. Use the Step.GetRunModeEx and Step.SetRunModeEx methods instead. Note: This property is obsolete. Use the Step.GetRunModeEx and Step.SetRunModeEx methods instead. Specifies the run-time run mode of the step. Although you can use this property, it is now equivalent to setting or getting the sequence file version of the run mode. The RunModes constants define the valid values for this property. This property is the run mode TestStand uses when it executes the sequence file. When running a step, TestStand copies the value of the Step.RunMode property to this property if you have not already explicitly set this property. Unlike the Step.RunMode property, the value of this property is not saved but is discarded when the sequence file is unloaded. Setting this property has no effect on the Step.RunMode property. In the sequence editor, the Sequence File window shows the Step.RunMode property for the steps, and the Execution window shows the Step.RunTimeRunMode property for the steps. Note: The Step.RunMode property is obsolete. Use the Step.GetRunModeEx and Step.SetRunModeEx methods instead. Specifies if failure of the step causes the sequence to fail. If this property is True and the step fails, TestStand sets the internal status property of the sequence that contains the step to Failure. If the Sequence.FailureAction property is True for the sequence, the execution then jumps to the Cleanup step group of the sequence. Specifies an expression that must evaluate to True or be empty to execute the step. This string is an expression with a Boolean result. Use the AnyOf() and AllOf() expression functions to specify more than one expression. The following is an example of an expression for a precondition based on the results of another step: RunState.Sequence.Main["NameOfAnotherStep"].Result.Status == "Passed" Note: This property is obsolete. Use the Step.GetDescriptionEx method instead. Describes the step. You can change this string whenever you modify the step settings. Specifies the type of post action you want to occur if the step passes. Assign a PostActionValues string constant to the property to specify the type of post action to perform. Note: This property is obsolete. Use the Step.PassActionTargetByExpr property instead. Specifies the target for the post action the Step.PassAction property specifies. Post action targets are now expressions. If you set the target using this property, TestStand converts the target into a string constant expression before storing it. If you attempt to obtain the target using this property and it is a string constant expression, TestStand converts the target back into the string it represents and returns the string to you. If the target is not a string constant but is a more complex expression, TestStand returns an error if you try to obtain the value using this property. If the Step.PassAction property is PostAction_GotoStep, the target is the name of the step. If the Step.PassAction property is PostAction_CallCallback, the target is the name of the callback sequence. For all other types of post actions, the target property is not used. Specifies the type of post action you want to occur if the step fails. Assign a PostActionValues string constant to the property to specify the type of post action to perform. Note: This property is obsolete. Use the Step.FailActionTargetByExpr property instead. Specifies the target for the post action the Step.FailAction property specifies. Post action targets are now expressions. If you set the target using this property, TestStand converts the target into a string constant expression before storing it. If you attempt to obtain the target using this property and it is a string constant expression, TestStand converts the target back into the string it represents and returns the string to you. If the target is not a string constant but is a more complex expression, TestStand returns an error if you try to obtain the value using this property. If the Step.FailAction property is PostAction_GotoStep, the target is the name of the step. If the Step.FailAction property is PostAction_CallCallback, the target is the name of the callback sequence. For all other types of post actions, the target property is not used. Specifies the type of action you want to occur when the custom post action expression evaluates to True. Assign a PostActionValues string constant to the property to specify the type of post action to perform. Note: This property is obsolete. Use the Step.CustomTrueActionTargetByExpr property instead. Specifies the target for the post action the Step.CustomTrueAction property specifies. Post action targets are now expressions. If you set the target using this property, TestStand converts the target into a string constant expression before storing it. If you attempt to obtain the target using this property and the target is a string constant expression, TestStand converts it back into the string it represents and returns the string to you. If the target is not a string constant but is a more complex expression, TestStand returns an error if you try to obtain the value using this property.     * If the Step.CustomTrueAction property is PostAction_GotoStep, the target is the name of the step or the ID of the step. If you specify the target by name, the target step must reside in the same step group. If you specify the target by ID, the target step can reside in any step group in the sequence.    * If the Step.CustomTrueAction property is PostAction_CallCallback, the target is the name of the callback sequence.    * For all other types of post actions, the target property is not used. Specifies the type of action you want to occur when the custom post action expression evaluates to False. Assign a PostActionValues string constant to the property to specify the type of post action to perform. Note: This property is obsolete. Use the Step.CustomFalseActionTargetByExpr property instead. Specifies the target for the post action the Step.CustomFalseAction property specifies. Post action targets are now expressions. If you set the target using this property, TestStand converts the target into a string constant expression before storing it. If you attempt to obtain the target using this property and the target is a string constant expression, TestStand converts it back into the string it represents and returns the string to you. If the target is not a string constant but is a more complex expression, TestStand returns an error if you try to obtain the value using this property.     * If the Step.CustomFalseAction property is PostAction_GotoStep, the target is the name of the step or the ID of the step. If you specify the target by name, the target step must reside in the same step group. If you specify the target by ID, the target step can reside in any step group in the sequence.    * If the Step.CustomFalseAction property is PostAction_CallCallback, the target is the name of the callback sequence.    * For all other types of post actions, the target property is not used. Specifies the custom post action condition expression for the step. Specifies the type of looping for the step. Use the StepLoopTypes constants to specify the value of the property. Specifies the While Loop expression for the step. Specifies the loop status result expression for the step. Specifies the status expression for the step. Use this expression to set the ResultStatus property of the step. TestStand executes this expression after executing all other substeps and expressions for the step. The expression must evaluate to a string. Specifies the status string for the step. Although you can define custom status strings, you usually set this property to one of the ResultStatus_ constants of StepProperties. Specifies the Pre expression for the step. TestStand evaluates the Pre expression before it calls the Pre-Step substep and code module for the step. Specifies the Post expression for the step. TestStand evaluates the Post expression after calling the code module and Post-Step substep for the step. Note: This property is obsolete. Use the Step.ResultRecordingOption property instead. Specifies whether to record the Result properties of the step. If you set this property to True, TestStand records the result of the step, unless the Engine.DisableResults property is True or the Sequence.DisableResults property is True. For steps that loop, use the Step.RecordLoopIterationResults property to specify to add step results to the sequence result list after each loop iteration. Specifies the option that determines when TestStand loads the code module for the step. The SequenceFile.ModuleLoadOption property takes precedence over this property, unless the value of the SequenceFile.ModuleLoadOption property is LoadOption_UseStepLoadOption. Specifies the option that determines when TestStand unloads the code module for the step. The SequenceFile.ModuleUnloadOption property takes precedence over this property, unless the value of the SequenceFile.ModuleUnloadOption property is UnloadOption_UseStepUnloadOption. Specifies the name of the step. You can use the following code snippet to set the default name of the new step: Step.Name = Step.StepType.AsPropertyObject.EvaluateEx(Step.StepType.DefaultNameExpr, EvalOption_DoNotAlterValues).GetValString("", 0) Note: TestStand does not validate step names you create programmatically for invalid characters, which can result in errors when you use expressions. Use the PropertyObject.ValidateNewName method to validate step names. Step names can contain any character. Returns the small version of the icon that represents the step. The step type defines the icon the property returns. If the step type does not specify an icon, the property returns the icon the Adapter of the step specifies. Returns the large version of the icon that represents the step. The step type of the step defines the icon the property returns. If the step type does not specify an icon, the property returns the icon the Adapter of the step specifies. Returns a unique index for the small version of the icon that represents the step. You can use this index to retrieve the icon image from the image list you obtain with the Engine.SmallImageList property. Returns a unique index for the large version of the icon that represents the step. You can use this index to retrieve the icon image from the image list you obtain with the Engine.LargeImageListEx property. Specifies the filename of the icon for the step. If the step type has no icon file, the property returns the icon filename for the module adapter the step uses. Icon files are located in the <TestStand>\Components\Icons and <TestStand Public>\Components\Icons directories. Specifies the loop initialization expression for the step. Specifies the loop increment expression for the step. Note: This method is obsolete. Use the Step.ExecuteSubstep method instead. Executes the first Edit substep for the step, if one exists. Check the Step.CanExecuteEditSubstep property before calling this method. Returns True if the Edit substep modifies the step. Note: This property is obsolete. Use the Step.CanExecuteSubstep method instead. Returns a value that indicates whether you can execute the specified substep. Returns a value that indicates whether this step supports the Step.SpecifyModule method. This property returns False if the Module.CanSpecify property is False, if the Step.TS.CanSpecifyModulePropertyObject is False, or if the step has a step type and Specify Module is enabled on the Disable Properties tab of the Step Type Properties dialog box for the step type. Launches the Specify Module dialog box for the step, if one exists. Check the Step.CanSpecifyModule property to verify that you can call this method. The current version of TestStand does not support all SpecifyModuleOptions options for all adapters, as the following list indicates:     * LabVIEW Adapter—Only supports SpecMod_ReadOnly.    * LabWindows/CVI Adapter—Supports all options.    * C/C++ DLL Adapter—Supports all options.    * .NET—Only supports SpecMod_ReadOnly.    * ActiveX/COM Adapter—Only supports SpecMod_ReadOnly.    * Sequence Adapter—Supports all options.    * HTBasic Adapter—Only supports SpecMod_ReadOnly. Returns True if the Specify Module dialog box modifies the step. Specifies one or more SpecifyModuleOptions to modify the behavior of the dialog box. Specifies the target for the post action the Step.PassAction property specifies. If the Step.PassAction property is PostAction_GotoStep, the target is the name of the step. If the Step.PassAction property is PostAction_CallCallback, the target is the name of the callback sequence. For all other types of post actions, the target property is not used. This value is an expression. You can set the value with the name of the property that stores the name of the target or with a string constant (the name of the target in quotation marks). Specifies the target for the post action that the Step.FailAction property specifies. If the Step.FailAction property is PostAction_GotoStep, the target is the name of the step. If the Step.FailAction property is PostAction_CallCallback, the target is the name of the callback sequence. For all other types of post actions, the target property is not used. This value is an expression. You can set the value with the name of the property that stores the name of the target or with a string constant (the name of the target in quotation marks). Specifies the target for the post action the Step.CustomTrueAction property specifies.     * If the Step.CustomTrueAction property is PostAction_GotoStep, the target is the name of the step or the ID of the step. If you specify the target by name, the target step must reside in the same step group. If you specify the target by ID, the target step can reside in any step group in the sequence.    * If the Step.CustomTrueAction is PostAction_CallCallback, the target is the name of the callback sequence.    * For all other types of post actions, the target property is not used. This value is an expression. You can set the value with the name of the property that stores the name of the target or with a string constant. A string constant is the name of the target enclosed in double quotation marks. Specifies the target for the post action the Step.CustomFalseAction property specifies.     * If the Step.CustomFalseAction property is PostAction_GotoStep, the target is the name of the step or the ID of the step. If you specify the target by name, the target step must reside in the same step group. If you specify the target by ID, the target step can reside in any step group in the sequence.    * If the Step.CustomFalseAction property is PostAction_CallCallback, the target is the name of the callback sequence.    * For all other types of post actions, the target property is not used. This value is an expression. You can set the value with the name of the property that stores the name of the target or with a string constant. A string constant is the name of the target enclosed in double quotation marks. Loads the code module for the step. Returns True on success or False if the module fails to load. Specifies one or more LoadModuleOptions using the bitwise-OR operator to modify the behavior of this method. If passing the LoadModule_EvaluateExpressions flag to the loadOptions parameter, pass a SequenceContext object for this parameter to use when evaluating the expressions. Also, if you are calling this method from a step in an execution, pass the sequence context of the execution. Returns the step group in which the step currently resides. If the step is not currently inserted in a sequence, accessing this property returns an error. Returns the zero-based index that indicates where in the step group the step resides. If the step is not currently inserted in a sequence, accessing this property returns an error. Sets the run mode of a step. You can set the run mode either for the sequence file or for a particular execution. If you pass an Execution object for the executionParam parameter, the run mode change applies only to that execution and is lost when the execution is destroyed. If you do not pass an Execution object, the run mode change effects all current and future executions and is saved when you save the sequence file. The RunModes constants define the valid values for this parameter. If you want to set the run mode for a particular execution only, pass a reference to an Execution object. Obtains the run mode of a step. You can get the run mode for either the sequence file or for a particular execution. If you pass an Execution object for the executionParam parameter, the run mode the method returns is the one that you set for that execution. If no execution-specific run mode exists or if you do not pass an Execution object, this method returns the run mode of the sequence file. Returns a run mode string. The RunModes constants define the valid return values for this method. Specifies a reference to an Execution object if you want to obtain the run mode that applies to a particular execution. Note: This method is obsolete. Use the Step.GetBreakSettings method instead. Determines if a breakpoint is set on the step. Returns True if a breakpoint is set on the step. Specifies a reference to an Execution object to obtain the breakpoint settings on a step, which apply to a particular execution. If there is no execution-specific breakpoint setting or if you do not pass an Execution object, the method returns the breakpoint setting on the step of the sequence file. Note: This method is obsolete. Use the Step.SetBreakSettings method instead. Sets or unsets a breakpoint on the step. Pass True to set a breakpoint on the step or False to unset a breakpoint. Specifies a reference to an Execution object to obtain the breakpoint settings on a step, which apply to a particular execution. If there is no execution-specific breakpoint setting or if you do not pass an Execution object, the method sets the breakpoint setting on the step of the sequence file. When this property is True, TestStand does not evaluate the pre-expression and does not call the Pre-Step substeps, step module, subsequent Post-Step substeps, or the Post-Step callbacks for the step, nor does it evaluate the post expression or status expression. This property is reset to False after TestStand uses it so that the step runs normally the next time it executes. The property is also reset to False before the start of the next iteration when performing step looping. You can set this property from the Pre-Step Engine callbacks, the step pre- or post-expression, or the Pre- or Post-Step substep of a step type. By setting this property to True, you can use this property to impose additional conditions that a step must meet before it can execute. Setting this property to True in an OnNewStep substep for the inserted step instructs TestStand to cancel the insertion of the step. Specifies if TestStand evaluates the step precondition when you run the step interactively. Prevents the step from reporting a run-time error to the sequence. When a step causes a run-time error, the step stops executing and TestStand sets the status of the step to Error. If you set this property to False, TestStand also sets the internal status of the sequence to Error and the execution branches to the Cleanup step group for the sequence. If you set this property to True, TestStand does not set the internal status of the sequence to Error. Instead, TestStand resets the Error.Occurred property of the step to False and execution continues normally with the next step. The value of the Result.Status property remains as Error for the step. Determines if the TestStand application activates its window when the step completes. Specifies whether to add the step results to the sequence results list after each loop iteration. TestStand also adds the final result it computes for the step loop as a whole if you enable the Step.ResultRecordingOption property for the step. Specifies that the step acquires a lock before it executes and releases the lock after it completes. Use the Step.MutexNameOrRefExpr property to specify which lock the step uses. Specifies which lock the step acquires and releases. This property is ignored if the Step.UseMutex property is False. Enter a string expression to specify the name of an existing lock. You can also enter an expression that evaluates an ActiveX reference to an existing Lock object. Pass an empty string to specify that TestStand uses a lock unique to the step. Specifies the Batch Synchronization operation that the step enters before it executes and exits after it completes. Specifies if the step of the sequence is set to break. Specifies if the breakpoint is set. Specifies if the breakpoint is enabled. TestStand ignores disabled breakpoints during execution. Specifies the number of iterations the execution skips the breakpoint before suspending execution. Pass 0 if you do not want to use a conditional pass count. Specifies the expression that must evaluate to True before suspending the execution. An empty value defaults to True. If you specify a non-zero pass count value and a condition expression for the breakpoint, the pass count only decrements when the expression evaluates to True. Specifies a reference to an Execution object to update the breakpoint settings on a step, which apply to a particular execution. If there is no execution-specific breakpoint setting or if you do not pass an Execution object, the method sets the breakpoint setting on the step of the sequence file. Returns a value that indicates whether the step of a sequence is set to break. Returns a value that indicates whether the breakpoint is set. Returns a value that indicates whether the breakpoint is enabled. TestStand ignores disabled breakpoints during execution. Returns the number of times the execution must evaluate the condition expression before suspending the execution. Pass 0 if you do not want to use a conditional pass count. Returns the expression that must evaluate to True before suspending the execution. An empty value defaults to True. If you specify a non-zero pass count value and a condition expression for the breakpoint, the pass count only decrements when the expression evaluates to True. Specifies a reference to an Execution object to obtain the breakpoint settings on a step, which apply to a particular execution. If there is no execution-specific breakpoint setting or if you do not pass an Execution object, the method returns the breakpoint setting on the step of the sequence file. Changes the adapter a step uses. ChangeAdapter replaces the module of the step with a new module associated with the specified adapter. Returns an error if the step does not allow you to change the adapter. To avoid this error, call this method only if the Step.CanChangeAdapter method returns True. Specifies the adapter key name of the new adapter for the step. If the step does not specify a module adapter, pass an empty string. Changes the step type of a step. Returns an error if the step does not allow changing the step type. To avoid this error, call this method only if the Step.CanChangeStepType method returns True. To acquire a step type to pass as a parameter, call Engine.GetTypeDefinition and pass the name of the desired step type, then query the returned PropertyObject for the StepType interface. Specifies the step type to which you want to convert the step. Returns a value that indicates whether the step allows changing the adapter. Call CanChangeAdapter before calling the Step.ChangeAdapter method to ensure that no errors occur. Returns True if the step allows changing to the specified adapter. Otherwise, returns False. Specifies an adapter key name that determines whether the step allows changing to that specific adapter. Pass the default value of the empty string to check if the step allows changing to any adapter. Returns a value that indicates whether the step allows changing the step type. Call this method before calling the Step.ChangeStepType method to ensure that an error does not occur. Returns True if the step allows changing to the specified step type. Otherwise, returns False. Specifies a step type that checks if the step allows changing to that specific step type. Pass the default value of NULL to check if the step allows changing to any step type. Replaces the unique step ID with a new unique step ID. Returns an identification string unique among all steps TestStand has created or will create. Note: Sequence editors you create with TestStand assign new unique IDs to steps that you duplicate in the editor. However, the value of Step.UniqueStepId is not unique if you duplicate a step using the TestStand API or if you copy a sequence file using the file system. It is incorrect programming practice to create a non-unique UniqueStepId using the API. Call Step.CreateNewUniqueStepId to ensure that a programmatically duplicated step has a unique ID. At run time, you can guard against mistakenly matching steps from duplicated files by Step.UniqueStepId. To do so, append the string representation of the value of Step.Sequence.SequenceFile.Id to the Step.UniqueStepId value before comparing it. An example of a UniqueStepId is ID#:aXPIZYIPFEWM/Jsuxx0FAD. Specifies if this step caused the sequence to fail. Returns a reference to the sequence in which the step resides. Returns a NULL reference if the step is not currently inserted into a sequence. This property returns the run-time copy of a sequence if called on the run-time copy of a step. Returns a localized string description of the step result. Note: This method is obsolete. Use the Step.GetStepSettingsString method instead. Returns a string description of the execution flow settings for this step. Execution flow settings include preconditions, post actions, loop settings, and run mode. This string can change whenever you modify any of the step settings. Specifies a StepDescriptionOptions constant. Use the bitwise-OR operator to specify multiple StepDescriptionOptions constants. Specifies a reference to an Execution object if you want to obtain the run mode that applies to a particular execution. If there is no execution-specific run mode for the step or if you do not pass an Execution object, the method returns the run mode setting of the sequence file. Returns a value that indicates whether the step supports the Step.CreateCode method. This property returns False if the Module.CanCreateCode property is False, or if the Step.TS.CanCreateCode PropertyObject is False, or if the step has a step type and Edit Code is enabled on the Disable Properties tab of the Step Type Properties dialog box for the step type. Creates a code module for this step. The contents of the code module depend on the adapter used to create this step, the module settings for this step, and the code templates configured for the step type. For adapters that use Microsoft Visual Studio, calling this method can result in prompts to the user if any of the following conditions exist:     * Multiple versions of Visual Studio exist on the computer and you select the Always Prompt for Version option from the Version of Visual Studio to Use for Create and Edit Code ring control in the Adapter Configuration dialog box.    * Multiple versions of Visual Studio exist on the computer and you select the Use the Version that Matches the Project File option from the Version of Visual Studio to Use for Create and Edit Code ring control in the Adapter Configuration dialog box, and TestStand cannot match the version of the file.    * A method already exists with the same name.    * The specified solution does not contain the specified project.    * The specified project does not contain the specified source file. Note: Some adapters do not support this method. Use the Step.CanCreateCode method to determine whether the step can create code with this method. Indicates if the step was modified. Returns a value that indicates whether this step supports the Step.EditCode method. This property returns False if the Module.CanEditCode property is False, if the Step.TS.CanEditCode PropertyObject is False, or if the step has a step type and Edit Code is enabled on the Disable Properties tab of the Step Type Properties dialog box for the step type. Launches an external application to edit the code module associated with this step. A different application is launched for each adapter. For example, the EditCode method launches LabVIEW for steps created with the LabVIEW Adapter. For adapters that use Microsoft Visual Studio, calling this method can result in prompts to the user if any of the following conditions exist:     * Multiple versions of Visual Studio exist on the computer and you select the Always Prompt for Version option from the Version of Visual Studio to Use for Create and Edit Code ring control in the Adapter Configuration dialog box.    * Multiple versions of Visual Studio exist on the computer and you select the Use the Version that Matches the Project File option from the Version of Visual Studio to Use for Create and Edit Code ring control in the Adapter Configuration dialog box, and TestStand cannot match the version of the file.    * The specified solution does not contain the specified project.    * The specified project does not contain the specified source file. Indicates if the step was modified. Unloads the code module for the step. The module is not unloaded if the step is currently executing. Indicates if the module was successfully unloaded. Returns the step type for this step. Returns a description string for the step. This string can change whenever you modify any of the step settings. Specifies one or more StepDescriptionOptions constants. Use the bitwise-OR operator to specify multiple sequence file flags. Returns a reference to the Module object related to the current step. You must acquire the module interface for the specific adapter from the object this property returns to specify the code module name, location, and parameters for the Module object. Returns a value that indicates whether you can execute the specified substep. Call this method before calling the Step.ExecuteSubstep method. Specifies the zero-based index of the substep. If you call this method from a step, you must pass a SequenceContext. For executing substeps from a user interface, do not pass any value for this parameter. Executes a step type substep. Call this method to execute a substep from the step type of the specified step. Examine the step type to determine the substeps it provides. This method can execute any type of substep including Pre, Post, Edit, or Custom substeps. Use the PropertyObject.GetArrayOffset method to obtain the index from the name of a substep. For example: RunState.PreviousStep.ExecuteSubstep(RunState.Engine.GetTypeDefinition("MessagePopup").GetArrayOffset("Substeps", 0, "[\"Post\"]")) Returns True if the substep indicates that it modified the step by incrementing the sequence file change count. Typically, only Edit substeps increment the sequence file change count. Specifies the zero-based index of the substep. Use the PropertyObject.GetArrayOffset method to obtain the index from the name of a substep. Typically, you pass the current sequence context when you call this method from within a thread of an execution. If you do not pass any value for this parameter, TestStand approximates the sequence context as if you are running the step in a sequence. When executing substeps from a user interface, do not pass any value for this parameter. Specifies that TestStand does not call any further Engine callbacks for the same event. In an Engine callback sequence, set this property on the step that triggers the callback to specify that TestStand does not call any further Engine callbacks for the same triggering event. For example, a SequenceFilePostStepRuntimeError callback that completely handles a run-time error might set this property to prevent TestStand from also executing a ProcessModelPostStepRuntimeError callback for the same step error. Specifies the PropertyObject object that holds the result of the current or most recent step execution. You can set this property to NULL (Nothing) in a step or substep module to remove the step result from the result list. If you set this property to a value other than NULL or if you set the property when the step is not executing, the result list does not change. This property does not return loop iteration results. Specifies the PropertyObject object that holds the result for the loop iteration the step is running. You can set this property to NULL (Nothing) in a step or substep module to remove the step iteration result from the result list. If you set this property to a value other than NULL or if you set the property when the step is not executing, the result list does not change. Returns a NULL reference if the step is not looping. Returns the menu structure for the Edit substeps associated with the step type of the step. A step type can have more than one Edit substep associated with it. This function returns an object that describes the menu used to select an Edit substep to execute. The object that specifies the menu structure. See MenuItemProperties for a description of this property object. Specifies if dialog boxes that edit the step launch in read-only mode. Implement code for such dialog boxes to obtain the value of this property and launch the Edit dialog box in read-only mode if it returns True. The sequence editor sets this property if the file that contains the step is read-only, if the user does not have sufficient privileges to edit the step, or if executions are currently running. When implementing an Edit substep for a step type, this property works in conjunction with the Supports Edit As Read-Only option for the Edit substep in the Step Type Properties dialog box. The sequence editor does not call the Edit substep for a read-only step unless Supports Edit As Read-Only is True for the Edit substep. If you do not want to handle launching the dialog box in read-only mode, leave Supports Edit As Read-Only set to False. Specifies the number of blocks that enclose the step. Specifies 0 for top-level steps. Specifies the number of unterminated blocks that enclose the step. Specifies flags that indicate how the step affects the block structure of the sequence. Returns the index of the step that closes the block this step opens. Returns -1 if this step does not open a matched block. Specifies the index of the step that opens the block this step closes. Specifies -1 if this step does not close a matched block. Specifies the index of the nearest previous step that starts a block, regardless of the level of the preceding block. Specifies -1 if this step does not also start a block or if no previous block exists. Specifies the index of the nearest following step that starts a block, regardless of the level of the next block. Specifies -1 if this step does not start a block or if no subsequent block exists. Specifies the index of the step that starts the enclosing block. Specifies -1 if this step does not reside in an enclosing block. Returns the Requirements property for the step. The Links subproperty of the Requirements property is an array of string values that represents the product and unit requirements the step covers. You can use the following pseudocode to add a new element to the list of requirements: PropertyObject links = step.Requirements.GetPropertyObject("Links", 0);int nextAvailableIndex = links.GetNumElements();links.SetValStringByOffset(nextAvailableIndex, PropertyOptions.PropOption_InsertElement, "REQ_ABC"); Returns a string description of the step settings. The string description includes information about settings such as synchronization, switching, run mode, looping, post actions, preconditions, pre/post/status expressions, module specification, breakpoint options, window activation, result recording, module loading and unloading, ignoring of run-time errors and termination, subsequence tracing, and whether a step failure causes a sequence failure. This property returns a string that can change whenever you modify any of the step settings. Specifies a StepDescriptionOptions constant. Use the bitwise-OR operator to specify multiple StepDescriptionOptions constants. Specifies a reference to an Execution object to retrieve execution specific settings for a running instance of the step. Specifies whether to perform a switching operation for the step. The step performs the switching operation the Step.SwitchExecOperation property specifies for the virtual device the Step.SwitchExecVirtualDevice property specifies. Note: This feature is available only when you install NI Switch Executive software. Specifies an expression TestStand evaluates at run time to determine the virtual device name on which to perform the switching operation. Note: NI Switch Executive software in Measurement & Automation Explorer defines the virtual device name. Specifies whether to connect or disconnect the routes the Step.SwitchExecRoutesToConnect and Step.SwitchExecRoutesToDisconnect properties specify, or disconnect all previously connected routes for a virtual device. Note: This operation returns as soon as the instrument is ready for another operation, which might be before or after the switches involved settle. Enable the Step.SwitchExecWaitForDebounce property if you want to wait until all switches have debounced. Specifies an expression TestStand evaluates at run time to determine the routes to connect when the value of the Step.SwitchExecOperation property is Connect or ConnectDisconnect. Note: The expression must be a valid route specification string the NI Switch Executive configuration defines for the virtual device name the Step.SwitchExecVirtualDevice property specifies. The string can be a combination of route group alias names, route names, and physical route paths. You can use the SwitchFindRoute expression function to dynamically determine a physical route path at run time. Specifies an expression TestStand evaluates at run time to determine the routes to disconnect when the value of the Step.SwitchExecOperation property is Disconnect or ConnectDisconnect. Note: The expression must be a valid route specification string the NI Switch Executive configuration defines for the virtual device name the Step.SwitchExecVirtualDevice property specifies. The string can be a combination of route group alias names, route names, and physical route paths. You can use the SwitchFindRoute expression function to dynamically determine a physical route path at run time. Specifies the behavior when more than one connection operation occurs on a specific route. Note: If the value of this property is Multiconnect, a route can exist longer if another step specifies a lifetime for the same route. Specifies whether the Disconnect operation occurs before or after the Connect operation when the value of the Step.SwitchExecOperation property is ConnectDisconnect. Specifies the lifetime that TestStand applies to routes when the value of the Step.SwitchExecOperation property is Connect or ConnectDisconnect. You can specify whether you want the route to exist until manually disconnected later or until the step, sequence, thread, or execution completes. Note: If the value of the Step.SwitchExecMulticonnectMode property is Multiconnect, a route can exist longer if another step specifies a lifetime for the same route. Selecting a lifetime other than Manual guarantees that the route stays connected as long as the step, sequence, thread, or execution in which you connect is executing. If you manually disconnect a previously connected route using a non-manual lifetime setting, TestStand releases the reference to the route for the last step that performed a connect action for the route. Specifies if the operation the Step.SwitchExecOperation property specifies waits for all switches to debounce before returning to TestStand. Note: The wait for debounce occurs after both the Connect and Disconnect operations are complete. If the step is currently executing, this method adds a custom additional result to the step results. If the step is looping, this method adds a custom additional result to the Step.CurrentLoopResult. If the step is not looping, this method adds a custom additional result to Step.LastStepResult property. This method returns an error if the step is not executing. This method performs no action if you disable result recording. This method does not affect the additional result settings of the step that you programmatically configure using the Step.AdditionalResults property. Specifies the value of the additional result. Specifies the name of the additional result. Pass an empty string to use the name of the object you passed for the resultValue parameter. Specifies the PropertyFlags of the additional result. You must include the PropFlags_IncludeInReport flag for the additional result to appear in the report. Specifies whether to record the result properties of the step. For steps that loop, use the Step.RecordLoopIterationResults property to specify to add step results to the sequence result list after each loop iteration. When this property is True, TestStand does not call the code module for the step. This property is reset to False after TestStand uses it so that the step runs normally the next time it executes. The property is also reset to False before the start of the next iteration when looping on a step. You can set this property from the Pre-Step Engine callbacks, the step pre-expression, or the Pre-Step substep of a step type. By setting this property to True, you can use this property to impose additional conditions that a step must meet before it can execute the code module. Objects of the User class represent the data and privileges TestStand associates with a TestStand user or user group. Call the Engine.GetUser or Engine.NewUser method to obtain a User object for a particular user or user group. Obtain the object for the currently logged-in user from the Engine.CurrentUser property. You can obtain an array of users or user groups using the UsersFile.UserList and UsersFile.UserGroupList properties. Use the PropertyObject class methods to add or remove objects from the array to change the TestStand user or user group list. You can use the PropertyObject class to access the subproperties of an object from the User class. Refer to User Data Type Subproperties for the default subproperties TestStand defines. Returns True if the string you specify matches the user password. Specifies the string to compare with the user password. Returns True if the user or any user group of which the user is a member has the privilege you specify by name. Specifies the name of the privilege to check. You can specify the name of any privilege property. You can specify the full privilege path in the UserPrivileges property view, such as Debug.RunSelectedTests, or you can specify the base privilege name, such as RunSelectedTests. If you specify only the base privilege name and more than one instance of the base privilege name exists, the method returns the value of the first base privilege it finds with that name. Returns the underlying PropertyObject that represents the User object. Use the PropertyObject to modify, add, or remove custom properties of the object. Specifies the login name of the user. Specifies the password for the user. When you set this property, TestStand scrambles the password before storing it internally. When you get this property, TestStand returns the scrambled password to you, to prevent users from programmatically accessing passwords without authorization. Specifies the full name of the user. Returns the PropertyObject that contains the privilege settings for the user. Do not use this property to determine whether a user has certain privileges. Instead, use the User.HasPrivilege or Engine.CurrentUserHasPrivilege methods. Returns the underlying PropertyObject that represents the list of user names that are members of the group. This property applies only to user groups. Use Adapter objects to configure and obtain information about the module adapters. Typically, you use this class only when you write a user interface application or sequence editor. Note: If you are considering writing a user interface application, National Instruments recommends using the TestStand User Interface (UI) Controls instead of writing the application using the TestStand Engine API. To obtain an Adapter object, call the Engine.GetAdapter method. Pass a zero-based index to specify the Adapter object for which you want to obtain a reference. To find out the number of available adapters, obtain the value of the Engine.NumAdapters property. Launches the Adapter Configuration dialog box for the adapter. When Adapter.IsConfigurable is False, calling this method has no effect. Returns the underlying PropertyObject that represents the adapter. Use the PropertyObject to edit, add, or remove custom properties of the adapter. Returns True if the adapter has an Adapter Configuration dialog box you can launch using the Adapter.Configure method. Returns the name other TestStand API functions, such as the Engine.NewStep method, use to refer to the adapter. Returns the name to display for the adapter. Returns a small icon that represents the adapter. Returns a large icon that represents the adapter. Returns a unique index for the small icon that represents the adapter. Use this index to retrieve the icon from the image list you obtain with the Engine.SmallImageListEx property. Returns a unique index for the large icon that represents the adapter. Use this index to retrieve the icon from the image list you obtain with the Engine.LargeImageListEx property. Returns the icon filename for the adapter. Icon files are located in the <TestStand>\Components\Icons and <TestStand Public>\Components\Icons directories. Specifies if the adapter is present in the list of adapters. This property is used to hide the adapter. Set this property to True to hide the adapter in controls that display the list of adapters. Specifies that the description for the step that uses the adapter includes the arguments the step passes to the methods or sequences they call. Indicates whether this adapter is supported by the current instance of the TestStand Engine. Use this property to check if an adapter is supported by the current instance of TestStand Engine. Unsupported adapters exist in the TestStand Engine so that TestStand can open sequence files containing unsupported adapter steps. You can view and edit these sequence files, even though you cannot execute the unsupported steps. Support for an adapter can depend on the bitness of TestStand. For example, 32-bit TestStand does not support the LabVIEW NXG Adapter. An execution is an object TestStand creates to contain all the information it uses to run the sequences and subsequences it calls. Use objects of this class to control and get information about executions. For example, you can use methods to suspend, resume, or terminate execution, and you can use properties to determine whether the execution is an interactive execution or whether the execution is in the process of terminating. Suspends the execution. Resumes the execution from a suspended state. The execution state does not change immediately after the call to this method returns, but the state will change before the next step within the execution executes. Resumes the execution from a suspended state and then suspends the execution again after execution of the next step completes. Resumes the execution from a suspended state and then suspends the execution again at the earliest possible point. If the step module adapter for the next step can step into the step module in debug mode, execution suspends at the beginning of the step module code. If the step is a Sequence Call step, this method suspends execution at the first step in the subsequence. Resumes the execution from a suspended state and then suspends the execution again after execution of the current sequence completes. Aborts the execution. Cleanup step groups do not execute as part of the abort process. If a call to a step module is active, the execution waits for the step module to return. The execution state does not change immediately after the call to this method returns, but the state will change before the next step within the execution executes. Terminates the execution. Cleanup step groups execute as part of the termination process. If the execution is an interactive execution, use the Execution.TerminateInteractiveExecution method instead. If a call to a step module is active, the execution waits for the step module to return. The execution state does not change immediately after the call to this method returns, but the state will change before the next step within the execution executes. Terminates an interactive execution. If you started the interactive execution while suspended in a normal execution, execution suspends at the point in the original execution at which you started the interactive execution. The Cleanup step group for the sequence in which you started the interactive execution only runs if you created the execution as an interactive execution and if the user enables the Run Setup and Cleanup option on the Execution tab of the Station Options dialog box. If a call to a step module is active, the execution waits for the step module to return. The execution state does not change immediately after the call to this method returns, but the state will change before the next step within the execution executes. Cancels the termination of a currently terminating execution. Call this method from within a step. Calling this method from the main thread of the user interface or from within an edit substep of a step type results in deadlock. Note: This method is obsolete. Use the Execution.RestartEx method instead. Execution restarts from the beginning. Pass True to stop at the first step in the execution. Returns a Thread object for the thread that you identify by index. Do not call this method when handling a UIMsg_Trace message because TestStand allows non-foreground threads to run and complete while TestStand handles trace events. As a result, obtaining a thread by index is unreliable during trace event handling. Specifies the zero-based index of the list of threads in the execution. Returns the SequenceFile object that contains the sequence in which the execution began. If the execution is using a process model, the method returns the SequenceFile object for the client sequence file. Note: Do not call the Engine.ReleaseSequenceFileEx method for a reference this method returns. Returns the SequenceFile object for the process model file the execution is using. Returns a NULL object reference if the execution is not using a process model. Note: Do not call the Engine.ReleaseSequenceFileEx method for a reference this method returns. Returns the underlying PropertyObject that represents the Execution object. Use the PropertyObject to modify, add, or remove custom properties of the object. Returns True if the execution is executing steps interactively. This property is always True for executions that you create as interactive executions. For executions that you start as normal executions, this property is only True when you interactively execute steps while at a breakpoint state. If you run the sequence using the Run Selected Steps Interactive Execution entry point, this property is True. Specifies the ExecutionTypeMask constants with which you created the execution. Note: This property is obsolete. Use the Execution.RTEOptionForThisExecution property instead. Set this property to False if you do not want to receive a break event on run-time errors for the execution. If you set this property to False, the next run-time error causes the execution to terminate. Cleanup step groups of the active sequences run as part of the termination procedure. Returns the current number of threads in the execution. Do not access this property when handling a UIMsg_Trace message. TestStand allows non-foreground threads to run and complete while TestStand handles trace events. As a result, obtaining the number of threads is unreliable during trace event handling. Specifies the foreground thread of the execution. The foreground thread is the thread the sequence editor or user interface displays as active for the execution. You specify the thread with a zero-based index into the list of threads in the execution. Do not access this property when handling a UIMsg_Trace message. TestStand allows non-foreground threads to run and complete while TestStand handles trace events. As a result, getting and setting thread indexes is unreliable during trace event handling. Use the Execution.ForegroundThread method instead. Note: This property is obsolete. Use the Execution.EnableCallback method to enable the callback sequence. Use the Execution.IsCallbackEnabled method to verify that the callback is enabled. Enables the SequenceFilePreStep callback. Set this property to False to disable the SequenceFilePreStep callback. Note: This property is obsolete. Use the Execution.EnableCallback method to enable the callback sequence. Use the Execution.IsCallbackEnabled method to verify that the callback is enabled. Enables the SequenceFilePostStep callback. Set this property to False to disable the SequenceFilePostStep callback. Note: This property is obsolete. Use the Execution.EnableCallback method to enable the callback sequence. Use the Execution.IsCallbackEnabled method to verify that the callback is enabled. Enables the ProcessModelPreStep callback. Set this property to False to disable the ProcessModelPreStep callback. Note: This property is obsolete. Use the Execution.EnableCallback method to enable the callback sequence. Use the Execution.IsCallbackEnabled method to verify that the callback is enabled. Enables the ProcessModelPostStep callback. Set this property to False to disable the ProcessModelPostStep callback. Note: This property is obsolete. Use the Execution.EnableCallback method to enable the callback sequence. Use the Execution.IsCallbackEnabled method to verify that the callback is enabled. Enables the StationPreStep callback. Set this property to False to disable the StationPreStep callback. Note: This property is obsolete. Use the Execution.EnableCallback method to enable the callback sequence. Use the Execution.IsCallbackEnabled method to verify that the callback is enabled. Enables the StationPostStep callback. Set this property to False to disable the StationPostStep callback. Note: This property is obsolete. Use the Execution.EnableCallback method to enable the callback sequence. Use the Execution.IsCallbackEnabled method to verify that the callback is enabled. Enables the SequenceFilePreInteractive callback. Set this property to False to disable the SequenceFilePreInteractive callback. Note: This property is obsolete. Use the Execution.EnableCallback method to enable the callback sequence. Use the Execution.IsCallbackEnabled method to verify that the callback is enabled. Enables the SequenceFilePostInteractive callback. Set this property to False to disable the SequenceFilePostInteractive callback. Note: This property is obsolete. Use the Execution.EnableCallback method to enable the callback sequence. Use the Execution.IsCallbackEnabled method to verify that the callback is enabled. Enables the ProcessModelPreInteractive callback. Set this property to False to disable the ProcessModelPreInteractive callback. Note: This property is obsolete. Use the Execution.EnableCallback method to enable the callback sequence. Use the Execution.IsCallbackEnabled method to verify that the callback is enabled. Enables the ProcessModelPostInteractive callback. Set this property to False to disable the ProcessModelPostInteractive callback. Note: This property is obsolete. Use the Execution.EnableCallback method to enable the callback sequence. Use the Execution.IsCallbackEnabled method to verify that the callback is enabled. Enables the StationPreInteractive callback. Set this property to False to disable the StationPreInteractive callback. Note: This property is obsolete. Use the Execution.EnableCallback method to enable the callback sequence. Use the Execution.IsCallbackEnabled method to verify that the callback is enabled. Enables the StationPostInteractive callback. Set this property to False to disable the StationPostInteractive callback. Stores timing results for steps in the execution. Set this property to False to disable the storing of timing results for steps. TestStand stores time results only when the Execution.StandardResultsEnabled property is True. Stores all the standard results for steps in the execution. Standard results include properties that specify basic step execution information. Set this property to False to disable storing the standard results for the execution. The standard results are the subproperties in the TS property of the result list entry for each step. Specifies the result status string for the execution. Note: You cannot use this property to determine if a completed execution encountered an error. Instead, access the Occurred sub-property of Execution.ErrorObject. Although you can define custom status strings, you usually set this property to one of the ResultStatus_ constants of StepProperties. Returns the error PropertyObject that contains the error reporting properties for this execution. The subproperties of the error object include Code, Msg, and Occurred. Returns the Report object for the execution. Returns a unique ID number for the execution. Note: The ID number is never zero. The ID number is unique with respect to all executions you can initiate before you shut down the TestStand Engine. Use this ID number to compare two Execution object references to determine whether they refer to the same underlying execution. Returns the name to display for the execution. Specifies a step property for TestStand to copy to the results list after the execution of each step. TestStand always copies each subproperty within the Result property of each step to the result list. If the step has a result property, you can use this function to specify an additional step property to include in the result list. If a step does not have the property you specify, TestStand does not add the property to the result list element for that step. You can add any number of extra results by calling this method repeatedly. Specifies the property name of the property to add to the results. For example, to add the upper limit of Numeric Limit Test steps, pass the name "Step.Limits.High". Specifies the name with which to store the copy of the property in the results list entry for each step. Removes a specific property from the list of properties to add to the results. Specifies the property name of the property to remove from the list of properties to add to the results. Use the same name that you passed as the first parameter to the Execution.AddExtraResult method, such as Step.Limits.High. Clears the list of properties to add to the results list. Returns the current state of the execution. Note: When a user interface that uses TestStand UI Controls needs to obtain the state of the execution, National Instruments recommends using the ApplicationMgr.GetRunState method or the ExecutionViewMgr.RunState property instead of directly calling the Execution.GetStates method on the execution. Returns the running state of the execution. If the execution is terminating, this value indicates how it is terminating. Returns the Result PropertyObject for the execution. Typically, the Result PropertyObject contains at least the Error, Status, ReportText, and Common subproperties.     * Error—Property object that contains the error information for the execution.    * ResultList—Array that contains the combined results for all the steps in the execution.    * SequenceFile—String that contains the path of the sequence file associated with the execution.    * Sequence—String that contains the name of the sequence associated with the execution.    * Status—String that contains the status of the execution. You can also obtain the Error subproperty of the Result PropertyObject by using the ErrorObject property. You can access the Status subproperty by using the ResultStatus property. Note: This method is obsolete. Use the Execution.WaitForEndEx method instead. Waits for an execution to end. This method is not meant to be used by a user interface or sequence editor as it does not process UIMessages. Instead, use this method from a step to synchronize with another execution. Returns True when the execution ends or False when the timeout occurs. Specifies the maximum number of milliseconds to wait. Specify -1 for no timeout. Specify True to process Microsoft Windows messages while waiting or False to wait without processing Windows messages. If you call this method from a step, pass a reference to the execution of the step to allow this method to return immediately when the step execution is terminated or aborted. Note: This property is obsolete. Use the Execution.EnableCallback method to enable the callback sequence. Use the Execution.IsCallbackEnabled method to verify that the callback is enabled. Enables the StationPostResult callback. Set this property to False to disable the StationPostResult callback. Note: This property is obsolete. Use the Execution.EnableCallback method to enable the callback sequence. Use the Execution.IsCallbackEnabled method to verify that the callback is enabled. Enables the ProcessModelPostResult callback. Set this property to False to disable the ProcessModelPostResult callback. Note: This property is obsolete. Use the Execution.EnableCallback method to enable the callback sequence. Use the Execution.IsCallbackEnabled method to verify that the callback is enabled. Enables the SequenceFilePostResult callback. Set this property to False to disable the SequenceFilePostResult callback. Note: This property is obsolete. Use the Execution.EnableCallback method to enable the callback sequence. Use the Execution.IsCallbackEnabled method to verify that the callback is enabled. Enables the StationPostError callback. Set this property to False to disable the StationPostError callback. Note: This property is obsolete. Use the Execution.EnableCallback method to enable the callback sequence. Use the Execution.IsCallbackEnabled method to verify that the callback is enabled. Enables the ProcessModelPostError callback. Set this property to False to disable the ProcessModelPostError callback. Note: This property is obsolete. Use the Execution.EnableCallback method to enable the callback. Use the Execution.IsCallbackEnabled method to verify that the callback is enabled. Enables the SequenceFilePostError callback. Set this property to False to disable the SequenceFilePostError callback. Note: This property is obsolete. Use the Execution.EnableCallback method to enable the callback sequence. Use the Execution.IsCallbackEnabled method to verify that the callback is enabled. Enables the StationPostFail callback. Set this property to False to disable the StationPostFail callback. Note: This property is obsolete. Use the Execution.EnableCallback method to enable the callback sequence. Use the Execution.IsCallbackEnabled method to verify that the callback is enabled. Enables the ProcessModelPostFail callback. Set this property to False to disable the ProcessModelPostFail callback. Note: This property is obsolete. Use the Execution.EnableCallback method to enable the callback. Use the Execution.IsCallbackEnabled method to verify that the callback is enabled. Enables the SequenceFilePostFail callback. Set this property to False to disable the SequenceFilePostFail callback. Returns the absolute pathname of the sequence file for this execution. If the execution is using a process model, the method returns the pathname of the client sequence file. Returns the sequence file pathname. Returns an empty string for unsaved sequence files. Returns the absolute pathname of the model sequence file for this execution. Clears the temporary breakpoints on all threads. You can set temporary breakpoints by calling the Execution.StepInto, Execution.StepOut, or Execution.StepOver methods. Returns the total number of seconds for which the execution has been running. The value returned does not include time spent while the execution is suspended at a breakpoint. Restarting the execution resets the value of this property. Returns the total number of seconds for which the execution has been suspended at breakpoints. Restarting the execution resets the value of this property. Returns the number of seconds between the creation of the engine and the beginning of the execution. This property returns the value of the Engine.SecondsSinceStart property when the execution starts. Restarting the execution resets the value of this property. Gets the run-time copy of the sequence file globals for a particular execution and sequence file. Sequence file globals are per execution and per sequence. All steps in a particular sequence file within a particular execution share the same copy of the sequence file globals at run time. Returns a PropertyObject that contains the file globals for the particular sequence file you pass as the sequenceFileParam parameter. It returns the run-time copy of the file globals. If a run-time copy has not yet been created, a new one is created and returned. Specifies the sequence file that contains the file globals you want returned. Specifies the foreground thread of the execution. The foreground thread is the thread that the sequence editor or user interface displays as active for the execution. Restarts a completed execution. Use this method instead of the Execution.Restart method when you require the new functionality the RestartOptions constants provide. For example, use this method if you need to restart an execution created as non-restartable. Specifies which RestartOptions to use. You can specify more than one RestartOption by combining the constants using the bitwise-OR operator. Specifies the client sequence file when executing with a process model. Typically, you set this property in the process model to dynamically specify which client sequence file the process model invokes. When the execution first uses the client sequence file, it locks the file so that it cannot be unloaded from the sequence file cache of the engine until the execution completes or until this property is set to a different sequence file. Additionally, when you set this property to a different sequence file or a NULL reference to clear out the execution reference to the previous client sequence file, ensure you have disabled the Optimize Non-Reentrant Calls to This Sequence sequence property setting in all sequences of the client sequence file, or the execution maintains a reference to the client sequence file until it completes. Disables tracing on a per-execution basis. If tracing is globally disabled, enabling this property does nothing. This property is meant to disable tracing only when it would otherwise be enabled based on the StationOptions.TracingEnabled property, since this property overrides the enable setting on the station. Specifies the current setting that indicates how TestStand responds to a run-time error. The original setting for this property is the value of the StationOptions.RTEOption property when the execution is created. Waits for an execution to end. This method is not meant to be used by a user interface or sequence editor, as it does not process UIMessages. Instead, use this method from a step to synchronize with another execution. If you need to call this method from a user interface, you must call this method from a non-UI thread. Returns True when the execution ends or False when the timeout occurs. Specifies the maximum number of milliseconds to wait. Specify -1 for no timeout. If you pass a value for the callingSequenceContext parameter, TestStand suspends the timeout while the calling execution is suspended at a breakpoint so that the time spent at a breakpoint does not count towards the elapsed timeout time. Specify True to process Microsoft Windows messages while waiting or False to wait without processing Windows messages. Specifies a step in which to store the results of the execution. If you specify a step, the result status of the step reflects that of the execution, and TestStand stores the result list for the execution in the TS.AsyncSequenceCall result property for the step. If you are calling this method from inside of an execution, pass the current sequence context of the execution you are calling the method from for this parameter so TestStand can monitor the execution and abort the method if the calling execution is terminated or aborted. Records results for steps running in the execution. When this property is True, TestStand does not record results for any steps that run in the execution. When this property is False, TestStand records results based on the setting of the ResultRecordingOption property of each individual step or based on the DisableResults property of both the engine and the sequence. Returns the value of the breakOnEntry parameter of the method call that started the most recent execution. Use this read-only property to determine whether the execution was created with the breakAtFirstStep parameter set to True. The methods that start executions are Engine.NewExecution, Engine.NewHierarchicalExecution, and RestartEx. If the most recent call was the Engine.NewExecution or the Engine.NewHierarchicalExecution method, this property returns the value specified for the breakOnFirstStep parameter. If the most recent call was the Execution.Restart method, this property returns the value of the breakOnEntryParam parameter. If the most recent call was the Execution.RestartEx method, this property returns True if the restartOptionsParam parameter included the RestartOption_BreakOnEntry value. Returns the number of times the execution has been started. This count increments after TestStand sends the UIMsg_StartExecution message to the user interface. Calling this property while handling the UIMsg_StartExecution message returns 0 the first time the execution starts. Creates the initial termination monitor data property object the Execution.GetTerminationMonitorStatus method uses. Only call this method once, when you want to begin monitoring the status of the execution. Use this method with the Execution.GetTerminationMonitorStatus method to monitor the state of an execution when performing a task inside of a step that takes a long time or requires user input to continue, such as launching a dialog box. When performing such a task, first call this method and hold on to the PropertyObject it returns. Then, while performing the task or inside of the message processing loop, periodically call the Execution.GetTerminationMonitorStatus method and pass the PropertyObject this method returns. If the method returns True, the execution is terminating and you should abort the task you are performing. Use the Execution.InitTerminationMonitor and Execution.GetTerminationMonitorStatus methods to monitor whether the execution receives a request to terminate or abort the execution. The monitor only recognizes requests to terminate or abort while monitoring, so a code module that executes in a Cleanup step group of an already terminating execution monitors for a subsequent request to terminate the step or abort the execution. Use the Execution.GetStates method to determine the execution state of the code module. A property object that contains data the Execution.GetTerminationMonitorStatus method uses to determine whether a particular execution is terminating and, therefore, whether a particular operation (that is, a code module of a step within the execution) needs to abort what it is doing. Note: Do not directly access the data in this property object. Monitors an execution so the calling code can abort what it is doing and exit if the user requests that the execution terminate or abort. Use this method with the Execution.InitTerminationMonitor method to monitor the state of the execution when performing a task inside of a step that takes a long time or requires user input to continue, such as launching a dialog box. When performing such a task, first call the Execution.InitTerminationMonitor method and hold on to the PropertyObject it returns. Then, while performing the task or inside of the message processing loop, periodically call this method and pass the PropertyObject you got from the Execution.InitTerminationMonitor method. If the method returns True, the execution is terminating and you should abort the task you are performing. This method calls the Execution.GetStates method to update the state information it stores in terminationMonitorData. The Execution.GetTerminationMonitorStatus method uses the state information to determine whether to exit an execution under various conditions, such as when a Cleanup step launches a dialog box while the sequence is already terminating. Use the Execution.InitTerminationMonitor and Execution.GetTerminationMonitorStatus methods to monitor whether the execution receives a request to terminate or abort the execution. The monitor only recognizes requests to terminate or abort while monitoring, so a code module that executes in a Cleanup step group of an already terminating execution monitors for a subsequent request to terminate the step or abort the execution. Use the Execution.GetStates method to determine the execution state of the code module. Returns True if the execution is terminating or aborting. Specifies a property object you obtain by calling the Execution.InitTerminationMonitor method. The data this property object contains is not meant to be accessed directly. If you are monitoring an execution from a step that is running as part of the execution so you can abort the step when the execution terminates or aborts, pass the SequenceContext object of the step. If you are monitoring an execution from a step in a different execution or from code that is not part of a step, leave this parameter unspecified. When you specify this parameter, TestStand uses other information about the execution of the step that is monitoring the execution to determine whether to abort. Use this property object to create and access variables you want to exist only for the current run of the execution. TestStand destroys these variables when the execution completes, terminates, or aborts. Associates a new custom user interface message with an execution. Use this function when you want TestStand to send a custom user interface message based on a user-defined expression. You define the Boolean expression to evaluate after each step executes. If the expression is True, TestStand sends the custom user interface message. This message is synchronous. The thread that sends this message suspends until you process it. This message is sent regardless of the Enable Tracing setting, Disable Result Recording for All Sequences setting, Step Run Mode setting, or Step Result Recording option. Specifies the custom user interface message code. You can use more than one custom user interface message associated with the same code. TestStand sends the custom user interface messages when the associated expression evaluates to True. Specifies the valid expression to evaluate after each step executes. Specifies any combination of the flags found in CustomPostStepUIMsgOptions. Removes a custom user interface message associated with an execution. Use this method to remove any custom user interface messages previously associated with an execution by calling the Execution.AddPostStepCustomUIMessage method. Specifies the custom UI message code. This method does not return an error when the message code is not associated with an execution. Enables or disables the callback sequence that corresponds to the callback type passed as the input parameter. If the newValue parameter is set to False, TestStand disables the callback. Otherwise, TestStand enables the callback. Use the Execution.IsCallbackEnabled method to determine whether a callback is enabled. Specifies the callback type. If this value is False, TestStand disables the callback. Otherwise, TestStand enables the callback. Determines whether the callback type the parameter passes is enabled. Specifies the callback type. Refer to CallbackTypes for the possible values. Creates a default value copy of the sequence. Whenever TestStand begins executing a sequence, it makes a run-time copy of the sequence. Normally, TestStand creates the run-time copy from the edit-time copy of the sequence in the sequence file. You can use this method in conjunction with the Execution.SetSequenceDefaultValues method to instruct the execution to use different default values for the local variables and step properties. Changes to the default value sequence this method returns do not update the edit-time copy of the sequence. Returns a Sequence object that represents default values an execution can use to create run-time copies of the sequence during execution. Typically, you update the local variables and step properties in the sequence this method returns, and use the Execution.SetSequenceDefaultValues method to instruct the execution to use the sequence to create run-time sequences. Specifies which default value sequence the method creates. Returns the default value copy of the sequence, if it exists. Otherwise, this method returns NULL. Use this method to return default value sequences the Execution.SetSequenceDefaultValues method previously specified. If a sequence specifies to optimize non-reentrant calls, changes to the default value sequence this method returns do not apply to run-time sequences that the execution caches. Call the Execution.SetSequenceDefaultValues method to ensure the execution uses any changes to the sequence in all subsequent invocations. Returns a Sequence object that represents the default values an execution is using to create run-time copies of the sequence. Specifies which default value sequence the method returns. Specifies whether the method operates on the list of default value sequences for the execution or the hierarchy of executions with which the execution is associated. Instructs the execution to use a default value copy of the sequence to create run-time copies of the sequence. Whenever TestStand begins executing a sequence, it makes a run-time copy of the sequence. Normally, TestStand creates the run-time copy from the edit-time copy of the sequence in the sequence file. You can use this method in conjunction with the Execution.NewSequenceDefaultValues method to instruct the execution to use different default values for the local variables and step properties. You can associate default value sequences with either a specific execution or the hierarchy of executions with which the execution is associated. For example, setting a default value sequence on the hierarchy of execution associated with a Batch model applies the default value sequence to the controlling batch execution and all test socket executions. If an execution and the execution hierarchy both specify a default value sequence, TestStand uses the default value sequence the execution specifies. Specifies the default value sequence the execution uses to create run-time sequences. Use the Execution.NewSequenceDefaultValues method to create a default value sequence and update the local variables and step properties in the sequence before calling this method. Specifies whether the method operates on the list of default value sequences for the execution or the hierarchy of executions associated with the execution. Removes a specific default value sequence or all default value sequences. This method operates on either the list of default value sequences for the execution or the hierarchy of executions associated with this execution. Specifies the sequences that indicate the default value to remove. Passing NULL removes all default value sequences. Specifies whether the method operates on the list of default value sequences for the execution or the hierarchy of executions associated with the execution. Creates and returns a new Thread object. When you call this method, the thread begins executing immediately. This method behaves similar to a Sequence Call step you configure to run in a new thread. The thread created by this method. Specifies the SequenceFile object that contains the sequence to execute. Specifies the name of the sequence to execute. Pass 0 for the default behavior or pass one or more NewThreadOptions constants. Use the bitwise-OR operator to pass multiple constants. If you call this method from a code module for a step inside of an execution, pass the sequence context of the step. This allows this method to behave similar to a Sequence Call step and to set the SequenceContext.Caller property correctly. Specifies a PropertyObject object that contains the arguments to the sequence you want to execute. Each subproperty of PropertyObject represents a parameter to the sequence. The subproperties must appear in the same order as the sequence parameters. Returns the collection of reports for the execution. Overrides the value you set in the Thread.TerminationOption property. When an execution terminates, threads with a TerminationOption of ThreadTerminationOptions_Normal stop. If the Execution.OverrideNonTerminatableThreads property is set, threads with a TerminationOption of ThreadTerminationOptions_Prompt also stop without prompting. This option does not affect threads with a TerminationOption of ThreadTerminationOptions_Never. Specifies the prompt message for a user interface to display in response to the UIMsg_NonTerminatableThreadsArePreventingTermination event. For example, a process model that spawns threads with a Thread.TerminationOption property set to ThreadTerminationOptions_Prompt might set this property to inform users of the specific work they might lose if they terminate the threads. A user interface can display a different prompt message, but this behavior typically is not necessary. Specifies the maximum number of results a thread accumulates before calling its PostResults callbacks. Specifies the interval at which threads in the execution call PostResults callbacks. If the time since a thread last called the PostResults callback equals or exceeds the value of this property, the thread calls the PostResults callback when TestStand next generates a result. If the interval is a negative number, the absolute value determines the interval. In this case, threads call PostResults callbacks if the number of results accumulated exceeds the estimate of how many results TestStand can process within the interval based on the duration of previous PostResults callbacks. This mechanism provides more of a balance between result generation and result processing tasks if result generation is much faster than result processing. Specifies the options for when TestStand calls PostResults callbacks. When you set this property to True, each step in the execution does not add its results to the corresponding Locals.ResultList array. Regardless of the value of this property, TestStand passes results to the PostResults and the PostResultListEntry Engine callbacks. Returns an array that contains the thread ID of each thread in the execution. Restarts a completed execution and passes the arguments you specify to the restarted execution. Use this method instead of the Execution.RestartEx method when you want to pass new arguments to an execution you restart. You most commonly use this method in combination with the ExecTypeMask_DiscardArgumentsWhenDone option, but you can use this method with any execution. This method discards any arguments an execution already holds and replaces them with the arguments you specify. Specifies which RestartOptions constant to use. You can specify more than one restart option by combining the constants using the bitwise-OR operator. Specifies a PropertyObject object that contains the arguments to the sequence you want to execute. Each subproperty of the PropertyObject object represents a parameter for the sequence. The subproperties must appear in the same order in which the sequence parameters appear. You can pass a NULL reference if you do not want to pass any arguments. Passing NULL discards any arguments an execution already holds. If you want to reuse the arguments an execution already holds, use the Execution.RestartEx method instead of this method. Specifies the mask of the sequences in which TestStand accumulates step results to transfer as a parameter to the PostResults callbacks sequence. You typically specify the callback mask if a custom process model plug-in processes results on-the-fly. TestStand calls PostResults callbacks with all accumulated results before entering any sequence you specify using this property. You typically set the pre-flush mask and post-flush mask when a Model Plugin – OnTheFly Step Results entry point requires that the Context parameter of the entry point refer to the same sequence stack frame that executes all the steps in the Steps parameter of the entry point. Otherwise, the Steps parameter of the entry point can contain steps from multiple stack frames. Using this technique results in fewer steps for each invocation of the OnTheFly Step Results entry point, which can affect performance. TestStand calls PostResults callbacks with all accumulated results before exiting any sequence you specify using this property. You typically specify the pre-flush mask and post-flush mask when a Model Plugin – OnTheFly Step Results entry point requires that the Context parameter of the entry point refer to the same sequence stack frame that executes all the steps in the Steps parameter of the entry point. Otherwise, the Steps parameter of the entry point can contain steps from multiple stack frames. Using this technique results in fewer steps for each invocation of the OnTheFly Step Results entry point, which can affect performance. Returns the collection of ExecutionOutputRecordStream objects associated with this Execution. Threads are elements of an Execution. Each thread maintains a call stack that contains a SequenceContext object for each active sequence invocation. You can obtain a thread of an execution by calling the Execution.GetThread method. Clears the temporary breakpoint you set by calling the Thread.SetStepInto, Thread.SetStepOut, or Thread.SetStepOver methods. Call the Execution.ClearTemporaryBreakpoints method to clear temporary breakpoints of all threads in an execution. Sets the execution to suspend again after execution of the next step completes. The method does not resume the execution. The Execution.StepOver method, however, performs the equivalent of calling this method on the foreground thread and then resuming the execution. Sets the execution to suspend again at the earliest possible point. The method does not resume the execution. The Execution.StepInto method, however, performs the equivalent of calling this method on the foreground thread and then resuming the execution. Sets the execution to suspend again after execution of the current sequence completes. The method does not resume the execution. The Execution.StepOut method, however, performs the equivalent of calling this method on the foreground thread and then resuming the execution. Returns a reference to the SequenceContext object that corresponds to the call stack index you specify. Specifies a zero-based index into the call stack. You obtain the number of items on the call stack from the Thread.CallStackSize property. Call stack index 0 specifies the sequence context for the most recently executing step group. Returns a unique ID for the sequence context that this method returns. Use this ID with subsequent calls to GetSequenceContext to determine whether the execution is in the same sequence. This can help you minimize the number of items that you must update in the execution display in a user interface. Clears the Result.Error.Occurred property of the current step. Use this method to cause the execution thread to ignore a run-time error. Executes specific steps interactively. You can call this method only if the thread is currently suspended at a breakpoint. You can only run steps in the sequence and step group in which the execution is suspended. Specifies an InteractiveArgs object that indicates which steps are currently selected steps in the user interface and that contains the looping information necessary for an interactive execution. The selected steps you specify must be in the currently executing step group. Note: This method is obsolete. Use the Thread.PostUIMessageEx method instead. Posts a user interface message to the current user interface or sequence editor. Specifies the type of UIMessage. Specifies numeric data to pass with the message. For example, when you post a UIMsg_ProgressPercent event, this parameter specifies the percent done. Specifies string data to pass with the message. For example, when you post a UIMsg_ProgressText event, this parameter specifies the text to display. Typically, you pass True for this parameter to direct the method to wait until the user interface processes the message. If you pass False, the method returns immediately without waiting for the user interface to handle the message. If you pass False and post messages faster than the user interface processes messages, the number of messages in the queue the user interface must handle grows unbounded and floods the user interface with messages, which causes the user interface to become unresponsive. Returns the underlying PropertyObject that represents the Thread object. Use the PropertyObject to modify, add, or remove custom properties of the object. Returns the name to display for the thread. Returns a reference to the Execution object to which the thread belongs. Release the Execution reference when you have finished using it. Returns a unique ID number for the thread. The ID number is unique with respect to all threads that you initiate before you shut down the TestStand Engine. Note: The ID number is never zero. Use this ID number to compare two Thread object references to determine whether they refer to the same underlying thread. Returns the number of call stack entries that currently exist for the thread. You can obtain a sequence context for each call stack entry by passing a call stack index to the Thread.GetSequenceContext method. Waits for the thread to finish executing. Returns True if the thread finished executing. Returns False if the timeout expired. Specifies the number of milliseconds to wait or, pass -1 to wait indefinitely. If you pass a value for the callingSequenceContext parameter, TestStand suspends the timeout while the calling execution is suspended at a breakpoint so that the time spent at a breakpoint does not count towards the elapsed timeout time. Pass True to process Microsoft Windows messages while waiting. Specifies the step for which the result is set to the sequence result of this thread. If you call this method from within a sequence, you can pass the current sequence context to specify that the method returns immediately if the user terminates the execution from which you call this method. Note: Because the Allow Break While in Code Modules option on the Execution tab of the Station Options dialog box is enabled by default in TestStand 2014 or later, you do not need to use this property unless you disable the option. Specifies to treat this thread as suspended when you stop the execution for a breakpoint. By default, when a step blocks or takes a long time to complete and the user attempts to suspend (break) execution, execution cannot suspend until the step unblocks and returns. For example, if the user breaks execution when a step launches a dialog box, execution does not suspend until after the user closes the dialog box. A step uses this property to enable execution to break while it performs a lengthy operation or waits an indeterminate period of time. When a step sets this property, it specifies that TestStand considers the thread to be suspended if the user requests that the execution break. For example, you can add the following code to the step code module: Boolean previousExternallySuspended = mySequenceContext.GetThread().ExternallySuspended ' set externally suspended to true
mySequenceContext.GetThread().ExternallySuspended = true ' Insert code to launch a dialog box or perform another operation that might block indefinitely ' restore the previous setting of externally suspended
mySequenceContext.GetThread().ExternallySuspended = previousExternallySuspended Note: When you reset this property to False, the call to set the property blocks if the execution is suspended. This prevents the step from executing further until the user continues the execution.
Posts a user interface message to the current user interface or sequence editor. The messages that you can post from a step are UIMsg_ProgressPercent and UIMsg_ProgressText. These messages tell the user interface to display a progress indicator or text message for the execution. Specifies the type of UIMessage. Specifies numeric data to pass with the message. When you post a UIMsg_ProgressPercent event, this parameter specifies the percent done. Specifies string data to pass with the message. When you post a UIMsg_ProgressText event, this parameter specifies the text to display. Specifies an ActiveX reference to pass with the message. Typically, you pass True for this parameter to direct the method to wait until the user interface processes the message. If you pass False and post messages faster than the user interface processes messages, the number of messages in the queue the user interface must handle grows unbounded and floods the user interface with messages, which causes the user interface to become unresponsive. Returns the Batch object to which this thread belongs. Returns a NULL reference if this thread was not added to a batch. The Batch Synchronization step type uses this method. Adds this thread to a Batch object. The Batch Synchronization step type uses this method. Specifies the batch object to which TestStand adds the thread. Specifies the order number corresponding to the thread within the batch. Resumes execution of the thread. If you create a thread as initially suspended using either a sequence call step or the TestStand API, use this method to begin executing the thread. Returns an identification string that is unique among all threads in all instances of the TestStand Engine. Use this string to uniquely identify a TestStand thread across multiple instances of the TestStand Engine. If you are using only one instance of the TestStand Engine, you can use the numeric Thread.Id property of the thread instead. Specifies the behavior of TestStand when a run-time error occurs in any execution with a thread that is part of the same batch as the thread on which you call this method. Calling this method on a thread that is not part of a batch has no effect. Specifies the behavior of TestStand when a run-time error occurs. Use this PropertyObject to create and access variables you want to exist only for the current run of the thread. TestStand destroys these variables when the thread completes, terminates, or aborts. Returns True if the execution will step into the code module for the current step. This property is True only when accessed from a Pre-Step substep and the execution will suspend in the code module for the step that uses the substep. Obtaining this property from other locations, such as an expression or a step code module, always returns False. Specifies the behavior of a thread when its execution attempts to terminate. This property does not inhibit aborting. The default value is ThreadTerminationOptions_Normal. Instructs the thread to immediately call its PostResults callbacks with accumulated results. This method does nothing if the thread has no accumulated results. A SequenceContext object contains complete information about an execution at a particular point during the execution. You can use the sequence context to access all the objects, variables, and properties in the execution. From the sequence context, you also can obtain references to all the steps in the current sequence, the sequence contexts for the calling sequences, the Process Model entry point sequence, and the MainSequence in the client sequence file. You can pass the current sequence context or subproperties to code modules you call from steps. Returns True if the execution that the sequence context represents is in interactive mode and if the step you specify is selected for interactive execution. User interfaces dim excluded steps during an interactive execution. The StationOptions.InteractiveBranchMode property setting determines if excluded steps execute. Specifies the zero-based index of the step within the current step group. Returns the underlying PropertyObject that represents the object. Use the PropertyObject to modify, add, or remove custom properties of the object. Returns a reference to the currently executing step. Returns a run-time error if the execution is currently suspended at a breakpoint. Returns a reference to the step that executed last. Returns a run-time error if no previous step exists. Returns a reference to the next step to execute. Returns a run-time error if no next step exists. Returns a reference to the run-time copy of the currently executing sequence. Returns a reference to the sequence file of the currently executing sequence. Specifies the zero-based index of the currently executing step. The index indicates the position of the step in the step group the SequenceContext.StepGroup property identifies. If execution is suspended between steps, this property returns -1. Specifies the zero-based index of the step that executed last. The index indicates the position of the step in the step group the SequenceContext.StepGroup property identifies. This property returns -1 if no step executed previously. Specifies the zero-based index of the next step to execute. The index indicates the position of the step in the step group the SequenceContext.StepGroup property identifies. This property returns -1 if the step group contains no additional steps to execute. Returns the zero-based index of the currently executing sequence in the sequence file. Specifies the step group of the currently executing step. Returns the sequence context of the calling sequence. Note: To access additional levels of the call stack, such as the caller of the calling sequence, use the Thread.GetSequenceContext method to specify the desired call stack level as a parameter. Returns a NULL reference if no calling sequence exists. For asynchronously called sequences, this property might reference a sequence context that is no longer running steps. Returns the name to display in the call stack list for the sequence context. Note: This property is obsolete. Use the SequenceContext.GetRunTimeErrorMessageEx method instead. Returns a display string that contains the run-time error message for the current step the context specifies. Returns True if the current step group is the one in which an interactive execution was started and this is the sequence context for that execution. Returns True if the sequence context is for an interactive execution. If the sequence context is for an interactive execution, this property returns a reference to an InteractiveContext object. Returns a NULL reference if the sequence context is not for an interactive execution. Returns a reference to the Engine object. Returns the root sequence context of the execution with which this sequence context is associated. The root sequence context is the first sequence context of the execution. Returns the MainSequence context of the execution with which this sequence context is associated. If you start an execution using a Process Model entry point, the MainSequence context is the sequence context of the MainSequence in the client sequence file. If you start an execution without using an Execution entry point by executing a sequence or steps directly the MainSequence context is the same as the root sequence context stored in the SequenceContext.Root property. Returns a reference to the currently executing thread. Returns a reference to the currently executing execution. Returns a reference to the current report. Specifies a reference to the client sequence file of a process model execution. Returns a reference to the selected sequence file, if any, when this execution began. TestStand sets this property only for the root context in an execution. Returns a reference to the execution, if any, selected when this execution began. TestStand sets this property only for the root context in an execution. Returns a reference to the object that contains the locals for the currently executing sequence. Changes made to the structure or values of properties in locals for the currently executing sequence file do not affect the default file locals defined in the sequence file. Returns a reference to the object that contains the parameters for the currently executing sequence. Returns a reference to the object that contains the globals for the currently executing sequence file. Changes made to the structure or values of properties in globals for the currently executing sequence file do not affect the default file globals defined in the sequence file. Returns a reference to the object that contains the globals for the current installation of TestStand. You can use this property to store temporary station globals. Updating temporary station globals does not update the station globals file. Returns the zero-based sequence call depth of the sequence context in the current execution. The call depth refers to the number of nested sequences called before reaching the currently executing sequence. The call stack depth of the first sequence an execution calls is zero, and the call stack depth increases with each call to a subsequence. Specifies the value of the loop index at a given point as a step loops. The value of the loop index depends on the looping construct you select for the step. Note: This property returns the value of the loop index truncated to a 32-bit integer. To retrieve the underlying 64-bit floating point loop index, call SequenceContext.AsPropertyObject().GetValNumber("RunState.LoopIndex", 0). Specifies the number of passed iterations when a step loops. Specifies the number of failed iterations when a step loops. Returns True if the sequence that is executing for the sequence context is within a process model sequence file. Specifies whether to trace the execution of steps to which this sequence context applies. Specifies the failure state of the currently executing sequence. Setting this property to True does not cause the currently executing sequence to go to the Cleanup step group when the Sequence.FailureAction property or StationOptions.AlwaysGotoCleanupOnFailure property are True. Set the SequenceContext.GotoCleanup property to True to force a sequence to go to the Cleanup step group. Returns an array of references to the selected sequences, if any, when this execution began. TestStand sets this property only for the root context in an execution. Returns an empty array if no sequences were selected. Returns an array of references to the selected steps, if any, when this execution began. Returns an empty array if no steps were selected. TestStand sets this property only for the root context in an execution. Returns True if the current application is a sequence editor. Specifies the Goto cleanup state of the currently executing sequence. Note: This property is obsolete. Use the SequenceContext.Engine property instead. Returns a reference to the Engine object. Returns the unique ID that distinguishes this sequence context from all other sequence contexts. Note: The ID number is never zero. Specifies whether the step was selected as part of the interactive execution or the hierarchical execution in progress. User interfaces dim excluded steps during an interactive execution. The StationOptions.InteractiveBranchMode property setting determines if excluded steps execute. Returns True if the step was not selected as part of the interactive execution or the hierarchical execution in progress. Specifies the step to verify. Returns the display strings that contain the run-time error details for the current step the context specifies. If a run-time error occurs, use this method to obtain the error message display strings. Typically, you use this method in a user interface to launch a custom Run-Time Error dialog box. To obtain a reference to a failing context from an Engine callback, such as the PostStepRunTimeError callback, access the context specified by the lookup string "RunState.Caller.ThisContext". Returns a string that describes the specific cause of the error. Returns a string with the error code number and the general meaning. Returns a string that describes where the error occurred. Returns a run-time copy of the Step object for the step that called the current sequence. This property is valid when the current sequence is called synchronously or asynchronously. This property does not exist in the root SequenceContext. Any changes to property values in the returned Step object only modify the execution version of the object. Reports the sequence error message to the step that calls the sequence. Reports the sequence error code to the step that calls the sequence. Reports the sequence error occurred flag to the step that calls the sequence. Set this property to True from within a SequenceFilePostStepRuntimeError, ProcessModelPostStepRuntimeError, or StationPostStepRuntimeError callback sequence to prevent TestStand from sending a UIMsg_BreakOnRunTimeError message to the user interface. The UIMsg_BreakOnRunTimeError message tells the user interface to launch the Run-Time Error dialog box. By setting this property to True in the callback, you are telling TestStand that the callback has already handled the run-time error. You can set this property from within an expression such as RunState.Caller.RunState.ErrorReported = True. Also, when you implement the callback, National Instruments recommends that you verify that this property is already True before continuing because a different run-time error callback might have already handled the error. Outside of run-time error callbacks, this property is always False, and the value has no meaning. Refer to the Overriding SequenceFilePostStepRuntimeError Callback example located in the <TestStand Public>\Examples\Modifying Process Models\Overriding Engine Callbacks directory for more information about how to use this property. Specifies the index of the step group selected when the execution started. TestStand sets this property only for the root context in an execution. Returns the PropertyObjectFile object for the file that was active when the execution started. When the initially active file is a sequence file, this property is identical to the SequenceContext.SelectedFile property. TestStand sets this property only for the root context in an execution. Returns a value that indicates whether any sequence in the call stack instructs TestStand to disable results or if any calling step higher in the call stack instructs TestStand to not record results. This property does not consider whether the execution or the engine specified to discard the results. A PostStepResult callback typically uses this property to determine whether the callback processes a step result. Obtains the help ID and help file for the run-time error. Use the help ID and help file when you call the Engine.DisplayHelpTopic method. If a run-time error occurs, use this method to obtain the associated help file and/or help ID. Note: Not all run-time errors have associated help files. Returns a help ID for a topic in a help file to provide context-sensitive help for the object. Returns the help file path. Returns an array of references to the selected PropertyObjects, if any, when the execution began. TestStand sets this property only for the root context in an execution. Specifies the number of iterations completed at a given point as a step loops. Specifies the number of steps that have completed execution in the stack frame the context represents. This method determines if the value of an element of a subproperty of multiple steps, such as the value, comment, format, or flags, represents the shared element value for all the steps in the array. Use this method with a SequenceContext that was created by passing an array of step references to the Engine.NewEditContext method, where the SequenceContext.Step property in the context contains the subset of properties all steps contain. This method returns zero if the Step subproperty element specified by lookupString and elem parameters has the same value for all steps. Use this method and the SequenceContext.SetMultipleValues method if you are writing a sequence editor in which you can select multiple steps. Display Multiple Values for an element when the value of the step property element is not the same. You can create a SequenceContext with a Step property that represents multiple steps by calling the Engine.NewEditContext method and passing an array of object references to steps as the first parameter. Returns 0 if the value of the property element is the same for all steps in the context. If you pass in PropertyObjectElement_Flags for the elem parameter, the return value represents the bits of the PropertyFlags constant. A bit value is 0 if the flag value is the same for all steps. Specifies the name of a subproperty within the SequenceContext you want to obtain the multiple values of. You can also pass lookup strings to this parameter. Specifies the element of the subproperty that you want to obtain the multiple values of. Use this method to update the multiple value state for property elements under SequenceContext.Step in a context that Engine.NewEditContext created. You create a SequenceContext that represents multiple steps by passing an array of object references to steps as the first parameter. When you set the value of a property element of the steps the context represents, you must use this method to update the context so that SequenceContext.GetMultipleValues returns correct values. Use this method if you are writing a sequence editor in which you can select multiple steps and the editor displays Multiple Values for step property elements. Calling this method does not update any object in the sequence context or any object you used to create the sequence context. Pass the name of a subproperty within the SequenceContext you want to set the multiple values of. You can also pass lookup strings to this parameter. Specifies the element of the subproperty that you want to set the multiple value state of. For the PropertyObjectElement_Flags element of a subproperty, specify the bits of the PropertyFlags constant where each bit is zero if the corresponding flags have the same value. For all other elements, pass 0 if the element contains the same value and 1 if the element contains multiple values. Creates and returns a new Execution object. When you call this method, the execution begins immediately. This method behaves similar to a Sequence Call step that you configure to run in a new execution The execution created by this method. Specifies the SequenceFile object that contains the sequence to execute. If the execution uses a process model, pass the client SequenceFile object. Specifies the name of the sequence or Process Model entry point to execute. Specifies the process model SequenceFile object if you want to execute a Process Model entry point. Otherwise, a NULL object reference in LabVIEW, 0 in LabWindows/CVI, or the Nothing keyword in Visual Basic, pass a NULL dispatch pointer in Microsoft Foundation Classes. Pass True to suspend execution before executing the first step. Pass True to force this method to wait until the execution completes. Pass 0 for the default behavior or pass one or more ExecutionTypeMask constants. Use the bitwise-OR operator to pass multiple constants. Specifies a PropertyObject object that contains the arguments to the sequence you want to execute. Each subproperty of the PropertyObject object represents a parameter to the sequence. The subproperties must appear in the same order as the sequence parameters. Returns a value that indicates whether the SequenceContext can trace. The return value depends on the current values of SequenceContext.Tracing, Execution.TracingDisabled, whether steps in the current sequence are viewable, and all other factors that affect tracing. Use objects of this class to obtain additional information about a currently executing interactive execution. Obtain objects of this class using the SequenceContext.InteractiveContext property of the sequence context in which the interactive execution began. Returns the underlying PropertyObject that represents the InteractiveContext object. Use the PropertyObject to modify, add, or remove custom properties of the object. Returns True if the execution is a root interactive execution. Returns False if the execution is a nested interactive execution. A root interactive execution is a new, independent execution the user initiates on selected steps from a Sequence File window. The user starts a nested interactive execution from an Execution window for a normal execution suspended at a breakpoint. The nested interactive execution runs within the context of the normal execution. Applies only to nested interactive executions. Returns the index of the last step that executed in the normal execution before the user began the current interactive execution. If the InteractiveContext.IsRootExecution property is False, this property returns the value of the SequenceContext.PreviousStepIndex property at the time the interactive execution began. This value is purely informational and is provided so you can display information to the user when writing a user interface. Returns -1 if the InteractiveContext.IsRootExecution property is True. Applies only to nested interactive executions. Returns the index of the step ready to execute next in the normal execution when the user began the current interactive execution. If the InteractiveContext.IsRootExecution property is False, this property returns the value of the SequenceContext.NextStepIndex property at the time the interactive execution began. This value is purely informational and is provided so you can display information to the user when writing a user interface. Returns -1 if the InteractiveContext.IsRootExecution property is True. Applies only to nested interactive executions. Returns the index of the active step in the normal execution when the user began the current interactive execution. If the IsRootExecution property is False, this property returns the state of the SequenceContext.StepIndex property before the interactive execution began. Currently, because you can only begin an interactive execution between steps in the currently executing sequence, this property always returns -1. Returns -1 if the IsRootExecution property is True. Returns the InteractiveArgs object for the current interactive execution. Use this property to obtain a reference to the InteractiveArgs object used to initiate the currently executing interactive execution. When you call the Engine.NewExecution or Thread.DoInteractiveExecution methods to create an interactive execution, use an object of this class to pass information about the current state of the user interface. These methods use the object to determine which steps are currently selected in the user interface. Create objects for this class using the Engine.NewInteractiveArgs method. Returns a step index stored at a specific position in the list of steps to run interactively. The step index that the method returns is a zero-based index into the list of steps for the sequence. Specifies a zero-based index for the list of steps to run interactively. Adds a step to the list of steps to execute interactively Specifies a zero-based index for a step in the list of steps for the sequence in which you are running steps interactively. Returns True if the step you specify is in the list of steps to run interactively. Specifies a zero-based index for a step in the list of steps for the sequence in which you are running steps interactively. Clears the list of steps to execute interactively. Returns the underlying PropertyObject that represents the InteractiveArgs object. Use the PropertyObject to modify, add, or remove custom properties for the object. Note: Do not use this function to remove or modify the dynamic properties TestStand already provides for InteractiveArgs objects. You can do this through the other methods of the InteractiveArgs class. Returns or specifies the step group containing the steps to execute interactively. Returns the number of step indexes added to the InteractiveArgs object. Returns or specifies the number of times to execute the list of selected steps. If the value of this property is -1, the execution loops indefinitely on the selected steps. Gets or sets an expression with a value that indicates when to stop an execution that specifies a loop count. If the expression evaluates to True, the interactive execution stops. If the expression is an empty string, it is not evaluated. Specifies the sequence that contains the steps the InteractiveArgs object lists by index. Set this property before passing the InteractiveArgs to a method that starts an execution. If you do not set this property, TestStand assumes that InteractiveArgs specifies steps in the first sequence the execution runs. If you specify a process model, the first sequence an execution runs is the Process Model entry point. Use objects of the EditArgs class to pass information about the current state of the user interface to methods such as Engine.NewExecution, Sequence.EvalEntryPointNameExpressionEx, Engine.GetEditTimeToolMenuItems, and Engine.GetRunTimeToolMenuItems. Objects of this class contain information about currently selected sequences, steps, sequence files, and executions. This selection information appears in the RunState.InitialSelection property of the sequence context. Create objects of this class using the Engine.NewEditArgs method. Typically, you use this class only when you are writing a user interface or sequence editor. Use this property to set the currently active sequence file as the selected sequence file. Stores the selected sequence file so you can use it in the sequence context. Specifies the active SequenceFile object. Adds a sequence to the list of currently selected sequences. Stores the selected sequence so you can use it in the sequence context. Specifies the sequence object being added to the list. Adds a step to the list of currently selected steps. Stores the selected step so you can use it in the sequence context. Specifies the step object being added to the list. Clears the list of currently selected sequences. Clears the list of currently selected steps. Use this property to set the currently active execution as the selected execution. Stores the selected execution so you can use it in the sequence context. Specifies the selected Execution object. Returns the underlying PropertyObject that represents the EditArgs object. Use the PropertyObject class to modify, add, or remove the custom properties of the object. Do not use this method to remove or modify the dynamic properties TestStand already provides for EditArgs objects. Instead, use any of the other methods of the EditArgs class to remove or modify the dynamic properties. Use this property to set the currently active step group as the selected step group. Stores the selected step group so you can use it in the sequence context. Specifies an active step group object. Use this property to set the currently active property object file as the selected property object file. Stores the selected property object file so you can use it in the sequence context. Specifies the selected PropertyObjectFile object. Adds a PropertyObject to the list of currently selected property objects. Stores the selected PropertyObject so you can use it in the sequence context. Specifies the PropertyObject being added to the list. Clears the list of currently selected property objects. TestStand uses UIMessage objects to pass information about the state of the engine and the current executions to the user interface or sequence editor. You can obtain UIMessage objects in a user interface program by providing a callback to the engine. The engine calls the callback when it has a UIMessage object to pass. If you do not provide a callback, you can set the Engine.UIMessagePollingEnabled property to True and call the Engine.GetUIMessage method to poll for UIMessage objects. Returns the underlying PropertyObject that represents the UIMessage object. Use the PropertyObject to modify, add, or remove custom properties of the object. Returns the event code that describes the type of UIMessage. The eventCode parameter of the Thread.PostUIMessageEx method that posted the user interface message specifies the value this method returns. Returns True if the thread that posted the event is blocked and is waiting for you to acknowledge the UIMessage. Threads can post UIMessages synchronously or asynchronously. If a thread posts a user interface message synchronously, the thread blocks until the message is acknowledged or the last reference to the user interface message is released. If a thread posts a user interface message asynchronously, the thread returns False. Returns a reference to the execution to which the event applies. Release the execution reference when you are done using it. If the event is not associated with an execution, this property returns a NULL reference. Returns a reference to the thread to which the event applies. Release the thread reference when you are done using it. If the event is not associated with a thread, this property returns a NULL reference. Returns the numeric value passed to the numericDataParam parameter of the Thread.PostUIMessageEx method that posted the UIMessage. An example of a user interface message event that uses numericDataParam is the UIMsg_ProgressPercent event. If you define custom user interface message events, you can pass numeric data to the Thread.PostUIMessageEx method. Returns the string value passed to the stringDataParam parameter of the Thread.PostUIMessageEx method that posted the UIMessage. An example of a user interface message event that uses stringDataParam is the UIMsg_ProgressText event. If you define custom user interface message events, you can pass string data to the Thread.PostUIMessageEx method. Returns the ActiveX reference passed to the activeXDataParam parameter of the Thread.PostUIMessageEx method that posted the user interface message. If you are not using the TestStand manager controls in a custom user interface, call this method on each UIMessage you receive after you finish using the message. The TestStand manager controls automatically call this method. If the user interface message is synchronous, this method unblocks the thread that posts the message. This method also indicates to the engine that you are ready to receive further messages. Use objects of the Report class to modify, save, load, retrieve, and view reports. To obtain the Report object for an execution, retrieve the value of the Execution.Report property. Usually, the process model updates the Report object associated with the execution, and the sequence editor or user interface displays it. Note: You must have a minimum supported version of Microsoft Internet Explorer or later to view TestStand reports. Refer to the NI TestStand Release Notes for more information about supported versions of Internet Explorer. Appends a string to the report. Note: TestStand releases any ReportSection object assigned to the Report object when you call this method. Returns an index that refers to this append operation. Use this value with the Report.GetSection method. Calling the Report.Reset method invalidates the index. Specifies the string to append to the report. Replaces the current report data with the data in the string you specify. This method sets the Report.LatestAppendIndex property to 0. Note: Any ReportSection object assigned to the Report object is released when you call this method. Returns the number of times you have reset the report. Specifies the new report string. Saves the report to the file you specify. Calling this method updates the Report.Location property. Note: If a ReportSection object is assigned to the report, this method saves the report obtained by calling the ReportSection.GetAllText method to disk. Specifies the file in which to save the report. Specifies whether to append or overwrite the file if it already exists. Pass True to append to the file. Pass False to overwrite it. Specifies a linefeed conversion for the report text. Replaces the current report data with the data in the file you specify. Calling this method updates the Report.Location property. Specifies the pathname of the file that contains the report data. Specifies a linefeed conversion for the report text. Launches an external file viewer to allow the user to view the report. If the current TestStand configuration specifies an external viewer for the format, TestStand launches that viewer. Otherwise, TestStand launches the viewer that Microsoft Windows associates with the file extension the report format specifies. Specifies a linefeed conversion for the report text. Stores the report in a temporary file and returns the pathname of the file. The pathname of the temporary file used by this method to store the report. Specifies a linefeed conversion for the report text. String parameter that specifies the file extension for the temporary file. If you do not specify an extension string, the Report.Format property of the report determines the file extension. Returns the underlying PropertyObject that represents the Report object. Use the PropertyObject to modify, add, or remove custom properties for the object. Returns the entire report as a string. Returns a unique ID that distinguishes this report from all other reports. Note: The ID number is never zero. Specifies a string that indicates the display value for the report location. If you call the Report.Load or Report.Save method of this class, this property is automatically set to the pathname of the report file. You cannot use this property to set the location of the report. Specifies the file format of the report. Specify the file format by passing the file extension for that format, such as txt for ASCII text files, htm or html for HTML files, and rtf for rich text format files. Returns a section of the report. After calling the Report.Append method multiple times, call this method to obtain the section of text associated with the specified append index. Note: When a ReportSection object is assigned to the Report object, this method returns invalid values and is not supported. The content of the report that the index parameters specify. Specifies the index of the Report.Append method that starts the section. Specifies the index of the Report.Append method that ends the section. Returns the most recent index the Report.Append method returns. Use this value with the Report.GetSection method to obtain the last section of the report. Note: When a ReportSection object is assigned to the Report object, this property returns invalid values and is not supported. Returns if the report is empty. Returns the number of times you have reset the report. Specifies a string which specifies the absolute pathname of the style sheet used to transform XML reports. If this property is not specified, Microsoft Internet Explorer uses the default style sheet to transform the XML report. Specifies a string that specifies the directory path where TestStand saves the file the Report.GetTempFile method creates. If you call the Report.Load or Report.Save method of this class, this property is automatically set to the directory path of the report file. Note: Writing to this property is obsolete. Use the Report.SetTempFileDirectoryEx method instead. When you write to this property after calling the Report.SetTempFileDirectoryEx method with the tempFileDirectoryOptions parameter value set to SetTempFileDirectoryOption_NeverOverride, TestStand returns a run-time error. Set this property to True to suspend report refreshes when modifying the ReportSection associated with the report. You typically use this property with on-the-fly report generation to avoid generating a partial report, when you are more likely to modify the ReportSection object associated with the report while TestStand processes the report for display purposes. Call this property only from a code module or a statement step used for report generation, not from an executing sequence or the user interface code. After you set this property to True, you must reset this property to False in the same code module or statement step for the user interfaces and report generation to function correctly. When this property is True, the Report.IsEmpty property always returns True and the Report.All property returns an empty string. Specifies the ReportSection object associated with the Report object, which uses the report data stored in the ReportSection object as the report. If no ReportSection object was previously set, this property returns NULL. If you call the Report.Append, Report.Load, or Report.Reset methods, this property returns NULL. If this property is set, the Report.LatestAppendIndex method always returns -1. Setting this property discards any report data set from prior calls to the Report.Append or Report.Reset methods. Creates and returns a reference to a ReportSection object. The ReportSection object this method returns is empty. Call this method to refresh the ReportView control after you make changes to an associated Report.ReportSection object to indicate that a report has changed and that the user interface must be refreshed. Calling the Report.Append or Report.Reset methods or assigning a new reference to the Report.ReportSection property automatically refreshes the ReportView control. However, when you make changes to a ReportSection object already assigned to a Report.ReportSection property, the Report object does not automatically notify the ReportView control. You must call the Report.RefreshDisplay method to notify the ReportView control to refresh in this case. Specifies the directory path where TestStand saves the file the Report.GetTempFile method creates. When you use the SetTempFileDirectoryOption_Default option with this method, calling the Report.Load or Report.Save method modifies the directory path where TestStand saves the file the Report.GetTempFile method creates. Using the SetTempFileDirectoryOption_Default option with this method results in the same behavior as using the Report.TempFileDirectory property to specify the directory path where TestStand saves the file the Report.GetTempFile method creates. Use the SetTempFileDirectoryOption_NeverOverride option to ensure that TestStand saves the file the Report.GetTempFile method creates in the directory path this method specifies. You can override the directory path by calling this method again to set the directory path. By default, TestStand saves the file the Report.GetTempFile method creates in the directory path of the report file. Typically, if you save generated reports on a network drive to which you do not have delete permission, you cannot delete the file the Report.GetTempFile method creates after the execution. To work around this situation, use the Report.SetTempFileDirectoryEx method with the SetTempFileDirectoryOption_NeverOverride option to save the file the Report.GetTempFile method creates to a local drive. Specifies the directory path to save the file. Pass 0 to specify the default behavior or an option from the SetTempFileDirectoryOptions enumeration. Use these string constants to specify the callbackName parameter of the SequenceFile.CreateCallbackOverrideSequence method. (Value: "PreUUT") (Value: "PostUUT") (Value: "PreUUTLoop") (Value: "PostUUTLoop") (Value: "ModifyReportEntry") (Value: "ReportOptions") (Value: "TestReport") (Value: "GetReportFilePath") (Value: "ProcessCleanup") (Value: "ProcessSetup") (Value: "LogToDatabase") (Value: "ModifyReportHeader") (Value: "ModifyReportFooter") (Value: "ModifyReportEntry") (Value: "ModelOptions") (Value: "DatabaseOptions") (Value: "ModelPluginOptions") (Value: "ModelPluginConfiguration") (Value: "PreMainSequence") (Value: "PostMainSequence") Use these names when calling TestStand API functions, such as the Engine.NewStep method. (Value: "C/CVI Std Prototype Adapter") Note: This constant is obsolete. Use FlexCVIAdapterKeyName instead. (Value: "DLL Flexible Prototype Adapter") (Value: "G Std Prototype Adapter") Note: This constant is obsolete. Use FlexLVAdapterKeyName instead. (Value: "Sequence Adapter") (Value: "None Adapter") (Value: "HTBasic Adapter") (Value: "Automation Adapter") (Value: "G Std Prototype Adapter") Note: This constant is obsolete. Use FlexLVAdapterKeyName instead. (Value: "DotNet Adapter") (Value: "C/CVI Flexible Prototype Adapter") (Value: "G Flexible VI Adapter") (Value: "LabVIEW NXG Adapter") (Value: "Python Adapter") These constants containing the type names for the built-in step types. Use these constants with the Engine.NewStep method to create a step of a particular step type. Note: This list represents only the commonly used step type names. (Value: "Action") (Value: "Goto") (Value: "Statement") (Value: "SequenceCall") (Value: "PassFailTest") (Value: "NumericLimitTest") (Value: "StringValueTest") (Value: "MessagePopup") (Value: "CallExecutable") (Value: "LimitLoaderStep ") This constant is obsolete. Use StepType_PropertyLoaderEx instead. (Value: "Label") (Value: "NI_MultipleNumericLimitTest") (Value: "NI_VariableAndPropertyLoader") This constant is obsolete. Use StepType_PropertyLoaderEx instead. (Value: "NI_PropertyLoader") These constants specify the valid values for the Step.LoopType property. (Value: "NoLooping") (Value: "FixedNumLoops") (Value: "PassFailCount") (Value: "Custom") Use these constants to specify the type of action you want to take for a particular post action of a step. (Value: "Next") Execution continues normally with the next step. This is the default value. (Value: "Goto") Execution branches to a step in the current step group, to the end of the current step group, or to the Cleanup step group. If the post action for a step specifies that execution branches to the Cleanup step group and the current step is in the Cleanup step group, execution proceeds normally with the next step in the Cleanup step group. (Value: "Cback") Calls a sequence before continuing to the next step. You can select any sequence in the sequence file. TestStand does not pass any arguments to the sequence. If the sequence has parameters, TestStand uses the default values of the parameters. (Value: "Terminate") Terminates execution. (Value: "Break") Suspends execution before continuing to the next step. Use these constants to create lookup strings to access some of the commonly used and built-in properties of a sequence context using the PropertyObject class. (Value: "RunState") (Value: "LoopIndex") (Value: "LoopNumPassed") (Value: "LoopNumFailed") (Value: "Step") (Value: "Sequence") (Value: "SequenceFile") Use these string constants to create lookup strings when using the PropertyObject class to access the built-in properties of a sequence. (Value: "Setup") (Value: "Main") (Value: "Cleanup") Use these string constants to create lookup strings to access properties of the built-in step types using the PropertyObject class. Notice that some of the constants refer to properties, whereas other constants refer to property values. (Value: "Result") (Value: "Numeric") (Value: "String") (Value: "PassFail") (Value: "Status") (Value: "") (Value: "Done") (Value: "Skipped") (Value: "Passed") (Value: "Failed") (Value: "Error") (Value: "Running") (Value: "Looping") (Value: "InBuf") (Value: "Limits") (Value: "Low") (Value: "High") (Value: "String") (Value: "TS") (Value: "SData") Do not use this constant to access the adapter-specific properties of a step. Instead, use the specific module interface for the Module object for the step. Use the Step.Module property to acquire a reference to a Module object. (Value: "Comp") (Value: "EQ") (Value: "NE") (Value: "GT") (Value: "LT") (Value: "GE") (Value: "LE") (Value: "GTLT") (Value: "GELE") (Value: "GELT") (Value: "GTLE") (Value: "LOG") (Value: "DisplayRadix") This constant is obsolete. In TestStand 2.0, set the numeric format using the PropertyObject.NumericFormat property of the following step properties: Limits.High, Limits.Low, and Result.Numeric. (Value: "IgnoreCase") (Value: "CaseSensitive") (Value: "Terminated") (Value: "Waiting") (Value: "Nominal") (Value: "EQT") (Value: "ThresholdType") (Value: "PERCENTAGE") (Value: "PPM") (Value: "DELTA") (Value: "ThresholdType") Note: Do not use these constants to access the adapter-specific properties of a step. Use the CVIModule interface for the Module object for the step. Use the Step.Module property to acquire a reference to a Module object. In TestStand 3.0 or later, these string constants are obsolete. These string constants were previously used to create lookup strings to access the adapter-specific properties of a LabWindows/CVI step. The following example code sets the module pathname property of a LabWindows/CVI step: TS_PropertySetValString(propObj, &errorInfo, Step_TSInfoProp "." TSInfo_StepAdditions "." CVIStep_ModulePathProp, 0, testFilePath); (Value: "ModulePath") This constant is obsolete. (Value: "FuncName") This constant is obsolete. (Value: "FuncProto") This constant is obsolete. (Value: "ExtProtoParams") This constant is obsolete. (Value: "ModuleType") This constant is obsolete. (Value: "SeqContextType") This constant is obsolete. (Value: "ModuleSrcPath") This constant is obsolete. (Value: "ModulePrjPath") This constant is obsolete. Note: Do not use these constants to access the adapter-specific properties of a step. Use the LabVIEWModule interface for the Module object for the step. Use the Step.Module property to acquire a reference to a Module object. In TestStand 3.0 or later, these string constants are obsolete. These string constants were previously used to create lookup strings to access the adapter-specific properties of a LabVIEW step. The following example code sets the module pathname of a LabVIEW step: TS_PropertySetValString(propObj, &errorInfo, Step_TSInfoProp "." TSInfo_StepAdditions "." LVStep_ModulePathProp, 0, testFilePath); (Value: "ViPath") This constant is obsolete. (Value: "PassInBuf") This constant is obsolete. (Value: "PassInvocInfo") This constant is obsolete. (Value: "PassContextPtr") This constant is obsolete. (Value: "ShowFrntPnl") This constant is obsolete. Note: Do not use the following constants to access the adapter-specific properties of a step. Use the SequenceCallModule interface for the Module object for the step. Use the Step.Module property to acquire a reference to a Module object. In TestStand 3.0 or later, these string constants are obsolete. These string constants were previously used to create lookup strings when using the PropertyObject class to access the adapter-specific properties of a Sequence Call step. (Value: "SFPath") Pathname of the sequence file that contains the subsequence. The value of this property is meaningful only when SCStep_SpecifyByExprProp and SCStep_UseCurrentFileProp are False. (Value: "SFPathExpr") An expression that must evaluate to a string which obtains the pathname of the sequence file that contains the subsequence. The value of this property is meaningful only when SCStep_SpecifyByExprProp is True and Step_UseCurrentFileProp is False. (Value: "SeqName") Name of the subsequence. The value of this property is meaningful only when SCStep_SpecifyByExprProp is False. (Value: "SeqNameExpr") An expression, that must evaluate to a string, to obtain the name of the subsequence to be called. The value of this property is meaningful only when SCStep_SpecifyByExprProp is True. (Value: "ActualArgs") An object that contains a list of arguments to the subsequence. If the subsequence has fewer parameters than the number of arguments, the subsequence ignores the extra arguments. If the subsequence has more parameters than the number of arguments, the subsequences uses the default values of the extra parameters. (Value: "UseCurFile") A Boolean property that is True when the file that contains the Sequence Call step also contains the subsequence. (Value: "SpecifyByExpr") If this Boolean property is True, TestStand evaluates the SCStep_SeqFilePathExprProp expression property to determine the pathname of the sequence file that contains the subsequence. TestStand also evaluates the SCStep_SeqNameExprProp expression property to determine the name of the subsequence. (Value: "Prototype") An object that contains a list of parameters. TestStand uses the parameter list only for displaying the arguments in the Specify Module dialog box. The Specify Module dialog box sets this property when you select a sequence with the Load Prototype button. The value of this property is meaningful only when SCStep_UseArgPrototypeProp is True. (Value: "Trace") A property that controls if tracing occurs while the subsequence executes. Following are the three possible values: SCStep_TraceSettingValOff, Step_TraceSettingValOn, and SCStep_TraceSettingValDontChange. (Value: "Off") A value of the SCStep_TraceSettingProp property. It disables tracing while the subsequence executes. (Value: "On") A value of the SCStep_TraceSettingProp property. It enables tracing while the subsequence executes. (Value: "Don't Change") A value of the SCStep_TraceSettingProp property. When tracing is enabled in the Sequence Call step that calls the subsequence, tracing only occurs while the subsequence executes. (Value: "IgnoreTerminate") If this Boolean property is True and the user or a step module attempts to terminate the subsequence before it completes, the execution continues with the next step. (Value: "UsePrototype") If this Boolean property is True, the prototype for displaying arguments in the Specify Module dialog box is taken from the SCStep_ArgPrototypeProp property. If this property is False, the prototype is taken from the selected sequence, if any. The Specify Module dialog box sets this property to True when you enable the Specify Expressions for Pathname and Sequence option or when you disable the Use Prototype of Selected Sequence option. Note: Do not use these constants to access the adapter-specific properties of a step. Use the DllModule interface for the Module object for the step. Use the Step.Module property to acquire a reference to a Module object. In TestStand 3.0 or later, these string constants are obsolete. These string constants were previously used to create lookup strings to access the C/C++ DLL Adapter-specific properties of a step. Notice that the FlexCStep_ExternalCallProp constant refers to the property that contains the properties which have constants that begin with the ExternalCall_ prefix. The ExternalCall_ParametersProp constant represents the property that contains an array of objects that describe the return value and parameters for the function. Constants that have names that begin with FCParam_ apply to the return value and each parameter. (Value: "Call") This constant is obsolete. (Value: "LibPath") This constant is obsolete. (Value: "Func") This constant is obsolete. (Value: "Conv") This constant is obsolete. (Value: "Params") This constant is obsolete. (Value: "Name") This constant is obsolete. (Value: "Type") This constant is obsolete. (Value: "NumType") This constant is obsolete. (Value: "ObjType") This constant is obsolete. (Value: "NumPass") This constant is obsolete. (Value: "NumEls") This constant is obsolete. (Value: "StrPass") This constant is obsolete. (Value: "ResultAct") This constant is obsolete. (Value: "ArgVal") This constant is obsolete. (Value: "Flags") This constant is obsolete. (Value: "ElemPass") This constant is obsolete. (Value: "StrSize") This constant is obsolete. Use these constants to specify the type of action you want to take before executing the step. (Value: "Normal") The step executes normally. (Value: "Skip") The step does not execute. Instead, the step status is set to Skipped. (Value: "Fail") The step does not execute. Instead, the step status is set to Failed. (Value: "Pass") The step does not execute. Instead, the step status is set to Passed. Use these constants to specify one of the built-in, named data types when calling a method such as Engine.NewPropertyObject or PropertyObject.NewSubProperty. (Value: "Path") (Value: "FCParameter") (Value: "Error") (Value: "CommonResults") Use these string constants to check if a user has a particular built-in privilege. Use the Engine.CurrentUserHasPrivilege or User.HasPrivilege method with these constants. (Value: "Execute") (Value: "Terminate") (Value: "Abort") (Value: "ControlExecFlow") (Value: "SinglePass") (Value: "RunAnySequence") (Value: "RunSelectedTests") (Value: "LoopSelectedTests") (Value: "EditSequenceFiles") (Value: "EditTypes") (Value: "ConfigEngine") (Value: "ConfigAdapter") (Value: "ConfigApp") (Value: "EditUsers") (Value: "EditStationGlobals") (Value: "EditWorkspace") (Value: "UseSourceControl") (Value: "EditProcessModelFiles") (Value: "SaveSequenceFiles") (Value: "*") Use this value with the Engine.CurrentUserHasPrivilege method to determine whether a user is logged in. (Value: "Operate") (Value: "Debug") (Value: "Develop") (Value: "Configure") (Value: "ConfigReport") (Value: "ConfigDatabase") (Value: "ConfigModel") (Value: "GrantAll") This property exists in all the group privileges in the user privileges property view. If the value is True, the user is granted all the privileges in the group.Note: Do not use this constant with the Engine.CurrentUserHasPrivilege method. (Value: "EditRuntimeVariables") (Value: "EditTemplates") These constants represent the options you can use with the openFileDialogFlags parameter of the Engine.DisplayFileDialog method. Use the bitwise-OR operator to specify more than one option. (Value: 0x1) Dims the Use Absolute Path option. (Value: 0x2) Sets the initial state of the Use Absolute Path option to enabled when the dialog box first opens. (Value: 0x4) Sets the initial state of the Use Absolute Path option to disabled when the dialog box first opens. (Value: 0x83) Combination of the OpenFile_DisableUseAbsPathCheck, OpenFile_InitialSetUseAbsPathCheck, and OpenFile_HideUseAbsPathCheck flags. Use this flag to ensure that the method returns only absolute pathnames. (Value: 0x85) Combination of the OpenFile_DisableUseAbsPathCheck, OpenFile_InitialUnsetUseAbsPathCheck, and OpenFile_HideUseAbsPathCheck flags. Use this flag to ensure that the method returns only relative pathnames or simple filenames. (Value: 0x8) Verifies that the Engine.FindFileEx method would find files in pathnames that specify files that do not exist if the files did exist. Use this option with the Save As dialog box to ensure that TestStand saves the file to a pathname under one of the TestStand search directories. (Value: 0x10) Specifies that the pathname the user entered must not exist on disk. If the user selects an existing file, the dialog box displays a warning message and does not close. (Value: 0x40) Creates a Save As dialog box. (Value: 0x80) Hides the Use Absolute Path option. (Value: 0x100) Shows the Browse Into LLB option, which allows users to browse the contents of a LabVIEW LLB file. (Value: 0x200) Creates a Directory Selection dialog box. The user can select only folders. (Value: 0x400) For multiple selection file dialog boxes, hides the list control that shows the currently selected pathnames. If you do not set this option, the TestStand File dialog box displays an additional list control that contains the currently selected pathnames. Create a multiple selection dialog box by passing the WinFileDlg_ALLOWMULTISELECT option to the win32Flags parameter. (Value: 0x0) No options. (Value: 0x10000) By default, the dialog box is modal to the last active window of the calling thread, or if none exists, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. (Value: 0x20) Enables the Browse Into LLB option. (Value: 0x800) Specifies to add the file extensions for the loaded sequence file translators to the list of file types the Open File dialog box can select. (Value: 0x1000) If the initial path specifies a file and the file extension is not part of the file filter string, TestStand removes the file extension from the default name that appears in the open file dialog box. (Value: 0x2000) Enables the Substitute Path Macros option in the File Not Found dialog box and the File Conflict dialog box. Use these constants to specify the StationOptions.ExecutionMask property. Each constant corresponds to an Execution option. The user typically sets these options on the Execution tab of the Station Options dialog box. (Value: 0x1) Honors breakpoints. (Value: 0x2) Honors breakpoints when terminating an execution. (Value: 0x4) Specifies that the message, UIMsg_BreakOnRunTimeError, is sent when an error occurs and the value of the StationOptions.RTEOption property is RTEOption_ShowDialog. (Value: 0x8) Enables tracing. When tracing is enabled, the sequence editor or user interface displays each step as it executes. This option is useful for debugging but adds significant performance overhead to the execution of test programs. (Value: 0x10) Enables tracing of steps in the Setup and Cleanup step groups of each sequence. (Value: 0x20) Generates trace events for steps in any of the Pre-Step and Post-Step Engine callbacks. (Value: 0x40) Generates trace events for steps in Post Action callbacks. (Value: 0x80) Specifies to generate trace events for steps in callbacks that run as executions separate from the top-level sequence execution. Examples include Front-End callbacks and callbacks you execute from the Tools menu. (Value: 0x100) Generates trace events for steps in Process Model entry point sequences. (Value: 0x200) Enables tracing into all subsequences when tracing is enabled for the calling sequence. (Value: 0x400) Generates trace events for steps that run while execution is terminating. Examples of steps that can run when an execution is terminating are steps in the Cleanup step groups that run when you terminate execution in the middle of a sequence. (Value: 0x800) Generates trace events for all running threads in an execution. If you do not set this option, TestStand generates trace events only for the active thread. Note: The TestStand User Interface (UI) Controls display only the active thread and do not support enabling this constant. (Value: 0x801D) Bitwise-OR combination of the ExecMask_BreakpointsEnabled, ExecMask_BreakOnRunTimeError, ExecMask_TraceIntoSetupCleanup, and ExecMask_TracingEnabled flags. (Value: 0x1000) Records the results of steps you run interactively. (Value: 0x2000) Specifies whether to run the Setup and Cleanup step groups for the sequence that contains the selected steps. This option applies only when you initiate the interactive execution as an independent, top-level execution. (Value: 0x4000) Specifies whether to evaluate preconditions for steps you run interactively. (Value: 0x8000) Enables TestStand to display an execution as suspended so you can debug it even if one or more threads are executing code inside a code module, which can be useful when code modules take a long time to complete, are blocked waiting for something, or are running continuously in the background. While the execution is suspended, steps with running code modules show a status of Running. If the code module completes while the execution is suspended, the thread suspends immediately after returning from the code module until you resume the execution. These constants represent the options you can use with the RWOptions parameter of the methods that read and write PropertyObjects. Use the bitwise-OR operator to specify more than one option. (Value: 0x1) Use this option to read or write the value of the object and the value of each subproperty. TestStand does not write the type information for the object and subproperties when you use this flag. TestStand writes all values even if the value is the default value for a type. If you use PropertyObject.ReadEx or PropertyObject.UnserializeEx to read the contents of a persisted object written using this option, the structure of the target object must match the structure of the values read. If the target structure is incorrect, the values in the target object do not update. (Value: 0x2) When writing an object, use this option to clear out any existing object with the same name. (Value: 0x4) When writing an object to a file, use this option to clear the entire contents of the existing file. (Value: 0x0) No options. (Value: 0x8) Do not write any type definitions when writing type definition instances. TestStand writes only values that are not the default value for a type. If you use the PropertyObject.ReadEx or PropertyObject.UnserializeEx methods to read the contents of a persisted object written using this option, the type definitions must already be loaded. If the types are no loaded, the PropertyObject.ReadEx fails. These constants represent the options you can use with many of the methods of the PropertyObject class. Use the bitwise-OR operator to specify more than one option for a particular method. (Value: 0x1) If the property the lookupString parameter specifies does not exist, use this option with the SetVal and GetVal methods of the PropertyObject class to create a new property. The PropertyObject.SetValVariant and PropertyObject.GetValVariant methods do not support the InsertIfMissing option. Note: TestStand does not support adding a new subproperty to an instance of a type unless you add the subproperty below a container you have marked as unstructured in the type definition by using the PropFlags_UnstructuredProperty flag. TestStand does not report any errors and creates the property, but does not save the property. When resolving type conflicts and updating type instances, TestStand automatically removes the property. (Value: 0x2) When calling the PropertyObject.DeleteSubProperty method, use this option to avoid an error if the subproperty you specify does not exist. (Value: 0x4) Use this option with the SetVal methods of the PropertyObject class to avoid setting the value of a property that already exists. Usually, you use this option in combination with the PropOption_InsertIfMissing option. (Value: 0x5) This is the combination of the PropOption_DoNothingIfExists and the PropOption_InsertIfMissing options. Note: TestStand does not support adding a new subproperty to an instance of a type unless you add the subproperty below a container you have marked as unstructured in the type definition by using the PropFlags_UnstructuredProperty flag. TestStand does not report any errors and creates the property, but does not save the property. When resolving type conflicts and updating type instances, TestStand automatically removes the property. (Value: 0x8) Use this option for implicit conversion when using a numeric value as a Boolean or string. You can use this option with the PropertyObject.GetValBoolean and PropertyObject.GetValString methods. When you use this option with the PropertyObject.GetValString method, you can pass one of the PropOption_DecimalPoint options to specify the decimal point character. You can also use this option with the PropertyObject.GetValNumber, PropertyObject.GetValInteger64, and PropertyObject.GetValUnsignedInteger64 methods to convert the returned number to the required representation. Pass this option to the PropertyObject.GetValString of an enumeration object to get the numerical value of the enumeration converted to a string when enumerator information is unavailable. (Value: 0x10) Use this option for implicit conversion when using a string value as a Boolean or number. You can use this option with the PropertyObject.GetValNumber and PropertyObject.GetValBoolean methods. (Value: 0x20) Use this option for implicit conversion when using a Boolean value as a string or number. You can use this option with the PropertyObject.GetValNumber and PropertyObject.GetValString methods. (Value: 0x40) Use this option for implicit conversion when setting a numeric value with a Boolean or string. You can use this option with the PropertyObject.SetValBoolean and PropertyObject.SetValString methods. TestStand ignores this flag when you specify PropOption_InsertIfMissing and the property does not exist. You can also use this option with the PropertyObject.SetValNumber, PropertyObject.SetValInteger64, and PropertyObject.SetValUnsignedInteger64 methods to convert the new value to the required representation. (Value: 0x80) Use this option for implicit conversion when setting a string value with a Boolean or number. You can use this option with the PropertyObject.SetValNumber and PropertyObject.SetValBoolean methods. TestStand ignores this flag when you specify PropOption_InsertIfMissing and the property does not exist. (Value: 0x100) Use this option for implicit conversion when setting a Boolean value with a string or number. You can use this option with the PropertyObject.SetValNumber and PropertyObject.SetValString methods. TestStand ignores this flag when you specify PropOption_InsertIfMissing and the property does not exist. (Value: 0x301F8) Use this option to convert the value of a property from or to any of the supported basic types. This is the combination of the PropOption_CoerceFromNumber, PropOption_CoerceFromString, PropOption_CoerceFromBoolean, PropOption_CoerceFromReference, PropOption_CoerceToNumber, PropOption_CoerceToString, PropOption_CoerceToBoolean, and PropOption_CoerceToReference flags. (Value: 0x1) Use this option with the SetByOffset methods of the PropertyObject class to insert a new array element at the specified offset. This option is valid only for one-dimensional arrays. (Value: 0x2) Use this value with the Get_ByOffset methods of the PropertyObject class to remove the array element at the specified offset. This option is valid only for one-dimensional arrays. (Value: 0x400000) Use with methods that delete properties to override the PropFlags_NotDeletable flag. (Value: 0x200) Use this option with the PropertyObject.SetPropertyObject method to create an alias to the specified property object. Use the PropertyObject.IsAliasObject method to determine whether the object is an alias. (Value: 0x10000) Use this option for implicit conversion when using an ActiveX reference value as a string or number. You can use this option with the PropertyObject.GetValNumber and PropertyObject.GetValString methods. (Value: 0x20000) Use this option for implicit conversion when setting an ActiveX reference value with a string or number. You can use this option with the PropertyObject.SetValNumber and PropertyObject.SetValString methods. TestStand ignores this flag when you specify PropOption_InsertIfMissing and the property does not exist. (Value: 0x40000) Use this option to attempt to coerce a non-numeric string to a number that yields zero instead of an error. (Value: 0x0) No options. (Value: 0x400) Use this option when calling methods on alias objects to perform operations on the alias instead of the object to which the alias refers. Use the PropertyObject.IsAliasObject method to determine whether the object is an alias. (Value: 0x2000) Use with the PropertyObject.IsEqualTo method to require that both objects be identical in every way for the comparison to return True. When you use this option, the following items must also be identical for the PropertyObject.IsEqualTo method to return True:     * Array element prototypes for arrays of containers    * Type definitions for type instances    * Comments    * Numeric formats    * Order of subproperties (Value: 0x1000) Use with the PropertyObject.IsEqualTo method to ignore the case of string property values when comparing. (Value: 0x4000) Use with the PropertyObject.IsEqualTo method to compare only the top level object and not the subproperties. (Value: 0x8000000) Use this value with the PropertyObject.Clone method of the PropertyObject class. Normally, if a cloned object has a subproperty that has the PropFlags_Shared flag set, that subproperty is shared between the original object and the clone; that is, both objects point to the same subproperty object. This option prevents such subproperties from being shared between the original object and the clone. (Value: 0x20000000) Use this value with the PropertyObject.Clone method to require all flags in the object and the subproperties to be copied. If you do not pass this option, the Clone function removes flags such as PropFlags_NotDeletable and PropFlags_NotEditable from the copy. (Value: 0x800) Use this value with the PropertyObject.SetPropertyObject method to require that the object you pass to the method keeps its name. If you do not use this option, the method changes the object to have the same name as the object it is replacing. (Value: 0x0) Use this option to specify the period character as the decimal point when you implicitly convert a string to a number or a number to a string in a call to a GetVal or SetVal method that coerces between a number and string. (Value: 0x1000) Use the Localization preferences on the Localization tab of the Station Options dialog box to determine whether the operating system setting determines the decimal point character when you implicitly convert a string to a number or a number to a string in a call to a GetVal or SetVal method that coerces between a number and string. (Value: 0x2000) Use the character that the operating system setting specifies as the decimal point when you implicitly convert a string to a number or a number to a string in a call to a GetVal or SetVal method that coerces between a number and string. (Value: 0x3000) Use this option to specify the comma character as the decimal point when you implicitly convert a string to a number or a number to a string in a call to a GetVal or SetVal method that coerces between a number and string. (Value: 0xC0) Use this option for implicit conversion when using an enumeration value as a string or number. You can use this option with the PropertyObject.GetValNumber and PropertyObject.GetValString methods. (Value: 0x18) Use this option for implicit conversion when setting an enumeration value with a string or number. You can use this option with the PropertyObject.SetValNumber and PropertyObject.SetValString methods. TestStand ignores this flag when you specify PropOption_InsertIfMissing and the property does not exist. These constants represent the flags you can set and get on PropertyObject objects. Use the bitwise-OR operator to specify more than one flag for a particular PropertyObject object. (Value: 0x1) Set this flag to prevent the user from editing the object or deleting the properties of the object in a sequence editor. (Value: 0x4) This flag allows a sequence to control how TestStand passes each parameter to it. Set this flag to pass the parameter by reference. Remove this flag to pass a copy of the parameter. (Value: 0x8) Set this flag in an object to prevent it from appearing in the sequence editor unless the Show Hidden Properties station option is set. (Value: 0x10) Set this flag in an object to prevent it from being seen in the sequence editor Type view unless the Show Hidden Properties station option is set. (Value: 0x80) Set this flag in a sequence parameter to disable type-checking for the parameter. (Value: 0x10000) Set this flag in a property to ignore the property when the containing object is compared to another object. This flag affects the PropertyObject.IsEqualTo method. (Value: 0x20000) Use this flag to specify that a property be shared among multiple copies of the containing object. If this flag is set when the containing object is copied, such as creating an instance of a type or calling the PropertyObject.Clone method, the copy of the object receives a pointer to the property rather than a copy of the property. In the sequence editor, you can change only the value of a shared property, not the shared property in the instance of the type. (Value: 0x40000) This flag is similar to PropFlags_Shared, except the flag is honored only during run time. (Value: 0x80000) Set this flag on a property in a data type or step type to prevent the property from being copied when an instance of the type is created. Note: This property has no effect when set on a property in an instance of a type. (Value: 0x200000) This flag indicates that no type restrictions exist for the property. Separate instances of the property can contain objects of different types. (Value: 0x400000) Set this flag in any object to prevent the user from deleting the object in a sequence editor. (Value: 0x100) This flag applies only to local variables. If you set the Propagate flag for a sequence local, the variable also appears at run-time as a local variable in subsequences the sequence calls. The variable continues to propagate as the call chain extends. (Value: 0x200) This flag applies only to local variables. TestStand uses the PermitPropagation flag to determine which variable takes precedence when a subsequence defines a variable with the same name as a variable the calling sequence propagates. If you do not set the PermitPropagation flag, TestStand preserves the subsequence local variable. If you set the PermitPropagation flag, TestStand replaces the subsequence variable with the variable the caller propagates. (Value: 0x40) Indicates that the object is a temporary object created as the result of an expression evaluation. The PropertyObject.EvaluateEx method can return an object with this flag set. (Value: 0x400) Set this flag on a property to indicate that the value represents a measurement. Utilities and components can identify measurement values by searching for properties that set the IsMeasurementValue flag. Typically, a component considers that the IsMeasurementValue flag on a container property applies recursively to the subproperties of the container. (Value: 0x800) After executing a step, TestStand automatically copies a subset of the step properties to the end of the result list. You can set this flag for a step subproperty to prevent TestStand from copying the property to the result list. (Value: 0x1000) Set this flag on a property to indicate that it contains a test limit value. Utilities and components can identify limit values by searching for properties that set the IsLimit flag. Typically, a component considers that the IsLimit flag on a container property applies recursively to the subproperties of the container. (Value: 0x2000) Set this flag on a property to specify that a report generator displays the property in the report. This flag affects only properties that are in a result list or that TestStand copies to a result list. Typically, a report generator considers that the IncludeInReport flag on a container property applies recursively to the subproperties of the container. Typically, a report generator does not recursively apply this flag from a property to its attributes. Set this flag on both the attribute and on the property that owns the top-level attribute for the attribute to appear in the report. (Value: 0x1000000) Set this flag to prevent the user from editing the comment on the object in a sequence editor. (Value: 0x4000000) Set this flag to prevent the user from editing the name of the object in a sequence editor. (Value: 0x2000000) Indicates that when serialized, the alias object serializes the object for which it is an alias. These constants represent the options you can use with the getSeqFileFlags parameter of the Engine.GetSequenceFileEx method. Use the bitwise-OR operator to specify more than one option. (Value: 0x1) If this flag is set, TestStand honors the Module Load options for the sequence and launches the preload progress dialog box when opening the file. Otherwise, it does not preload any of the modules the steps in the sequence use or display the preload progress dialog box. (Value: 0x2) If this flag is set and the sequence is currently in memory, TestStand checks the date of the file on disk and reloads it if it is newer. If the flag is not set and the sequence is currently in memory, TestStand does not load the file. (Value: 0x4) If this flag is set, conflicts TestStand encounters between the sequence and types currently in memory do not prevent TestStand from loading the sequence. If this flag is not set, TestStand returns an error as soon as it encounters a type conflict. Note: The Engine.GetSequenceFileEx method ignores this value. (Value: 0x8) If this flag is set, TestStand verifies that the sequence file does not refer to a specific process model file that conflicts with the current settings on the Model tab of the Station Options dialog box. (Value: 0x6B) The standard set of flags a user interface uses. This is the combination of the GetSeqFile_CheckModelOptions, GetSeqFile_PreloadModules, GetSeqFile_FindFile, GetSeqFile_SearchCurrentDir, and GetSeqFile_UpdateFromDisk flags. (Value: 0x10) If this flag is set, TestStand does not run the SequenceFileLoad callback sequence. Even if you use this option, TestStand executes the SequenceFileLoad callback for subsequent calls to the Engine.GetSequenceFileEx method that do not use this option. TestStand does not execute the SequenceFileUnload callback when you release the sequence file with the Engine.ReleaseSequenceFileEx method if all calls to obtain the sequence file use this option. (Value: 0x0) No options. (Value: 0x20) If this flag is set, TestStand attempts to find a relative pathname using the Engine.FindFileEx method. (Value: 0x40) If this flag is set, TestStand attempts to find a relative pathname by searching the current directory first. (Value: 0x200) If this flag is set, the Engine.GetSequenceFileEx method returns a sequence file only if the file is already in the engine internal cache. If the file is not in the cache, the Engine.GetSequenceFileEx method returns a NULL reference. Use these constants to specify the executionTypeMaskParam parameter of the Engine.NewExecution, Engine.NewHierarchicalExecution, and SequenceContext.NewExecution methods. (Value: 0) Specifies that the execution is visible in the window when it starts. (Value: 0x1) Specifies that an execution does not appear in a window unless a trace or break event occurs. Typically, you use this constant for executions you do not want the user to see unless an error occurs. Use this constant with ExecTypeMask_TracingInitiallyOff flag to hide the execution even when tracing is on for the application. (Value: 0x2) Disables tracing for the execution. Tracing can be turned back on by either a sequence call setting or by setting the RunState.Tracing property of the sequence context to True. (Value: 0x4) Specifies that the execution is created in a suspended state. You must call the Execution.Resume method to continue execution. (Value: 0x8) Specifies that the execution cannot be restarted with the Execution.RestartEx method. (Value: 0x10) Directs the sequence editor and user interfaces to close the Execution window when it finishes executing. (Value: 0x20) Specifies whether the sequence editor and user interfaces suspend when a step fails. TestStand does not suspend an execution on a failing Sequence Call step if the step that caused the sequence failure already suspended execution. When this constant is not set, TestStand suspends execution based on the value of the setting in the StationOptions.BreakOnStepFailure property. (Value: 0x40) Specifies whether the sequence editor and user interfaces suspend when a failing step causes a sequence failure to first occur. TestStand does not suspend on failing Sequence Call steps already in the stack. If the sequence failure setting is reset, TestStand suspends when the next failing step causes sequence failure. When this constant is not set, TestStand suspends execution based on the value of the setting in the StationOptions.BreakOnSequenceFailure property. (Value: 0x80) Use this option to have the calling sequence wait for the launching execution to complete before the calling sequence returns. This constant applies only to the SequenceContext.NewExecution method. (Value: 0x100) Specifies whether TestStand initializes the concurrency model of the thread as single-threaded apartment (STA) or multi-threaded apartment (MTA). By default, TestStand initializes new executions and threads to use the MTA model. A thread must use the STA model if the thread creates or launches a dialog box that contains ActiveX controls. If you use this option to launch a sequence with a step that displays an ActiveX control, you might need to set the Load Option on the Run Options tab of the Step Properties dialog box to Load dynamically. This option ensures that TestStand loads the module the step calls in the thread initialized as STA. (Value: 0x200) Specifies to launch the Preload Progress dialog box while preloading code modules for the execution of a sequence file. You normally use this flag only for executions you initiate from a user interface. (Value: 0x400) Directs the execution to discard its arguments when it finishes executing. Executions normally hold arguments until the execution is destroyed so the execution can use the arguments again if the execution restarts. However, because the execution holds the arguments, arguments that contain a reference to a .NET object prevent TestStand from unloading .NET assemblies until the execution is destroyed. Use this option to avoid this situation and to ensure that TestStand more promptly cleans up arguments. When using this option, if you restart the execution, the execution no longer uses any arguments unless you use the Execution.RestartWithNewArguments method to restart it. The Execution.GetStates method returns one of these values to indicate the running state of the execution. (Value: 1) The execution is running. (Value: 2) The execution is suspended. (Value: 3) The execution has finished executing. The Execution.GetStates method returns one of these values to indicate whether the execution is terminating. If the execution is terminating, these values indicate how it is terminating. (Value: 1) The execution is not terminating. (Value: 2) TestStand is terminating the running execution. (Value: 3) TestStand is terminating the running interactive execution. (Value: 4) TestStand is aborting the running execution. (Value: 5) TestStand is ending the threads in the execution. Use these constants to specify the decimalPointOption parameter of the Engine.LocalizeExpression, Engine.DelocalizeExpression, and Engine.GetLocalizedDecimalPoint methods. The decimalPointOption parameter specifies how TestStand determines which character it uses as the localized decimal point character. (Value: 1) Use the Station Options localization preferences to determine whether to use the operating system setting. (Value: 2) Use the operating system setting. (Value: 3) Use the period character. (Value: 4) Use the comma character. Use this enumeration to specify the msgBoxType parameter of the Engine.DisplayMessageBox method. These constants specify the icon and default title the message box displays. (Value: 0) Specifies an icon and default title that indicate a warning message. (Value: 1) Specifies an icon and default title that indicate an informational message. (Value: 2) Specifies an icon and default title that indicate an error has occurred. (Value: 3) Specifies no icon and no default title. Use these constants with the bitwise-AND operator to check the itemAttributes parameter of the Engine.GetToolMenuItemInfoEx and Engine.GetToolMenuItemInfoWithIDEx methods. (Value: 0x1) Inserts a separator before the Tools menu item if this flag is set. (Value: 0x2) Disables the Tools menu item if this flag is set. (Value: 0x4) Indicates that the Tools menu item edits the selected file. These constants represent the options you can use with the loadOptions parameter of the SequenceFile.LoadModules, Sequence.LoadModules, and Step.LoadModule methods. Use the bitwise-OR operator to specify more than one option. (Value: 0x1) Ignores errors that occur when loading modules. If this option is not set, each error is reported in a dialog box. (Value: 0x2) Loads modules in subsequences when their corresponding Sequence Call step is loaded. (Value: 0x4) Loads modules of Sequence Call steps that specify the module by expression. Pass a sequence context to the method when using this option. (Value: 0x8) Does not load the modules for steps that have a run mode of anything but RunMode_Normal. (Value: 0x0) No options. (Value: 0x20) If this option is set and the method cannot find the module file, the method does not launch a file dialog box to find the module file. (Value: 0x10) If this option is set and LoadModule_IgnoreErrors is not set, the method throws an exception if an error occurs loading the module. (Value: 0x40) If this option is set and the module is a SequenceCallModule, the method loads the sequence file without running the SequenceFileLoad callback sequence. Only the SequenceCallModule uses this option. These constants represent the possible values for the PropertyObjectFile.FileType property. The FileType is set when the PropertyObjectFile is created, and you cannot change the value. (Value: 0) The Engine.ConfigFile file. (Value: 1) A sequence file. (Value: 2) A type palette file. (Value: 3) The Engine.GlobalsFile file. (Value: 4) The Engine.UsersFile file. (Value: 5) A WorkspaceFile file. (Value: 6) A TestStand project file. (Value: 7) A generic PropertyObjectFile. (Value: 8) The Engine.GetTemplatesFile file. (Value: 9) A general engine configuration file. (Value: 10) A search directories configuration file. (Value: 11) An adapters configuration file. (Value: 12) A type palettes configuration file. (Value: 13) A custom configuration file. Use the PropertyObjectFile class to read and write PropertyObjects to disk. All TestStand files, including sequence files, type palette files, workspace files, configuration files, users file, and globals file, are stored as PropertyObjectFiles. Create new PropertyObjectFiles with the Engine.NewPropertyObjectFile method. Specifies the comment string associated with the PropertyObjectFile object. Specifies the version string associated with the PropertyObjectFile object. You can manually set this value to a valid version string where the numbers from left to right denote the Major, Minor, Revision, and Build version. The TestStand Engine increments the version number each time you save a modified sequence file if you enable the Auto Increment Sequence File Version option on the File tab of the Station Options dialog box. For files that are not sequence files, this property is not used. Increments the file change count. Increment the change count when making changes to the file to indicate to the sequence editor or user interface that the file was modified. Calling this method has the same effect as calling the SequenceFile.IncChangeCount method. Reads the contents of the file from disk. The PropertyObjectFile.Path property determines the pathname of the file to read. Returns True if the file is read successfully. Returns False if the file has type conflicts and the user cancelled the operation. Specifies how to handle type conflicts in the file. Writes the contents of the file to disk. The PropertyObjectFile.Path property determines the pathname of the file to write. Specifies the file format version TestStand uses to write the file. Returns the underlying PropertyObject that represents the PropertyObjectFile object. Use the PropertyObject to modify, add, or remove custom properties of the object. Detects and resolves type conflicts that occur after loading a file. Typically, the PropertyObjectFile.ReadFile method handles type conflicts. The engine loads the Engine.UsersFile, Engine.GlobalsFile and Engine.ConfigFile at startup, but does not resolve type conflicts in those files. Therefore, the sequence editor uses this method to resolve type conflicts in those files after it creates the Engine object. Returns True if types were resolved successfully. Specifies how type conflicts are handled. Specifies the number of modifications that have been made to the file since it was loaded into memory. The sequence editor and user interfaces use this count to determine when to refresh displays and when to indicate to the user that a file has been modified. Specifies the pathname of the file. Specifies the name to display for the file. This property returns the filename portion of the pathname value of the PropertyObjectFile.Path property unless you set it to a different value. Specifies the data object stored in the file. This PropertyObject contains all the data in the file. Specifies the type of file content. This property is set by the TestStand engine when creating and reading property object files. You should not change this property for predefined types of property object files, such as sequence files, workspace files, project files, type palette files, and the user file and globals file. Specifies a description of the type of file. This string is localized for display in the local language. You cannot set this property for predefined types of files, such as sequence files. Specifies the section name written to the file. You generally do not need to use this property. Note: You cannot set this property for predefined file types. Specifies the current status of the file, such as whether the file is open and displayed in a window. One of the values in FileOpenStatusFlags. Specifies the privilege users must have to edit this file. The sequence editor uses this property to determine whether the current user can edit the file. Returns the type of file. Returns a value that indicates whether the file on disk is read-only. Returns the TypeUsageList associated with the file. Returns a value that indicates whether the file has been modified since it was last written to disk. This property returns True if the change count has increased since the last time the file was written to disk. After reading a file, TestStand might perform automatic type conversions and modify the file. For these files, this property returns True after the file is read from disk. The PropertyObjectFile.IsModifiedByUser property only returns True if the file is modified and TestStand did not perform all the modifications. Writes the contents of the file to disk if the file has been modified. This method does nothing if the file has not been modified. If the file has been modified, it prompts the user with an option to save, then writes the file. The PropertyObjectFile.Path property determines the pathname of the file to write. Note: If you call this method multiple times and do not save the file or further modify it, the method prompts only once. Unlike the PropertyObjectFile.WriteFile method, if an error occurs while saving the file, the method displays the error and does not throw an exception. Returns False only if the user clicked Cancel in the Prompt dialog box. If this parameter is True and if the file has been modified, a dialog box opens and asks the user whether to save the file. Returns a value that indicates whether the file on disk is newer or older than the one stored in memory.     * Returns 1 if the file on disk is newer than the one stored in memory.    * Returns -1 if the file on disk is older than the one stored in memory.    * Returns 0 if the file on disk has not changed. Returns a unique ID number for the file. Note: The ID number is never zero. The ID number is unique with respect to all files you might open before you shut down the TestStand Engine. Use this ID number to compare two PropertyObjectFile object references to determine whether they refer to the same underlying file. Determines if the PropTypeFlags_IsModifiedType flag is set for any types used within the file. If a modified type is found, the options parameter determines the specific action to take. If you pass CheckForModifiedTypes_Prompt to the options parameter, this method launches a warning dialog box in which you can specify the action, if any, that TestStand takes. The sequence editor calls this method before calling the PropertyObjectFile.WriteFile method to save a sequence file. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Pass a string to display text on the OK button or pass an empty string to use the default text. Specifies whether the method launches a warning dialog box if a modified type is found, or whether the method performs a specific action if a modified type is found. Pass one of CheckForModifiedTypesOptions constants to this method. Specifies which version number to increment when you pass CheckForModifiedTypes_AutoIncrementVersions to the options parameter. Returns True if a user clicks Cancel. Returns True if modified types were found in the file. Returns a value that indicates whether the user has modified the file since it was last written to disk. After reading a file, TestStand might perform automatic type conversions and modify the file. For these files, the PropertyObjectFile.IsModified property returns True after the file is read from disk. This property only returns True if the file is modified and TestStand did not perform all the modifications. Returns the Requirements property for the file. The Links subproperty of the Requirements property is an array of string values that represents the product and unit requirements that the file covers. This property is valid for sequence files, project files, and workspace files. This property returns an error for all other file types. You can use the following pseudocode to add a new element to the list of requirements: PropertyObject links = propertyObjectFile.Requirements.GetPropertyObject("Links", 0);int nextAvailableIndex = links.GetNumElements();links.SetValStringByOffset(nextAvailableIndex, PropertyOptions.PropOption_InsertElement, "REQ_ABC"); Specifies the protection level applied to a locked file in the sequence editor or applications that use the TestStand User Interface (UI) Controls. Setting this property on a locked file causes an error. Set this property when files are unlocked. This property applies only to sequence files. Setting this property on other files causes an error. Note: TestStand supports password protecting sequence files to discourage editing and viewing within the sequence editor and user interfaces that use the TestStand UI Controls. The TestStand API limits access to a file protected from viewing but cannot prevent access to the file content during execution. National Instruments does not recommend using passwords as the only way of protecting intellectual property. Returns a value that indicates whether the file is locked. This property returns True if file protection is enabled and the PropertyObjectFile.Lock method was called. After reading a protected file, TestStand automatically locks the file. Locks the file. The PropertyObjectFile.Protection property specifies the type of protection for the lock. After reading a protected file, TestStand automatically locks the file. Use the PropertyObjectFile.Unlock method to unlock the file. This method applies only to sequence files. Using this method on other files causes an error. Locking a file causes an error when the PropertyObjectFile.Protection property is set to ProtectedObjectOption_None. Note: TestStand supports password protecting sequence files to discourage editing and viewing within the sequence editor and user interfaces that use the TestStand User Interface (UI) Controls. The TestStand API limits access to a file protected from viewing but cannot prevent access to the file content during execution. National Instruments does not recommend using passwords as the only way of protecting intellectual property. Specifies the password for the lock operation. If no passwordString parameter is specified, the previous password is used. If no previous password was specified, the password is an empty string. Unlocks the file. The PropertyObjectFile.Protection property specifies the type of protection for the lock. Use the PropertyObjectFile.Lock method to lock the file. This method applies only to sequence files. Using this method on other files causes an error. Note: TestStand supports password protecting sequence files to discourage editing and viewing within the sequence editor and user interfaces that use the TestStand User Interface (UI) Controls. The TestStand API limits access to a file protected from viewing but cannot prevent access to the file content during execution. National Instruments does not recommend using passwords as the only way of protecting intellectual property. Specifies the password for the unlock operation. Specifies the format in which TestStand writes the file. Attempting to set to INI (or any other unsupported value) will throw an exception. Returns the value of the PropertyObjectFile.ChangeCount property at the time the file was last saved. Setting the value of the PropertyObjectFile.ChangeCount property equal to the value of the PropertyObjectFile.LastSavedChangeCount property causes the PropertyObjectFile.IsModified property to return False. These constants specify how TestStand responds when encountering two conflicting definitions for the same type. Type conflicts generally occur when TestStand reads a type from a sequence file that has a different structure than the type already loaded. (Value: 1) Specifies that the method returns an error if type conflicts exist. (Value: 3) Specifies that the method prompts the user with a dialog box to resolve each type conflict. (Value: 4) Specifies that the method converts the conflicting type to the currently loaded (global) type if a type conflict exists. Use objects from the module class to specify and obtain information about code modules that steps or step type substeps execute. Typically, you use this class only when you write a sequence editor. To obtain a Module object, use the Step.Module property. To access the properties and methods of an adapter-specific module class, query the Module object for the interface of the adapter-specific module interface you want. Returns the underlying PropertyObject that represents the Module object. Use the PropertyObject to modify, add, or remove custom properties of the object. Returns the Adapter object that this module uses. Returns a reference to the step in which the module resides. Steps share their modules between the original steps and the run-time copies of the steps, so this property always returns an original step and never a run-time copy of the step. Loads the underlying code module. Returns True on success or False if the module fails to load. Specifies one or more LoadModuleOptions using the bitwise-OR operator to modify the behavior of this method. If you pass LoadModule_EvaluateExpressions to the loadOptions parameter, pass a SequenceContext object for this parameter to use when evaluating expressions. If you call this method from a step in an execution, pass the sequence context of the execution. Unloads the underlying code module. The module is not unloaded if it is currently executing. Indicates if the module was successfully unloaded. Indicates if the adapter for the module supports the Module.Specify method. Use the Step.CanSpecifyModule property to determine whether a step supports specifying a module. Opens the Specify Module dialog box for the step, if one exists. Use the Module.CanSpecify property to verify that you can call this method. The current version of TestStand does not support all SpecifyModuleOptions constants for all adapters, as the following list indicates:     * LabVIEW Adapter—Only supports SpecMod_ReadOnly.    * LabWindows/CVI Adapter—Supports all options.    * C/C++ DLL Adapter—Supports all options.    * .NET—Only supports SpecMod_ReadOnly.    * ActiveX/COM Adapter—Only supports SpecMod_ReadOnly.    * HTBasic Adapter—Only supports SpecMod_ReadOnly.    * Sequence Adapter—Supports all options. Returns True if the Specify Module dialog box modifies the module. Specifies one or more SpecifyModuleOptions constants to modify the behavior of the Specify Module dialog box. Indicates if the adapter for the module supports the Module.CreateCode method. Use the Step.CanCreateCode property to determine whether a step can create code for the module of the step. Creates code for the module. The contents of the code depend on the adapter used to create the module, the settings for the module, and the code templates configured for the step type of the step that contains the module. Use the Module.CanCreateCode property to determine whether this step can create code with this method. For adapters that use Microsoft Visual Studio, calling this method can result in prompts to the user if any of the following conditions exist:     * Multiple versions of Visual Studio exist on the computer and you select the Always Prompt for Version option from the Version of Visual Studio to Use for Create and Edit Code ring control in the Adapter Configuration dialog box.    * Multiple versions of Visual Studio exist on the computer and you select the Use the Version that Matches the Project File option from the Version of Visual Studio to Use for Create and Edit Code ring control in the Adapter Configuration dialog box, and TestStand cannot match the version of the file.    * A method already exists with the same name.    * The specified solution does not contain the specified project.    * The specified project does not contain the specified source file. Note: The ActiveX/COM, Sequence, and HTBasic Adapters do not support this method. For DotNetModule objects, use the DotNetCall.CreateCode method instead of this method. Indicates whether the module was modified. Indicates if the adapter for the module supports the Module.EditCode method. Use the Step.CanEditCode property to determine whether a step can edit code for the module of the step. Launches an external application in which you can edit the code associated with the module. Launches the application associated with the adapter. For example, modules created with the LabVIEW Adapter launch LabVIEW. For adapters that use Microsoft Visual Studio, calling this method can result in prompts to the user if any of the following conditions exist:     * Multiple versions of Visual Studio exist on the computer and you select the Always Prompt for Version option from the Version of Visual Studio to Use for Create and Edit Code ring control in the Adapter Configuration dialog box.    * Multiple versions of Visual Studio exist on the computer and you select the Use the Version that Matches the Project File option from the Version of Visual Studio to Use for Create and Edit Code ring control in the Adapter Configuration dialog box, and TestStand cannot match the version of the file.    * The specified solution does not contain the specified project.    * The specified project does not contain the specified source file. Indicates if the module was modified. Returns a description string for the module. This string can change whenever you modify any of the module settings. Specifies one or more StepDescriptionOptions constants. Use the bitwise-OR operator to specify multiple sequence file flags. Returns the UnmappedArgumentValues collection, which contains a list of the arguments not used as inputs and outputs of the corresponding module. When a module prototype changes, TestStand attempts to map the current module arguments to the new prototype by looking for matching argument names and data types, and by matching argument positions and data types. If TestStand fails to assign an argument to the new prototype, the argument is added to this collection. TestStand does not clear the collection when you load a new prototype. Use UnmappedArgumentValues.Clear method to clear the collection before calling Module.LoadPrototype. For DotNetModule objects, use the DotNetCall.UnmappedArgumentValues property instead of this property. Indicates whether the module prototype is incompatible with the actual prototype of the external module. TestStand can read prototype information from some external modules, such as DLLs, LabVIEW VIs, or ActiveX COM type libraries. This property returns True if TestStand successfully reads prototype information from the external module and the module prototype does not match the prototype the external module specifies. Note: This method is obsolete. Use the UnmappedArgumentValues.ClearUnmappedArgumentValues.Clear method instead. Removes the items in the UnmappedArgumentValues collection. Clear the items if you do not want them available for the next prototype change. Loads the prototype for the module and sets the module parameters to match the prototype. This method replaces the following obsolete methods: CommonCModule.LoadPrototype LabVIEWModule.LoadPrototype ActiveXModule.LoadMemberInfo SequenceCallModule.LoadParameters Depending on the type of module, calling this method loads a LabVIEW VI, a sequence file, a DLL, or an ActiveX Automation server to determine the module prototype. Note: The .NET Adapter does not support this call and returns without taking any action. Use the DotNetCall.LoadPrototypeFromSignature method instead. Returns a value that indicates whether the step was modified. Specifies one or more LoadPrototypeOptions constants. Use the bitwise-OR operator to specify multiple flags. Returns an array of warnings that resulted from the last time you called the Module.Load method in an attempt to load the module. Note: Do not use the following constants to access the adapter-specific properties of a step. Use the HTBasicModule interface for the Module object for the step. Use the Step.Module property to acquire a reference to a Module object. In TestStand 3.0 or later, these string constants are obsolete. These string constants were previously used to create lookup strings to access the adapter-specific properties of an HTBasic step. (Value: "ModulePath") String that contains the pathname of the module that contains the HTBasic subroutine to call. (Value "WorkingDirPath") String that contains the specific working directory the adapter sets when calling the subroutine. This is used only if HTBasicStep_SetWorkingDirProp is set to the specific value. (Value: "SubName") String that contains the name of the HTBasic subroutine to call. (Value: "ShowApp") Boolean property that determines whether the adapter displays the HTBasic application when calling the subroutine. (Value: "SetWorkingDirType") Number property that specifies how to set the working directory when calling the subroutine. @table(2,5,false,0!Use adapter default!1!Do not set working directory!2!Set to HTBasic server directory!3!Set to subroutine file directory!4!Use specific directory stored in HTBasicStep_WorkingDirPathProp) These constants represent the value of the PropertyObjectFile.ContentType property for predefined types of PropertyObjectFiles. (Value: "TEConfigFile") The Engine.ConfigFile file. (Value: "SequenceFile") A sequence file. (Value: "Types") A type palette file. (Value: "Globals") The Engine.GlobalsFile file. (Value: "UserListFile") The Engine.UsersFile file. (Value: "TSPropertyObjectFile") A generic PropertyObjectFile file. (Value: "TSWorkspaceFile") A TestStand workspace file. (Value: "TSProjectFile") A TestStand project file. (Value: "GeneralEngineConfigFile") Specifies most TestStand configuration settings and StationOptions, except those related to search directories, type palettes, and adapters. (Value: "SearchDirectoriesConfigFile") Specifies the search directories for the TestStand engine. (Value: "AdaptersConfigFile") Specifies the configuration settings for the TestStand adapters. (Value: "TypePalettesConfigFile") Specifies settings that configure the type palettes loaded by the TestStand engine. (Value: "CustomConfigFile") Contains configuration settings added by users via the Engine.GetCustomConfigFile API. These constants represent the options you can use with the options parameter of the WorkspaceObject.DoSourceControlCommand, WorkspaceObject.CanDoSourceControlCommand, and WorkspaceObject.UpdateStatus methods. Use the bitwise-OR operator to specify more than one option. (Value: 0x1) Does not apply the operation recursively on items in the container. (Value: 0x2) Does not launch a dialog box with a list of files before performing the operation on the files. You cannot combine this option with SCCmdOption_ShowPromptDialog. If you do not specify this option or SCCmdOption_ShowPromptDialog, the engine Configuration option determines whether the dialog box is launched.Note: This constant applies only to the SCCmd_CheckOut and SSCmd_GetLatest commands for the WorkspaceObject.DoSourceControlCommand method. (Value: 0x4) Launches a dialog box with a list of files before performing the operation on the files. You cannot combine this option with SCCmdOption_SkipPromptDialog. If you do not specify this option or SCCmdOption_SkipPromptDialog, the engine Configuration option determines whether the dialog box is launched.Note: This constant applies only to the SCCmd_CheckOut and SSCmd_GetLatest commands for the WorkspaceObject.DoSourceControlCommand method. (Value: 0x8) Does not launch a dialog box for errors. (Value: 0x0) No options. These constants represent the options you can use with the options parameter of the Engine.ReleaseSequenceFileEx method. Use the bitwise-OR operator to specify more than one option. (Value: 0x2) Use this option to prevent the SequenceFileUnload callback sequence from running if the callback exists and the reference being released is the last reference. If other references exist to the sequence file, TestStand might execute the SequenceFileUnload callback when these references are released using the Engine.ReleaseSequenceFileEx method. Regardless of whether you use this option, TestStand does not execute the SequenceFileUnload callback if the SequenceFileLoad callback was not executed because all references to the sequence file were obtained by passing the GetSeqFile_DoNotRunLoadCallback option to the Engine.GetSequenceFileEx method. Use the SequenceFile.UnloadCallbackEnabled property to prevent the SequenceFileUnload callback from ever being executed. (Value: 0x0) No options. (Value: 0x1) Use this option to remove a modified sequence file from the internal cache of the engine. If TestStand cannot remove a modified sequence file from the cache, the Engine.ReleaseSequenceFileEx method generates an error. If your development environment requires you to explicitly release COM references, do not release the COM reference to a SequenceFile object until a call to the Engine.ReleaseSequenceFileEx method succeeds. (Value: 0x4) Use this option to request TestStand to remove a sequence file from the internal cache of the engine. When you specify this option, it does not guarantee that TestStand removes the sequence file from the cache because there might be multiple references to it or it might be executing. If TestStand cannot remove a sequence file from the cache, the Engine.ReleaseSequenceFileEx method generates an error. If your development environment requires you to explicitly release COM references, do not release the COM reference to a SequenceFile object until a call to the Engine.ReleaseSequenceFileEx method succeeds. If you do not specify this option, TestStand might remove the sequence file from the cache if TestStand no longer needs the file. Use these constants to specify the PropertyObjectFile.OpenStatus property. Generally, only user interfaces need to set this property. (Value: 0x1) Specifies that the file is open and displayed in a window. These constants represent the options you can use with the dlgOptions parameter of the PropertyObject.DisplayPropertiesDialog method. Use the bitwise-OR operator to specify more than one option. (Value: 0x4) Disables the Advanced button in the dialog box to prevent the user from editing the flag settings for the property. (Value: 0x8) Disables the Numeric Format button in the dialog box to prevent the user from changing the format of the property. (Value: 0x10000) By default, the dialog box is modal to the last active window of the calling thread, or if none exists, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. (Value: 0x20000) Use this option to create a read-only version of the dialog box. (Value: 0x2) Adds a View Contents button to the bottom of the dialog box. Click the View Contents button to close the dialog box and include the PropDlgOutput_ViewContents flag in the return value of the method that displays the dialog box. The caller of the method that launches the dialog box responds to the View Contents button by displaying the object to which the dialog box applies in the user interface. (Value: 0x0) No option. (Value: 0x10) Display the version of the dialog used by the TestStand Sequence Editor Variables View. Currently applies only to DisplayFlagsDialog. These constants represent the return values of the PropertyObject.DisplayPropertiesDialog method. Use the bitwise-AND operator with the return value to determine whether any of these flags are set. (Value: 0x1) For types, indicates that the user selected the Apply Value to All Loaded Instances of the Type option and that all instances were updated. (Value: 0x2) Indicates that the user clicked OK. (Value: 0x4) Indicates that the user clicked View Contents. (Value: 0x8) Indicates that the dialog box modified the object. (Value: 0x10) Indicates that the dialog box modified the file that contains the object. The TypeUsageList contains a list of types a PropertyObjectFile object uses. Use this class to insert or delete types from a file. Note: When you edit a PropertyObjectFile object by inserting named data types or step types in to the file, add any new types to the TypeUsageList object for the file so the types immediately appear in the Types view in the sequence editor for the file. Use the TypeUsageList.AddUsedTypes or TypeUsageList.Union method to add new types. Adds all the types from one type usage list to another. Does not add types that already exist in both type usage lists. Returns True if any types were added. Otherwise, returns False. Specifies the type usage list that contains the types to add. Returns the number of types in the type usage list. Returns the type the index parameter specifies. Specifies the zero-based index of the type in the type usage list. Returns the index of the type the typeNameParam parameter specifies. The index of the type with the specified name. Returns -1 if no type in the list has the specified name. Specifies the type name to locate in the list. Inserts a type into the type usage list and associates it with a type category. Specifies the new type definition to insert. Specifies the zero-based index at which to insert the type into the type usage list. Specifies the type category to associate with the type. Removes the type the index parameter specifies from the type usage list. The removed type. Specifies the zero-based index of the type to remove. Returns a value that indicates whether the type the index parameter specifies is attached to the file that contains the type usage list. Types that are attached to a file are saved with the file to which the list belongs, even if no instances of the type exist in the file. Returns True if the type is attached to the file. Specifies the zero-based index of the type in the type usage list. Adds all the types the specified object uses to the type usage list. Returns True if any types were added to the type usage list. Specifies the object from which to add types to the type usage list. Returns the number of modifications made to the type usage list. Specifies if the type the index parameter specifies is attached to the file that contains the type usage list. Types attached to a file are saved with the file to which the list belongs, even if no instances of the type exist in the file. Specifies the zero-based index of the type in the type usage list. Pass True to attach the type to the file. Moves the type the index parameter specifies to a new index in the type usage list. Specifies the zero-based index of the type to move. Specifies the new zero-based index of the type. Determines if the specified name is valid for a new type definition. Call this method before adding a new type definition to a type usage list to determine whether the name of the new type definition is valid. Returns a description of why the name is not valid. Specifies the new name to validate. In addition to validating the name, also check if the name is already in use. If this parameter is False, the method reports that the new name is invalid if it is already in use. Returns True if the new name is valid. Creates a new type with a unique name based on the type you specify in the existingType parameter and inserts and attaches the new type to the type usage list. This method also clears some type-specific settings in the newly created type, such as the flags PropFlags_NotDeletable, PropFlags_NotEditable, and PropFlags_NameNotEditable; the type flags PropTypeFlags_NIInstalledType and PropTypeFlags_PreventEditingType; the TypeMinimumTestStandVersion; and the password protection settings. Using this method is equivalent to copying and pasting a type in the Types window in the TestStand Sequence Editor to create a new type based on an existing type. Returns the newly created type, which is already inserted into and attached to the type usage list. Specifies the existing root type definition on which to base the newly created type. Specifies the index in the type usage list at which to insert the new type. Specifies the type category in which to insert the new type. Reserved for future use. Pass 0 for this parameter. Objects of the WorkspaceObject class represent nodes for workspace and project files on the Workspace pane. Workspace objects handle all source code control operations on files. Creates a WorkspaceObject folder. Use the WorkspaceObject.InsertObject method to insert the object into the workspace. Specifies the name of the folder. Creates a new WorkspaceObject associated with the specified pathname. Use the WorkspaceObject.InsertObject method to insert the object into the workspace. This method uses the file extension to determine the type of WorkspaceObject. Specifies the pathname associated with the WorkspaceObject. This pathname can be relative. Inserts a WorkspaceObject at the specified index under another WorkspaceObject. Use the WorkspaceObject.NewFile or WorkspaceObject.NewFolder method to create a new WorkspaceObject. Specifies the WorkspaceObject to be insert. Specifies the zero-based index specifying the location at which to insert the WorkspaceObject. Returns the pathname associated with the WorkspaceObject. Folder objects do not contain a pathname. The pathname can be relative. Specifies the display name for this WorkspaceObject. Generally, the display name is the name of the file, if one exists. Returns a value that indicates whether the WorkspaceObject refers to a code module. Specifies the pathname of the sequence file to which this code module belongs. This property associates a WorkspaceObject with a particular sequence file. Code modules that are stored in the workspace use the property to determine to which sequence file they belong. The pathname of the sequence file. This pathname can be relative. Returns the WorkspaceObject type. Returns the current source code control status of this WorkspaceObject. One of the values in SourceControlStatuses. Performs the specified source code control command on the specified files. Call the WorkspaceObject.CanDoSourceControlCommand method before calling this method. Returns True if the command was completed successfully for all specified files. Specifies the source code control command to perform. Returns True if the command modified the workspace file. Specifies one or more of the SourceControlCommandOptions constants. Specifies an array of WorkspaceObjects that specifies the selected files. If you omit this argument, the method uses the file associated with this WorkspaceObject. Returns the underlying PropertyObject that represents the WorkspaceObject object. Use the PropertyObject to modify, add, or remove custom properties of the object. Returns the absolute pathname of the file associated with this WorkspaceObject. Removes the WorkspaceObject at the specified index. Returns the removed object. Specifies the zero-based index of the object to remove. Returns the project file to which this object belongs. All WorkspaceObjects belong to a single project file in the workspace. Inserts WorkspaceObjects for the code modules of the specified sequence files. This method traverses the WorkspaceObject hierarchy searching for sequence files. For each sequence file it finds, this method finds all the code modules in the sequence file and adds a WorkspaceObject for each one to the workspace. Note: Code modules are a static representation of the current WorkspaceObject hierarchy. If you change the hierarchy or any elements in the hierarchy, you must delete the code module WorkspaceObjects and call this method again. Returns an array of WorkspaceObjects that were added to the workspace. Specifies an array of WorkspaceObjects that specifies the selected files. If you omit this argument, the method uses this WorkspaceObject. Updates the source code control status of the specified WorkspaceObjects. Pass SCCmdOption_DoNotRecurse to specify only this WorkspaceObject. Otherwise, this method updates the status of all contained objects as well. Returns a value that indicates whether the file associated with the WorkspaceObject exists. This method is valid only on WorkspaceObjects that contain a pathname. Returns the most recent information and error messages the source code control provider reports. Call this method after calling the WorkspaceObject.DoSourceControlCommand method to obtain any messages the SCC provider reports. Indicates if the provider supports the specified source code control command for the specified files. Call this function to determine whether you can call the WorkspaceObject.DoSourceControlCommand method on the selected files. Returns True if the command is supported. Specifies the command to check. Specifies one or more of the SourceControlCommandOptions constants. Specifies an array of WorkspaceObjects that specifies the selected files. If you omit this argument, the method uses the file associated with this WorkspaceObject. Returns the parent WorkspaceObject that contains this WorkspaceObject. This method returns a NULL reference for the parent WorkspaceObject. Returns the number of objects that this WorkspaceObject contains. Returns the WorkspaceObject the index specifies. Specifies the zero-based index of the object contained by this WorkspaceObject. Objects of the WorkspaceFile class represent workspace files that can contain projects. A workspace file contains a list of project files and source code control provider information. Each project file contains lists of sequence files, code modules, and other files required by a particular test system. To perform read or write operations for objects from the WorkspaceFile class, obtain a reference to the PropertyObjectFile interface by using the WorkspaceFile.AsPropertyObjectFile method, then use the PropertyObjectFile.ReadFile and PropertyObjectFile.WriteFile methods, respectively. Returns the root WorkspaceObject. This object contains all the projects the workspace file contains. Returns a value that indicates whether the workspace file is connected to a source code control (SCC) provider. TestStand connects a workspace file to an SCC provider when you set the Engine.CurrentWorkspaceFile property. The WorkspaceFile.ProviderName property specifies the associated provider. If the workspace file does not have a provider associated with it, TestStand connects to the default provider specified in the registry at HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider. (Platform: (32-bit TestStand)) On 64-bit operating systems, this registry key appears only in the 32-bit registry. Use the path HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SourceCodeControlProvider to access the key in the registry editor. Specifies the name of the source code control provider. The registry key entries located in HKEY_LOCAL_MACHINE\Software\SourceCodeControlProvider\InstalledSCCProviders define the name for a provider. (Platform: (32-bit TestStand)) On 64-bit operating systems, this registry key appears only in the 32-bit registry. Use the path HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SourceCodeControlProvider\InstalledSCCProviders to access the key in the registry editor. This property returns <None> if the workspace does not specify any provider. An empty value specifies to use the default provider specified by the system. Returns the underlying PropertyObjectFile that represents the WorkspaceFile object. Finds a WorkspaceObject for the specified pathname. Returns the first WorkspaceObject in the workspace that corresponds to the specified pathname. Returns a NULL reference if no object is found. Specifies ss the absolute pathname of the file to find. Launches the user interface of the source code control provider. Launches the Add File To Workspace dialog box, in which you can add a file to the workspace file at the location you select. Returns True if the file was added to the workspace. Specifies the currently selected project in the workspace. Pass a NULL reference if nothing is selected. Specifies the absolute pathname of the file to add it to the workspace. Returns the workspace options file. The workspace options file is a file with the same base name as the workspace file, but with the .tso extension. TestStand saves information in this file to preserve certain user settings, such as window positions, source code control information, and the expansion state of the Workspace pane. Note: National Instruments recommends that you do not put the options file in source code control or share it with other users. Writes the contents of the workspace file and the projects to disk if the files have been modified. This method does nothing if the workspace and project files have not been modified. If the files have been modified, this method prompts the user with the option to save and then writes the files. PropertyObjectFile.Path determines the pathname of the file to write. If an error occurs while saving any of the files, an exception is thrown containing all the files that could not be saved. Returns False if you click Cancel in the Prompt dialog box. Specifies one or more SaveWorkspaceFileOptions constants. Use the bitwise-OR operator to specify more than one options. Objects of the StepType class represent step types in TestStand files. Every step is an instance of a step type. You create new step types with the Engine.NewStepType method. Returns a list of additional result hints associated with a step type. The combined members of StepType.AdditionalResultsHints and Step.AdditionalResultsHints define a list of preconfigured custom additional results you can choose to log when you edit the additional results of a step in a user interface. Specifies the type of looping for the step. Use the StepLoopTypes constants to specify the value of the property. Specifies the While Loop expression for the step. Specifies the loop status result expression for the step. Specifies the loop initialization expression for the step. Specifies the loop increment expression for the step. Specifies whether to add the step results to the sequence results list after each loop iteration. TestStand also adds the final result it computes for the step loop as a whole if you enable the StepType.ResultRecordingOption property for the step. Specifies that the step acquires the a lock before it executes and releases the lock after it completes. Use the StepType.MutexNameOrRefExpr property to specify which lock the step uses. Specifies which lock the step acquires and releases. TestStand ignores this property when the StepType.UseMutex property is False. Enter a string expression to specify the name of an existing lock. You can also enter an expression that evaluates an ActiveX reference to an existing Lock object. Pass an empty string to specify that TestStand uses a lock unique to the step. Specifies the Batch Synchronization operation the step enters before it executes and exits after it completes. Specifies the pre-expression for the step. TestStand evaluates the pre-expression before it calls the Pre-Step substep and code module for the step. Specifies the post-expression for the step. TestStand evaluates the post-expression after calling the code module and Post-Step substep for the step type. Specifies the status expression for the step. Use this expression to set the ResultStatus property of the step. TestStand executes this expression after executing all other substeps and expressions for the step. The expression must evaluate to a string. Returns the module adapter for the step type. The module adapter for any instance created from this type defaults to this setting. Use the StepType.ChangeDesignatedAdapter method to change this setting. If the step type does not specify a default module adapter, this property returns an empty string. Returns the key names from the step type-modifiable properties. These properties are disabled to prevent you from modifying the settings of built-in instance properties in individual steps. In this way, the settings specified for the step type remain permanent for all step instances. A key name is an internal name assigned to a specific property. To obtain the property display name, use the StepType.GetDimmablePropertyDisplayName method. Obtains the display name for the key name. The display name depends on localization. Specifies a property key name. Indicates whether the control for the specified property is dimmed in the Step Properties dialog box. Specifies the corresponding property key name. Specifies if the control(s) for the specified property are disabled in the Step Properties dialog box. Specifies the corresponding property key name. If this parameter is True, the control for the corresponding property is disabled. Adds a new substep to the step type. Use substeps to define standard actions, other than calling the step module, TestStand performs for all instances of the step type. You can specify one of the following four categories for a step type:     * Pre-Step substeps—TestStand calls the Pre-Step substeps before calling the step module. You can implement a Pre-Step substep to retrieve and store measurement configuration parameters into custom step properties the step module can access.    * Post-Step substeps—TestStand calls the Post-Step substeps after calling the step module. You can implement a Post-Step substep to compare the values the step module stores in custom step properties against limit values the Edit substep stores in other custom step properties.    * Edit substeps—An Edit substep launches a dialog box in which you can edit the values of custom step properties. For example, an Edit substep can launch a dialog box in which you specify the high and low limits for a test. The Edit substep can then store the high and low limit values as step properties. Dialog boxes that the specified Edit substep code module launch must be modal. For all dialog boxes except the Microsoft Foundation Classes dialog boxes, use the Engine.NotifyStartOfModalDialogEx and Engine.NotifyEndOfModalDialog methods of the TestStand API. Refer to the examples in the <TestStand Public>\Examples\Fundamentals\Launching a Modal Dialog directory for more information about how to use modal dialog boxes.    * Custom substeps—TestStand does not call Custom substeps. You can use the TestStand API to invoke a Custom substep from a test module, user interface, or other code module. Specifies the new step to be added as a substep for the current step type. Create a new step to pass for this parameter by calling the Engine.NewStep method and specifying Substep, EditSubstep, PreSubstep, or PostSubstep as the value for the stepTypeName parameter of the Engine.NewStep method. Removes the substep specified for the zero-based index passed as an input parameter. Specifies the zero-based index of the substep to remove. Swaps the position of the substeps located in the indexes passed as input parameters. To swap the position of the substeps, both substeps must be of the same type. The following types are available: Pre-, Post-, Edit, and Custom. The order of the substeps in the list defines the order in which the Pre- and Post-Step substeps execute and the order in which the menu items for the Edit substep appear in the context menu of the Sequence view in the Sequence File window. Specifies the zero-based index related to one of the substeps to be swapped. Specifies the zero-based index related to one of the substeps to be swapped. Returns the underlying PropertyObject that represents the StepType object. Use the PropertyObject to modify, add, or remove custom properties of the object. Specifies the name of the step type. Note: TestStand does not validate step type names you create programmatically for invalid characters, such as spaces, which can result in errors when you use them. Use the TypeUsageList.ValidateNewTypeName method to validate step type names. TestStand require step type names to be strings that contain only letters, numbers, and underscores. Step type names cannot contain spaces, start with a number, or be empty. Additionally, the step type name cannot duplicate step type names already in memory. Launches the Specify Module dialog box for the step type, if one exists. Check the CanSpecifyModule property to verify that you can call this method. The current version of TestStand does not support all SpecifyModuleOptions options for all adapters, as the following list indicates:     * LabVIEW Adapter—Supports only SpecMod_ReadOnly.    * LabWindows/CVI Adapter—Supports all options.    * C/C++ DLL Adapter—Supports all options.    * ActiveX/COM Adapter—Supports only SpecMod_ReadOnly.    * Sequence Adapter—Supports all options.    * HTBasic Adapter—Supports only SpecMod_ReadOnly. Returns True if the Specify Module dialog box modifies the step type. Specifies one or more SpecifyModuleOptions to modify the behavior of the dialog box. Returns a value that indicates whether the adapter for the default module of the step type supports the StepType.SpecifyModule method. Returns the icon TestStand displays in the context menu for new steps. Returns the icon index in the small image list of the engine to display in menus for creating new steps of this type. Returns the default step name to use when creating new steps of this type. Specifies the module adapter assigned to the step type. To obtain the current designated adapter, use the StepType.DesignatedAdapter property. Corresponds to the key name of the adapter assigned to the specific step type. If the Step Type does not require a module adapter, set this parameter to an empty string. Returns a reference to the Module object related to the current step type. You must acquire the module interface for the specific adapter from the object this property returns to specify the code module name, location and parameters for the Module object. Combines two step types to create a new step type. If both step types have the same properties but have different values, the values associated with the step type you invoke this method upon take precedence. Returns the new combined step type. Specifies the step type to combine with this one. Returns the number of substeps for this step type. Returns the specified substep. Specifies the zero-based index of the substep. Specifies the icon filename assigned to the step type. The engine maintains a list of images that contain all the icons located in the <TestStand>\Components\Icons and <TestStand Public>\Components\Icons directories and images you add using the Engine.AddImage method. TestStand displays the icon next to the names of the steps that use the step type. If you assign an empty string to this property or assign the name of an icon that is not part of the engine images list, TestStand displays the icon of the module adapter the step uses next to the name of the step. Specifies a string expression TestStand evaluates and uses as the name of the step when you create a new step with the step type. If a step with the same name already exists in the sequence and the Make step names unique when inserting steps sequence editor option is enabled, TestStand appends an underscore followed by a number to the step name to make it unique. If you want to store the name in a string resource file, use the Restr expression function to retrieve the name from the file. Storing the name in a string resource file is useful when you want to display the name in different languages. Specifies a string expression TestStand evaluates and uses as the contents of the Description field for a step of the step type. If you include the %ModuleDescription macro in a string you surround with double quotes, TestStand replaces the %ModuleDescription macro text with text the module adapter provides, which describes the code module the step uses. Specifies an expression that must evaluate to True or be empty to execute a step of the step type. Specifies an expression for the step type name that appears in the Insert Step submenu. This property corresponds to the Item Name Expression control on the Menu tab of the Step Type Properties dialog box. TestStand uses this expression for the display name of the step type in the Insertion Palette or the Insert Step submenu of the Steps pane context menu. Note: If you specify a literal string in this expression control, you must enclose it in double quotation marks. If you want to use a name from a string resource file, use the Restr expression function to retrieve the name from the file. Note: This property is obsolete. Specifies the step type menu group to which the step type belongs. This property corresponds to the default group name of the step type in the Groups and Step Types control of the Step Type Menu Editor dialog box. Instead of using this property, use the Step Type Menu Editor dialog box and save the step type in a type palette file. TestStand uses this value for the initial group for a step type if no Step Type menu data for the step type exists in TestExec.ini or in a type palette file. TestStand saves Step Type menu data with type palette files automatically and also saves the current configuration in TestExec.ini. When you redistribute a type palette file, TestStand merges the Step Type menu data with the current Step Type menu data stored in the TestExec.ini file of the station. Sequence files do not store Step Type menu data. However, because TestStand stores data for step types stored in sequence files in the TestExec.ini of the station on which the step types have been loaded, you can configure the location of those step types. Specifies the option that determines when TestStand loads the code module for the steps of this type. The SequenceFile.ModuleLoadOption property takes precedence over this property, unless the value of the SequenceFile.ModuleLoadOption property is LoadOption_UseStepLoadOption. Specifies the option that determines when TestStand unloads the code module for the steps of this type. The SequenceFile.ModuleUnloadOption property takes precedence over this property unless the value of the SequenceFile.ModuleUnloadOption property is UnloadOption_UseStepUnloadOption. Specifies the run mode of the step. This property is the run mode TestStand stores for steps of this type in the sequence file. Specifies whether TestStand evaluates the step precondition when you run the step interactively. Specifies whether the TestStand application activates its window when the step completes. Note: This property is obsolete. Use the StepType.ResultRecordingOption property instead. Specifies whether to record the Result properties of the step. If you set this property to True, TestStand records the result of the step unless the Engine.DisableResults property is True or the Sequence.DisableResults property is True. You can override this setting with the StationOptions.DisableResults and Sequence.DisableResults properties. For steps that loop, use the StepType.RecordLoopIterationResults property to specify whether to add step results to the sequence result list after each loop iteration. Specifies whether failure of the step causes the sequence to fail. If this property is True and the step fails, TestStand sets the internal status property of the sequence that contains the step to Failure. If the Sequence.FailureAction property is True for the sequence, the execution jumps to the Cleanup step group of the sequence. Specifies to prevent the step from reporting a run-time error to the sequence. When a step causes a run-time error, the step stops executing and TestStand sets the status of the step to Error. If you set this property to False, TestStand also sets the internal status of the sequence to Error, and execution branches to the Cleanup step group for the sequence. If you set this property to True, TestStand does not set the internal status of the sequence to Error. Instead, TestStand resets the Error.Occurred property of the step to False and execution continues normally with the next step. The value for the Result.Status property remains set to Error for the step. Specifies the type of post action you want to occur if the step passes. Assign a PostActionValues string constant to the property to specify the type of post action to perform. Specifies the target for the post action the StepType.PassAction property specifies.     * If the StepType.PassAction property is PostAction_GotoStep, the target is the name of the step.    * If the StepType.PassAction property is PostAction_CallCallback, the target is the name of the callback sequence.    * For all other types of post actions, the target property is not used. This value is an expression. You can set the value with the name of the property that stores the target or with a string constant. A string constant is the name of the target enclosed in double quotation marks. Specifies the type of post action you want to occur if the step fails. Assign a PostActionValues string constant to the property to specify the type of post action to perform. Specifies the target for the post action the StepType.FailAction property specifies.     * If the StepType.FailAction is PostAction_GotoStep, the target is the name of the step.    * If the StepType.FailAction is PostAction_CallCallback, the target is the name of the callback sequence.    * For all other types of post actions, the target property is not used. This value is an expression. You can set the value with the name of the property that stores the name of the target or with a string constant. A string constant is the name of the target enclosed in double quotation marks. Specifies the type of action you want to occur when the custom post action expression evaluates to True. Assign a PostActionValues string constant to the property to specify the type of post action to perform. Specifies the target for the post action the StepType.CustomTrueAction property specifies.     * If the StepType.CustomTrueAction property is PostAction_GotoStep, the target is the name of the step or the ID of the step. If you specify the target by name, the target step must reside in the same step group. If you specify the target by ID, the target step can reside in any step group in the sequence.    * If the StepType.CustomTrueAction is PostAction_CallCallback, the target is the name of the callback sequence.    * For all other types of post actions, the target property is not used. This value is an expression. You can set the value with the name of the property that stores the name of the target or with a string constant. A string constant is the name of the target enclosed in double quotation marks. Specifies the type of action you want to occur when the custom post action expression evaluates to False. Assign a PostActionValues string constant to the property to specify the type of post action to perform. Specifies the target for the post action the StepType.CustomFalseAction property specifies.     * If the StepType.CustomFalseAction property is PostAction_GotoStep, the target is the name of the step or the ID of the step. If you specify the target by name, the target step must reside in the same step group. If you specify the target by ID, the target step can reside in any step group in the sequence.    * If the StepType.CustomFalseAction property is PostAction_CallCallback, the target is the name of the callback sequence.    * For all other types of post actions, the target property is not used. This value is an expression. You can set the value with the name of the property that stores the name of the target or with a string constant. A string constant is the name of the target enclosed in double quotation marks. Specifies the custom post action condition expression for the step. Specifies whether this step defines or operates according to the block structure of the sequence. If this property is not set, the step type ignores the values of the StepType.BlockStartTypes and StepType.BlockEndTypes properties. Specifies a comma-separated list of step type names. Steps of this type end blocks started by steps of any type in the list. Specifies a comma-separated list of step type names. Steps of any type in the list end blocks started by steps of this type. Specifies whether to perform a switching operation for the step. The step performs the switching operation the StepType.SwitchExecOperation property specifies for the virtual device the StepType.SwitchExecVirtualDevice property specifies. Note: This feature is available only when you install NI Switch Executive software. Specifies an expression TestStand evaluates at run time to determine the virtual device name on which to perform the switching operation. Note: The NI Switch Executive software in Measurement & Automation Explorer defines the virtual device name. Specifies whether to connect or disconnect the routes the StepType.SwitchExecRoutesToConnect and StepType.SwitchExecRoutesToDisconnect properties specify, or disconnect all previously connected routes for a virtual device. Note: This operation returns as soon as the instrument is ready for another operation, which might be before or after the switches involved settle. Enable SwitchExecWaitForDebounce if you want to wait until all switches have debounced. Specifies an expression TestStand evaluates at run time to determine the routes to connect when the value of the StepType.SwitchExecOperation property is Connect or ConnectDisconnect. Note: The expression must be a valid route specification string the NI Switch Executive configuration defines for the virtual device name specified by StepType.SwitchExecVirtualDevice. The string can be a combination of route group alias names, route names, and physical route paths. You can use the SwitchFindRoute expression function to dynamically determine a physical route path at run time. Specifies an expression TestStand evaluates at run time to determine the routes to disconnect when the value of the StepType.SwitchExecOperation property is Disconnect or ConnectDisconnect. Note: The expression must be a valid route specification string the NI Switch Executive configuration defines for the virtual device name the StepType.SwitchExecVirtualDevice property specifies. The string can be a combination of route group alias names, route names, and physical route paths. You can use the SwitchFindRoute expression function to dynamically determine a physical route path at run time. Specifies the behavior when more than one connection operation occurs on a specific route. Note: If the value of this property is Multiconnect, a route can exist longer if another step specifies a lifetime for the same route. Specifies whether the Disconnect operation occurs before or after the Connect operation when the value of the StepType.SwitchExecOperation property is ConnectDisconnect. Specifies the lifetime TestStand applies to routes when the value of the StepType.SwitchExecOperation property is Connect or ConnectDisconnect. You can specify whether you want the route to exist until manually disconnected later or until the step, sequence, thread, or execution completes. Note: If the value of the StepType.SwitchExecMulticonnectMode property is Multiconnect, a route can exist longer if another step specifies a lifetime for the same route. Selecting a lifetime other than Manual guarantees that the route stays connected as long as the step, sequence, thread, or execution in which you connect is executing. If you manually disconnect a previously connected route using a non-manual lifetime setting, TestStand releases the reference to the route for the last step that performed a connect action for the route. Specifies if the operation the StepType.SwitchExecOperation property specifies waits for all switches to debounce before returning to TestStand. Note: The wait for debounce occurs after both the Connect and Disconnect operations are complete. Returns the code templates for this step type. Specifies whether to record the result properties of the step. For steps that loop, use the Step.RecordLoopIterationResults property to specify to add step results to the sequence result list after each loop iteration. Specifies whether this step and a corresponding end step can surround a block of contiguous steps. Use these property names with the property objects the Engine.GetInsertStepMenuStructure, Engine.GetInsertVariableMenuStructure, and Step.GetEditSubstepMenuStructure methods return to access information about menu structures. (Value: "Name") String value that specifies the text to display for the menu item. (Value: "IsSubMenu") Boolean value that specifies if the menu item is a submenu. Use the Menu_MenuItemsProp to access the submenu items. (Value: "SeparatorAbove") Boolean value that specifies if a separator exists above the menu item. (Value: "IsDimmed") Boolean value that specifies if the menu item is disabled. (Value: "SubstepIndex") Number value that is the index of the substep for this menu item. Only the StepType.GetSubstep method sets this property. (Value: "MenuItems") Array of property objects that represent the menu items in a submenu. (Value: "ToolMenuId") Number value that specifies the Tools menu ID for the menu item. Only the Engine.GetToolMenuStructure method sets this property. (Value: "EditsSelectedFile") Boolean value that specifies whether a Tools menu item edits the selected file. Only the Engine.GetToolMenuStructure method set this property. (Value: "SupportsReadOnly") Boolean value that specifies if an Edit substep menu item supports launching a dialog box as read-only when the Step.EditAsReadOnly property is True. (Value: "HasEditPanel") Boolean value that specifies whether an Edit substep menu item has a corresponding edit panel that displays in the Step Settings pane of the sequence editor. The sequence editor does not invoke an edit substep if the substep has an edit panel. This constant represents the name of a Front-End callback sequence. Use this constant to specify the sequenceName parameter of the Engine.CallFrontEndCallbackEx method. (Value: "LoginLogout") Specifies the callback used to log in and log out the current user. These constants represent the options you can use with the win32Flags parameter of the Engine.DisplayFileDialog method. Use the bitwise-OR operator to specify more than one option. These flags are the same ones you pass to the Microsoft Windows Software Development Kit functions GetOpenFileName and GetSaveFileName. (Value: 0x1) Causes the Read Only option to be selected initially when the dialog box is created. This flag indicates the state of the Read Only option when the dialog box is closed. (Value: 0x2) Causes the dialog box to generate a message box if the selected file already exists. The user must confirm whether to overwrite the file. (Value: 0x4) Hides the Read Only option. (Value: 0x8) Restores the current directory to the original value if the user changed the directory while searching for files. (Value: 0x10) Do not use this flag because it has no effect. The Help button is always visible. (Value: 0x20) Do not use this flag because it has no effect. (Value: 0x40) Do not use this flag because it has no effect. (Value: 0x80) Do not use this flag because it has no effect. (Value: 0x100) Specifies that the dialog box allow invalid characters in the returned filename. (Value: 0x200) Specifies that the file list allows multiple selections. (Value: 0x400) Do not use this flag because it has no effect. (Value: 0x800) Specifies that you can type only valid paths and filenames. If this flag is used and the you type an invalid path, the dialog box displays a warning. (Value: 0x1000) Specifies that you can select only existing files. If you enter a file that does not exist, the dialog box displays a warning message. If this flag is specified, the WinFileDlg_PATHMUSTEXIST flag is also used. (Value: 0x2000) If the user specifies a file that does not exist, this flag causes the dialog box to prompt the user for permission to create the file. If the user chooses to create the file, the dialog box closes, and the function returns the specified name. Otherwise, the dialog box remains open. This option does not actually create the file. If you use this flag with the WinFileDlg_ALLOWMULTISELECT flag, the dialog box allows the user to specify only one non-existent file. (Value: 0x4000) Do not use this flag because it has no effect. (Value: 0x8000) Do not use this flag because it has no effect. (Value: 0x10000) Do not use this flag because it has no effect. (Value: 0x20000) Hides and disables the Network option. (Value: 0x40000) Do not use this flag because it has no effect. (Value: 0x80000) Do not use this flag because it has no effect. (Value: 100000) Directs the dialog box to return the path and filename of the selected shortcut (.LNK) file. If this value is not specified, the dialog box returns the path and filename of the file the shortcut references. (Value: 0x200000) Do not use this flag because it has no effect. (Value: 0x400000) Do not use this flag because it has no effect. (Value: 0x800000) Do not use this flag because it has no effect. (Value: 0x2000000) Prevents the system from adding a link to the selected file in the file system directory that contains the most recently used documents for the user. (Value: 0x10000000) Forces the showing of system and hidden files, thus overriding the user setting to show or not show hidden files. However, a file marked both system and hidden is not shown. These constants represent the values you can use with the dlgOptions parameter of several methods that display dialog boxes. Use the bitwise-OR operator to specify more than one option. (Value: 0x10000) By default, the dialog box is modal to the last active window of the calling thread, or if none exists, to the last active window from AppMainHwnd. If you enable this option, the dialog box is modal with respect to the window handle the Engine.AppMainHwnd property returns. Typically, you do not need to set this option. (Value: 0x20000) Use this option to create a read-only version of the dialog box. (Value: 0x0) No options. These constants represent the options you can use with the dlgOptions parameter of the PropertyObject.DisplayArrayBoundsDialog method. Use the bitwise-OR operator to specify more than one option. (Value: 0x1) Initializes the array bounds to a default value ([0..9]) before launching the Array Bounds dialog box. (Value: 0x0) No options. (Value: 0x2) Forces the dialog box to return True if you click OK and False if you click Cancel. These constants represent the options you can use with the dlgOptions parameter of the Engine.DisplayBrowseExprDialogEx method and the ExpressionEdit.BrowseExprDialogOptions property. Use the bitwise-OR operator to specify more than one option. (Value: 0x1) Use this option to specify that the initial expression string and the output expression string uses a carriage return/linefeed combination ("\r\n") instead of a simple linefeed ("\n") to indicate the end of a line of text. This option applies only to the Engine.DisplayBrowseExprDialogEx method. (Value: 0x10000) By default, the dialog box is modal to the last active window of the calling thread, or if none exists, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. (Value: 0x2) Use this option to disable the right-click context menus in the list control that allow users to insert, rename, and delete. (Value: 0x0) No options. (Value: 0x4) Use this option to specify that the Expression Browser dialog box show properties hidden in an instance of the type. These constants represent the options you can use with the options parameter of the Step.GetDescriptionEx and Step.GetStepSettingsString methods. (Value: 0x1) Returns the longest description available for the step. If you do not specify this option, the adapter settings determine whether to return a long description. (Value: 0x0) No options. (Value: 0x02) Returns the available breakpoint description with the step description. Use this option with the Step.GetExecutionFlowString method. Note: Only conditional breakpoints provide a description. These constants represent the options you can use with the options parameter of the Engine.SaveAllModifiedSeqFiles method. Use the bitwise-OR operator to specify more than one option. (Value: 0x1) Prompts the user with a dialog box containing Yes, No, and Cancel buttons before saving the file. (Value: 0x0) No options. The UsersFile class represents the file that contains a list of TestStand users and user profiles. Use this class to add or delete users and user profiles. You can obtain a reference to the users file TestStand loads at startup with the Engine.UsersFile property. To perform read or write operations for objects from the UsersFile class, obtain a reference to the PropertyObjectFile interface by using the AsPropertyObjectFile methods, then use the PropertyObjectFile.ReadFile and PropertyObjectFile.WriteFile methods. Specifies the array of users. Use the methods of the PropertyObject class to add or remove users from this object to change the TestStand user list, and to access the subproperties of each element in the array of User objects. Refer to User Data Type Subproperties for the default subproperties that TestStand defines. Returns a property object that is an array of User objects. Specifies the array of user profiles. Note: This property is obsolete. Use UserGroupList instead. Use the methods of the PropertyObject class to add or remove user profiles from this object to change the TestStand user list, and to access the subproperties of each element in the array of User objects. Returns a property object that is an array of User objects. Reloads the users file from disk. Note: After reloading the user file, any references to the UsersFile.UserList property and other users will be out of date. Returns the underlying PropertyObjectFile that represents the UsersFile object. Specifies the array of User objects. Use the methods of the PropertyObject class to add or remove user groups from this object to change the TestStand user group list, and to access the subproperties of each element in the array of group objects. Use the User.Members property to edit the user names that are members of the group. Refer to User Data Type Subproperties for the default subproperties TestStand defines. Returns a property object that is an array of User objects. These constants represent the options you can use with the evaluationOptions parameter of the PropertyObject.EvaluateEx, Expression.Evaluate, Expression.Validate, ExpressionEdit.Evaluate, and Engine.CheckExpression methods. Use the bitwise-OR operator to specify more than one option. (Value: 0x2) Use this option to prevent TestStand from treating empty expressions as syntax errors. (Value: 0x0) No options. (Value: 0x1) Use this option to prevent TestStand from altering the value of any variable or property the expression contains. The Expression.Validate and Engine.CheckExpression methods do not use this value because these methods never alter values. (Value: 0x4) Use this option to direct TestStand to return a value with a type that is the array element type for empty arrays with subscripts. If you do not specify this option, TestStand treats an empty array with subscripts as an error. (Value: 0x8) Use this option to have TestStand create temporary objects for variables that do not exist in an expression. This option is useful when evaluating an expression for error checking if the expression might contain dynamically created variables. (Value: 0x10) Use this option to direct TestStand to evaluate the expression in order to check the expression for errors. This option makes errors reported at edit time more closely match errors that might occur at run time. For example, when using this option, expressions do not use short-circuit evaluation, ensuring that TestStand checks the entire expression for errors. This option also enables the behavior of the #NoValidation directive. Expression validation methods, such as Engine.CheckExpression and Expression.ValidateEvaluationType, automatically include this option. (Value: 0x20) This option disables the behavior of the #NoValidation directive when checking an expression for errors. Use this option to find errors the #NoValidation directive normally suppresses. The following constants represent the categories to which a type can belong: (Value: 0) Specifies no data type. (Value: 1) Specifies a step type. (Value: 2) Specifies a custom data type. (Value: 3) Specifies a built-in data type. This data type contains values that specify the type of a workspace object. Use the values of this enumeration with the WorkspaceObject.ObjectType property. (Value: 1) Specifies a workspace file object. (Value: 2) Specifies a project file object. (Value: 3) Specifies a folder object. Folders do not have a pathname associated with them. (Value: 4) Specifies a sequence file object. (Value: 5) Specifies a file other than a sequence file, workspace file, or project file, such as a code module. This type of object cannot contain other objects. This data type contains values that specify source code control commands. Use one of these values to specify the scCommand parameter of the WorkspaceObject.DoSourceControlCommand and WorkspaceObject.CanDoSourceControlCommand methods. (Value: 1) Adds the specified files to source code control. (Value: 2) Removes the specified files from source code control. (Value: 3) Checks out the specified files from source code control. (Value: 4) Checks in the specified files to source code control. (Value: 5) Obtains the latest version of the specified files from source code control. (Value: 6) Undoes the check out of the specified files from source code control. (Value: 7) Shows the differences between the latest version in source code control and the local version of the specified file. (Value: 8) Shows the source code control history of the specified file. (Value: 9) Shows the source code control properties of the specified file. (Value: 10) Launches the source code control provider options dialog box. This data type contains values that specify the type of a sequence file. The constants represent the possible values for the SequenceFile.SequenceFileType property. (Value: 0) A normal sequence file. (Value: 1) A process model sequence file. (Value: 2) The sequence file containing Front-End callbacks. (Value: 3) The sequence file containing the Test Station callbacks. (Value: 4) The sequence file containing the templates for callback sequences. These constants represent the flags you can set and get on PropertyObject type definitions. Get and set type flags only on PropertyObject objects that are the root objects of type definitions. Use the bitwise-OR operator to specify more than one flag for a particular PropertyObject object. (Value: 0x0) No flags. (Value: 0x1) If TestStand opens a file containing an already-loaded type and the versions of the type are not the same, it converts the older version to newer version without launching a Type Conflict dialog box or returning an error. If one or both versions of the type has PropTypeFlags_NoAutoConvertVersions set, TestStand does not perform this automatic type conversion. (Value: 0x2000000) Indicates that the type is an installed TestStand type provided by National Instruments. Do not set this flag. (Value: 0x4000000) TestStand sets this flag in a type definition object when the user edits the property sheet of the type definition object, adds properties to it, changes a property value, or performs any other action that modifies the type. TestStand does not automatically convert an older version of a type to a newer version if one of them has PropTypeFlags_IsModifiedType set. Instead, TestStand launches a Type Conflict In File dialog box or returns an error. Update the version of the modified type to clear this flag. You can also update and obtain this flag using the PropertyObject.IsModifiedType property. (Value: 0x10) Set this flag in a type definition to indicate that users are not allowed to change the property flags in instances of the type. (Value: 0x4) Specifies whether you can edit the type in the sequence editor. Note: This option applies only to NI-installed types. These constants represent the options you can use with the options parameter of the Execution.RestartEx method. Use the bitwise-OR operator to specify more than one option. (Value: 0x1) Use this option to suspend execution before executing the first step. (Value: 0x2) Use this option to restart an execution created with the ExecutionTypeMask.ExecTypeMask_NotRestartable option. (Value: 0x0) No options. (Value: 0x4) Specifies if the sequence editor and user interfaces suspend when a step fails. TestStand does not suspend an execution on a failing Sequence Call step if the step that caused the sequence failure already suspended execution. (Value: 0x8) Specifies if the sequence editor and user interfaces suspend when a failing step causes a sequence failure to first occur. TestStand does not suspend on failing Sequence Call steps already in the stack. If the sequence failure setting is reset, TestStand suspends when the next failing step causes sequence failure. These constants represent the options you can use with the options parameter of the Engine.ResetTypeInstances method. Use the bitwise-OR operator to specify more than one option. Note: Avoid using the ResetTypeInst_ResetFlags flag because it might result in unexpected behavior. In most cases, you should not reset certain flags on type instances. For example, the PropFlags_PassByReference flag is set on parameters of Sequence Call steps. Calling the Engine.ResetTypeInstances method on a type can change whether TestStand passes a sequence parameter that is an instance of the type by reference. (Value: 0x0) No options. (Value: 0x1) Resets the property values of type instances to the value of the type definition. (Value: 0x2) Resets the property flags of type instances to the flags of the type definition. (Value: 0x4) Resets flags or values of subproperties of type instances in addition to the top level object. These constants specify the file format version TestStand uses to write a file. If you save a sequence file in a previous format and the file contains step types not present in the previous version of TestStand or if the file uses features the previous version of TestStand does not support, the sequence file you save will not function correctly. Note: TestStand does not warn you if the file you save cannot load or run in a previous version of TestStand. (Value: 9) Specifies that TestStand writes out the file using the TestStand 4.1 file format. Save the file in this format to enable TestStand version 4.1 to load the file. (Value: 1) Specifies that TestStand writes out the file using the current TestStand file format. (Value: 8) Specifies that TestStand writes out the file using the TestStand 4.0 file format. Save the file in this format to enable TestStand version 4.0 to load the file. (Value: 10) Specifies that TestStand writes out the file using the TestStand 4.2 file format. Save the file in this format to enable TestStand version 4.2 to load the file. (Value: 11) Specifies that TestStand writes out the file using the TestStand 2010 file format. Save the file in this format to enable TestStand version 2010 to load the file. TestStand 4.5 is the internal version number for TestStand 2010. (Value: 12) Specifies that TestStand writes out the file using the TestStand 2012 file format. Save the file in this format to enable TestStand version 2012 to load the file. TestStand 5.0 is the internal version number for TestStand 2012. (Value: 14) Specifies that TestStand writes out the file using the TestStand 2014 file format. Save the file in this format to enable TestStand version 2014 to load the file. TestStand 14.0 is the internal version number for TestStand 2014. (Value: 13) Specifies that TestStand writes out the file using the TestStand 2013 file format. Save the file in this format to enable TestStand version 2013 to load the file. TestStand 5.1 is the internal version number for TestStand 2013. (Value: 17) Specifies that TestStand writes out the file using the TestStand 2019 file format. Save the file in this format to enable TestStand version 2019 to load the file. TestStand 19.0 is the internal version number for TestStand 2019. (Value: 15) Specifies that TestStand writes out the file using the TestStand 2016 file format. Save the file in this format to enable TestStand version 2016 to load the file. TestStand 16.0 is the internal version number for TestStand 2016. (Value: 16) Specifies that TestStand writes out the file using the TestStand 2017 file format. Save the file in this format to enable TestStand version 2017 to load the file. TestStand 17.0 is the internal version number for TestStand 2017. (Value: 18) Specifies that TestStand writes out the file using the TestStand 2020 file format. Save the file in this format to enable TestStand version 2020 to load the file. TestStand 20.0 is the internal version number for TestStand 2020. Use these constants with the StationOptions.SeqFileVersionAutoIncrementOpt property to specify whether to automatically increment a component of the sequence file version when the file is saved. Versions have four components: Major, Minor, Revision and Build. TestStand displays versions using decimal points to separate the components, such as "1.2.3.4". (Value: 0) Specifies that sequence file versions are not automatically incremented. (Value: 1) Specifies that the major version number is incremented. (Value: 3) Specifies that the revision version number is incremented. (Value: 2) Specifies that the minor version number is incremented. (Value: 4) Specifies that the build version number is incremented. Use these constants to specify the hierarchicalExecutionFlags parameter of the Engine.NewHierarchicalExecution method. (Value: 0x2) Specifies that a hierarchical execution does not run setup or Cleanup steps when it generates a call stack. This flag applies to the sequences that contain the Sequence Call steps you pass to the sequenceCallSteps parameter of the Engine.NewHierarchicalExecution method. (Value: 0x4) Specifies that the execution continues normally when the call stack unwinds. When the Sequence Call steps return from the call stack the execution generates, the remaining steps execute normally in the sequences that contain the calls. (Value: 0x8): Specifies that when Engine.NewHierarchicalExecution creates the call stack the arguments specify, it does not check the preconditions of the Sequence Call steps that comprise the call stack. These constants represent the options you can use with the evaluationOptions parameter of the Engine.DisplayEditNumericFormatDialogEx method. Use the bitwise-OR operator to specify more than one option. (Value: 0) No options. (Value: 0x1) Use this option to allow the user to set the numeric format to the default value in the Numeric Format dialog box. (Value: 0x10000) By default, the dialog box is modal to the last active window of the calling thread, or if none exists, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. These constants represent the return values of the WorkspaceObject.SourceControlStatus property. Use the bitwise-AND operator with the return value to determine whether any of these flags are set. (Value: 0x0) Specifies that the file is not under source code control. (Value: 0x1) Specifies that the file is under source code control. (Value: 0x2) Specifies that the file is checked out by you to a directory where TestStand expects the file to be. The SCStatus_CheckedOutByUser flag must also be on for this flag to be on. If SCStatus_CheckedOutByUser is on but SCStatus_CheckedOut is off, the file is checked out to a different directory. (Value: 0x4) Specifies that the file is checked out by a user other than you. If this flag is on and SCStatus_CheckedOutMultiple and SCStatus_CheckedOutByUser are also on, both the current user and some other user have the file checked out. If this flag and SCStatus_CheckedOutMultiple are on but SCStatus_CheckedOutByUser is off, the current user does not have the file checked out, but several other users do. (Value: 0x10) Specifies that the file is checked out by multiple users. The file might or might not be checked out by you. (Value: 0x1000) Specifies that the file is checked out by you independent of the directory location. (Value: 0x40) Specifies that the file has been deleted from the project under source code control. (Value: 0x20) Specifies that the version you have is not the latest version of the file. These constants represent the options you can use with the searchOptions parameter of the PropertyObject.Search and Engine.SearchFiles methods. Use the bitwise-OR operator to specify more than one option. (Value: 0x1) If this option is set, TestStand finds only those instances in which the capitalization matches the text you specify. For example, if CHR is the specified text, this option finds CHR but not Chr. (Value: 0x2) If this option is set, TestStand searches for occurrences of the specified text only where the text that surrounds the occurrence is a space, punctuation mark, or other character not considered as part of a word. TestStand treats the characters A through Z, a through z, 0 through 9, and the underscore (_) as parts of a word. (Value: 0x4) If this option is set, TestStand treats certain characters in the search text as regular expression characters instead of literal characters. (Value: 0x8) If this option is set, TestStand searches all the sequence files the Sequence Call steps specify. Note: This option applies only to the Engine.SearchFiles method. These constants represent the options you can use with the filterOptions parameter of the PropertyObject.Search and Engine.SearchFiles methods. Use the bitwise-OR operator to specify more than one option. (Value: 0x1) If this option is set, TestStand searches sequence local variables. This option applies only to the Engine.SearchFiles method. (Value: 0x2) If this option is set, TestStand searches sequence parameter variables. This option applies only to the Engine.SearchFiles method. (Value: 0x4) If this option is set, TestStand searches sequence file global variables. This option applies only to the Engine.SearchFiles method. (Value: 0x8) If this option is set, TestStand searches steps. This option applies only to the Engine.SearchFiles method. (Value: 0x10) If this option is set, TestStand searches custom step properties. You must use SearchFilterOptions_Steps in combination with this option. (Value: 0x20) If this option is set, TestStand searches built-in step properties. You must use SearchFilterOptions_Steps in combination with this option. (Value: 0x40) If this option is set, TestStand searches module step properties. You must use SearchFilterOptions_Steps in combination with this option. (Value: 0x80) If this option is set, TestStand searches step types. This option applies only to the Engine.SearchFiles method. (Value: 0x100) If this option is set, TestStand searches custom data types. This option applies only to the Engine.SearchFiles method. (Value: 0x200) If this option is set, TestStand searches standard data types. This option applies only to the Engine.SearchFiles method. (Value: 0x400) If this option is set, TestStand searches built-in sequence and sequence file properties. These properties contain the settings associated with sequences and sequence files. This option applies only to the Engine.SearchFiles method. (Value: 0x00ffffff) If this options is set, TestStand searches all parts of files. (Value: 0x01000000) If this option is set, TestStand searches only types. You must specify which category of types to search by setting one or more of the following options: SearchFilterOptions_StepTypes, SearchFilterOptions_CustomDataTypes, or SearchFilterOptions_StandardDataTypes. This option applies only to the Engine.SearchFiles method. These constants represent the options you can use with the elementsToSearch parameter of the PropertyObject.Search and Engine.SearchFiles methods. Use the bitwise-OR operator to specify more than one option. (Value: 0x1) TestStand searches the property name. (Value: 0x2) TestStand searches the property comment. (Value: 0x4) TestStand searches the value of string properties. (Value: 0x8) TestStand searches the value of numeric properties. (Value: 0x10) TestStand searches the value of Boolean properties. (Value: 0x1c) A combination of the following SearchElements options: SearchElement_StringValue, SearchElement_NumericValue, and SearchElement_BooleanValue. (Value: 0xffffffff) A combination of all the SearchElement options. (Value: 0x20) TestStand searches through the attributes and type attributes of properties. (Value: 0x40) TestStand searches the type name of root type instance properties. Enable this option to find all the instances of a particular type definition. (Value: 0x80) TestStand searches the enumerators of enumeration data types. Use these constants to specify the GenerationOptions parameter of the PropertyObject.GetXML method. (Value: 0x8) Excludes objects without values from the generated XML. (Value: 0x10) Instructs TestStand to use the formatString of each numeric object when the formatString parameter is not empty. If this flag is not set or the format string of the numeric object is empty, the PropertyObject.GetXML method uses the formatString parameter for the formatting, or "%.16g" if the formatString parameter is empty. The default for double-precision, 64-bit floating-point values is %.16g, %d for signed 64-bit integer values, and %u for unsigned 64-bit integer values. (Value: 0x20) Instructs TestStand to not automatically format the generated XML by indenting new lines with tab characters. (Value: 0x40) Instructs TestStand to not automatically format the generated XML by adding LF or CRLF characters. (Value: 0x0) No options. (Value: 0x1) Excludes PropertyObject comments from the generated XML. (Value: 0x2) Excludes the flag related attributes from the generated XML. (Value: 0x4) Excludes version information from the header of the generated XML. (Value: 0x80) Instructs TestStand to use CRLF characters instead of adding LF characters when automatically formatting generated XML. (Value: 0x100) Instructs TestStand to exclude alias subproperty objects in the XML stream. By default, the PropertyObject.GetXML method includes alias subproperty objects in the XML stream. (Value: 0x200) Excludes the default prototype definition for array element properties. (Value: 0x400 | 0x800) Excludes PropertyObject attributes and type attributes from the generated XML. (Value 0x1000) Pass this option to PropertyObject.GetXML to allow serialization of invalid instances of TestStand enumerator data types. Pass this option to PropertyObject.SetXML to allow deserialization of invalid instances of TestStand enumerator data types. The SearchResults object return objects of the SearchMatch class. SearchResults objects contain details about a match found as a result of a call to the PropertyObject.Search or Engine.SearchFiles methods. Returns the element of the property where the match was found and the location of the match within the property when the value is coerced to a string. Use the SearchMatch.MatchedText property to obtain the entire element value as a coerced string in which the match was found. Returns the element of the property in which the match was found. The value of this parameter is one of the SearchElements constants. Returns the zero-based index within the string of the starting character location of the match. Use the SearchMatch.MatchedText property to obtain the entire string in which the match was found. Returns the number of characters of the text that are part of the match. Call this method to obtain the lookup string that indicates the location of the property that contains the match. If the match is from a SearchResults object that the Engine.SearchFiles method returns and the SearchMatch.TypeCategoryOfMatch property is TypeCategory_None, the SearchMatch.GetPropertyPath method returns a lookup string relative to the PropertyObjectFile.Data property. Prepend Data. to use this lookup string relative to the root of the PropertyObjectFile object. Pass True to obtain a property path that uses property names for array indexes when possible. The name of an object element in an array is not guaranteed to be unique within the array. If you pass True for this parameter, do not use the returned property path with methods that have a lookupString parameter, such as the PropertyObject.GetPropertyObject method and the PropertyObject.Exists method. Returns the text string which contains the match. Use the SearchMatch.GetLocation method to determine which element of the property the string is from. Use the SearchMatch.UpdateForReplace method to alter the matched text. Use the SearchMatch.UpdateForReplaceValue method to alter the value of the property in which the match was found. Returns the display name of the file in which the match was found. Returns the absolute file path of the file in which the match was found. Returns an empty string for unsaved files. Use the SearchMatch.FileDisplayName property to obtain a unique name for unsaved files. Returns the unique file ID of the file in which the match was found. This value is the same as the value the PropertyObjectFile.Id property returns. ID numbers change when a file is closed and reopened. Therefore, even if a file has a different ID than what this property contains, it might be the same file. Check the SearchMatch.FilePath property against the absolute path of the file, if one is available, to determine whether the file is the same. Updates all the SearchMatch objects a replace operation affects. This method updates all the property paths and match locations of the current and neighboring SearchMatch objects as needed to make them consistent with the replace operation the replacementString parameter specifies. This method does not perform the actual replace operation. Use PropertyObject objects to edit the file or property before calling this method. Specifies the string with which the matched item was replaced. Returns the TypeCategories constant that corresponds to the category of the type in which the match was found. If the match was not found in a type, this property returns TypeCategory_None. This property always returns TypeCategory_None when you create the search using the PropertyObject.Search method. The value is valid only when you create the search with the Engine.SearchFiles method. Use this property to store any additional data you want to associate with the SearchMatch object. The value of this property is initially 0. Returns a string that describes the value of the property that contains the match. This string is equivalent to the string the PropertyObject.GetFormattedValue method returns. If the property that contains the match does not have a value, this property returns an empty string. Returns the data type of the property that contains the match. Updates the value of the property the SearchMatch object references. This method sets the SearchMatch.MatchIsValid property to False for the current and neighboring SearchMatch objects as needed if the location of their match is the value. This method does not perform the actual replace operation. Use PropertyObject objects to edit the file or property before calling this method. Specifies the string with which the value was replaced. Returns a value that indicates whether the match is valid. When this property is False, do not call the SearchMatch.UpdateForReplace method. This property is set to False when a call to the SearchMatch.UpdateForReplaceValue method invalidates or replaces the text that the match found. Objects in the SearchResult class are both a handle to a search in progress and a container for the results of that search. When you call the PropertyObject.Search or Engine.SearchFiles method, TestStand returns a SearchResults object. The search runs asynchronously, which means you obtain the SearchResults object before the search finishes. To wait for the search to complete, call the SearchResults.IsComplete method. Alternatively, you can access the results as they accumulate asynchronously by using the SearchResults.NumMatches property to obtain the number of matches and then accessing only the SearchMatch objects up to that number. TestStand always appends new SearchMatch objects to the end of the result list. Cancels a search in progress. Calling this method after the search completes does nothing. Pass True if you want the method to wait until the search finishes canceling before returning. Otherwise, the cancel operation is asynchronous. Pass True if you want TestStand to process window messages while waiting for the search to complete. TestStand ignores this parameter if you do not pass True for the waitForComplete parameter. Returns a value that indicates whether a search is complete or waits until the search is complete. Pass True if you want the method to wait until the search is complete before it returns. Pass True if you want TestStand to process window messages while waiting for the search to complete. TestStand ignores this parameter if you do not pass True for the waitForComplete parameter. Returns the number of matches found up to a certain point. If the search is not yet complete, this number can continue to increase as TestStand finds new matches. You can access the SearchMatch objects even as they accumulate asynchronously by using this property to obtain the number of matches and then accessing only the SearchMatch objects up to that number using the SearchResults.GetMatch method. TestStand always appends new SearchMatch objects to the end of the result list. Returns the SearchMatch object you specify. You can access the SearchMatch objects even as they accumulate asynchronously by using the SearchResults.NumMatches property to obtain the number of matches and then using this method to access only the SearchMatch objects up to that number. TestStand always appends new SearchMatch objects to the end. Specifies the zero-based index of the SearchMatch object you want the method to return. Returns the number of warnings. If the search is not yet complete, this number can increase in the future as TestStand adds new warning messages. TestStand adds warning messages when it encounters an error while performing a search. A common error that can occur is when TestStand cannot load a file because of type conflicts. You can access the warnings even as they accumulate asynchronously by using the SearchResults.GetWarning method to obtain the number of warnings and then using this method to access only the SearchMatch objects up to that number. TestStand always appends new warnings to the end of the result list. Returns the warning message you specify by index. You can access the warnings even as they accumulate asynchronously by using the SearchResults.NumWarnings property to obtain the number of matches and then using this method to access only the SearchMatch objects up to that number. TestStand always appends new warnings to the end of the result list. Specifies the zero-based index of the SearchMatch object you want the method to return. Returns a real-time description of what the search is doing while in progress. The status message describes the file TestStand is currently loading or searching as well as other activities that relate to the search, such as building the list of files to search. A SearchDirectory object specifies a directory in which TestStand searches for finding files. An object of this class specifies a path to an explicit directory or specifies a predefined directory, such as the TestStand directory or the Microsoft Windows directory. An object specifies any file extension restrictions and whether to search subdirectories. Several types of search directories exist. This property returns the type of search directory. Specifies the path used to find files. Specifies the directory path when the value of the SearchDirectory.Type property is SearchDirectory_ExplicitDir. This property is read-only for all other directory types, and TestStand returns the path of the non-explicit directory. TestStand returns an empty string when the directory type is SearchDirectoryType_ContainingProjectDir or SearchDirectoryType_CurrentSequenceFileDir. TestStand returns an empty string if the directory type is SearchDirectoryType_CurrentWorkspaceDir when no workspace is loaded. Specifies whether to include all subdirectories within the selected path in the overall search directory path. Specifies the specific file extensions that restrict which files apply to the search directory. If the SearchDirectory.ExcludeFileExtension property is False, TestStand searches only for files in the directory with the specified extension. If the exclude parameter is True, TestStand searches only for files in the directory that does not have the specified file extensions. For example, to search only for DLLs and executable files, enter "DLL, EXE" and set the SearchDirectory.ExcludeFileExtension property to False. Set this property to False if you want TestStand to search only for files with the file extensions you specify in the SearchDirectory.FileExtensionRestrictions property. Set this property to True if you want TestStand to search only for files that do not have the file extensions specified in the SearchDirectory.FileExtensionRestrictions property. If you want the search directory to be included in the overall search path, set this property to False. If you set this property to True, the search directory is disabled but is included in the search directories list. Specifies to exclude search directory subdirectories that specify the Hidden attribute in the Microsoft Windows file system. This property is False by default and has no effect unless the SearchDirectory.SearchSubdirectories property is True. Specifies the internal options you can access through the Engine.GetInternalOption and Engine.SetInternalOption methods. (Value: 1) Specifies a Boolean value that determines whether TestStand launches a warning dialog box for each TestStand API call you make through a dispatch interface. If you intend to use only the vtable interface for the TestStand API, use this property to determine whether the code unintentionally uses a dispatch interface to the TestStand API. The default value of this property is False. This option does not apply to the Engine object. TestStand does not warn you for calls you make through a dispatch interface to the Engine object. National Instruments recommends that you only use this property for testing and debugging purposes. (Value: 2) Specifies a Boolean value that determines whether the ActiveX/COM Adapter calls the dispatch portion of a dual interface instead of the vtable portion of the interface. Use this property to exercise both the vtable and dispatch portions of a dual server interface when you perform software testing on a server. The default value of this property is False. (Value: 3) Specifies a Boolean value that determines whether TestStand installs development support items at engine start up. Development support items include TestStand palettes and toolbox items for application development environments (ADEs) that support them, such as LabVIEW and Microsoft Visual Studio. Although the TestStand installer also installs these items, this option ensures that the items are installed to an ADE if the ADE is installed or upgraded after TestStand is installed. At startup, TestStand checks whether it has already installed the support items for a particular ADE so startup time does not increase unnecessarily. If you disable this option, you can manually update the support items for a particular ADE by running the TestStand Version Selector and specifying "/ver current" on the command line or by switching to the current version in the Version Selector dialog box. The default value of the option is True. TestStand persists the setting for this option between invocations of the TestStand Engine. (Value: 5) Returns an IUnknown interface to the Application Manager user interface control for the current process. Returns a NULL interface if no Application Manager user interface control exists in the current process. (Value: 10) Specifies a Boolean value that determines whether TestStand disables all windows in the same thread as the thread that launches an engine dialog box. This is useful for applications that have multiple modeless windows to disable while a modal dialog box launches. The default value of the option is True. Use these constants with the SequenceFile.ModelOption property. (Value: 0) Instructs TestStand to use the process model file the Station Model option on the Model tab of the Station Options dialog box specifies. (Value: 1) Specifies that the sequence file does not use a process model. (Value: 2) Specifies a particular process model file. If you select this value, you must use the SequenceFile.ModelPath property to specify the location of the process model file. Use these constants to specify the EvalPrecondOptions parameter of the Step.EvalPrecondForInteractiveExecution and StepType.EvalPrecondForInteractiveExecution properties. (Value: 0) Uses the Evaluate Preconditions in Interactive Mode option on the Execution tab of the Station Options dialog box. (Value: 1) Evaluates the precondition. (Value: 2) Does not evaluate the precondition. Use these constants as the values of the Step.WindowActivation and StepType.WindowActivation properties. (Value: 1) No activation. (Value: 2) Activate when the step completes. (Value: 3) If initially active, reactivate when the step completes. Use these constants with the Step.BatchSyncOption and StepType.BatchSyncOption properties. (Value: 0) Uses the same option the sequence file is using. (Value: 1) Uses the same option the model is using. (Value: 2) No batch synchronization is used on this step. (Value: 3) Use a Serial section to ensure that each thread in the batch executes a single step sequentially or the steps in a section sequentially and in the order you specified when you created the batch. When all threads in a batch arrive at their respective instances of a single step or an Enter step for a Serial section, TestStand releases one thread at a time in ascending order according to the order number you assign to threads when you added them to the batch using the Batch Specification step type. As each thread executes the single step or reaches the Exit step for the section, the next thread in the batch executes the single step or proceeds from the Enter step. After all threads in the batch execute the single step or arrive at the Exit step, they continue and exit the section together. (Value: 4) When all threads in the batch arrive at their respective instances of a single step or an Enter step for a Parallel section, TestStand releases all the threads at once. Each thread blocks after executing the single step or after reaching the Exit step for the section until all threads can continue and exit the section together. (Value: 5) Use a One Thread Only section to specify that only one thread in the batch executes the single step or the steps in the section. Typically, you use this type of section to perform an operation that applies to the batch as a whole, such as raising the temperature in a test chamber. When all threads in a batch arrive at their respective instances of the single step or an Enter step for a One Thread Only section, TestStand releases only the thread with the lowest order number. When that thread executes the single step or arrives at the Exit step for the section, all remaining threads in the batch skip the single step or jump from the Enter step to the Exit step, skipping steps within the section. The threads in the batch then continue and exit the section together. Use these constants with the Execution.EnableCallback and Execution.IsCallbackEnabled methods to specify on which callback sequence to operate. (Value: 0x0) ProcessModelPostError callback (Value: 0x1) ProcessModelPostFail callback (Value: 0x2) ProcessModelPostInteractive callback (Value: 0x3) ProcessModelPostResult callback (Value: 0x4) ProcessModelPostStep callback (Value: 0x5) ProcessModelPreInteractive callback (Value: 0x6) ProcessModelPreStep callback (Value: 0x7) SequenceFilePostError callback (Value: 0x8) SequenceFilePostFail callback (Value: 0x9) SequenceFilePostInteractive callback (Value: 0xA) SequenceFilePostResult callback (Value: 0xB) SequenceFilePostStep callback (Value: 0xC) SequenceFilePreInteractive callback (Value: 0xD) SequenceFilePreStep callback (Value: 0xE) StationPostError callback (Value: 0xF) StationPostFail callback (Value: 0x10) StationPostInteractive callback (Value: 0x11) StationPostResult callback (Value: 0x12) StationPostStep callback (Value: 0x13) StationPreInteractive callback (Value: 0x14) StationPreStep callback (Value: 0x15) ProcessModelPostResults callback (Value: 0x16) SequenceFilePostResults callback (Value: 0x17) StationPostResults callback These constants represent the values you can use with the CustomUIMessageOptions parameter of the Execution.AddPostStepCustomUIMessage method. Use the bitwise-OR operator to specify more than one option. (Value: 0) No options. (Value: 1) When this flag is set, TestStand does not send a user interface message if a UIMsg_Trace message is sent. Do not use this option if you want the UIMessage sent even when tracing is disabled. (Value: 2) Use this flag to send custom user interface message to all threads this execution creates. Otherwise, only the foreground thread of the execution sends this message. Use these constants for the value of the StationOptions.SetTimeLimitAction and StationOptions.GetTimeLimitAction methods. (Value: 0) Time limits for normal execution. (Value: 1) Time limits for executions that run while the engine is exiting. Use these constants for the value of the StationOptions.SetTimeLimitAction and StationOptions.GetTimeLimitAction methods. (Value: 0) Applies to an execution from start to completion. (Value: 1) Applies to an execution from a termination request to completion. (Value: 2) Applies to an execution from an abort request to completion. Use these constants for the value of the StationOptions.SetTimeLimitAction and StationOptions.GetTimeLimitAction methods. (Value: 0) Initiates an abort of a running execution. (Value: 1) Ends the thread for a running, terminating, or aborting execution. (Value: 2) Launches a dialog box with the option to terminate, abort, or kill the execution. (Value: 3) Initiates a termination of a running execution. Use these constants with the SearchDirectoryTypes parameter of the SearchDirectories.Insert method and the SearchDirectory.Type property. (Value: 11) Public components directory. (Value: 16) Public directory. (Value: 2) TestStand Bin directory. (Value: 3) Adapter support directory. (Value: 4) Application directory. (Value: 5) Initial working directory. (Value: 6) Windows system directory. (Value: 7) Microsoft Windows directory. (Value: 8) Path environment variable. (Value: 9) Current sequence file directory. (Value: 11) User components directory. This option is obsolete. Use SearchDirectoryType_PublicComponentsDir instead. (Value: 12) NI components directory. (Value: 13) Current workspace directory. (Value: 14) Containing project directory. Note: This constant is obsolete. To allow a user to select a file relative to a containing project directory, pass the PropertyObjectFile object for the project to the currentFile parameter of the Engine.DisplayFileDialog method. (Value: 15) Explicit directory. (Value:1) TestStand directory. This collection class contains elements using the SearchDirectory type. The collection specifies the directories TestStand searches for finding files. The directories listed first in the collection take precedence over those listed later in the collection. When you run TestStand for the first time, the collection contains a default set of search directory paths. Returns a reference to an item at the specified index in the collection. Specifies the zero-based index of the item to retrieve. Returns the number of items in the collection. Adds a new item to the collection. A search directory is a search path for finding files. Specifies the path used to find files. TestStand maintains an internal list of search directories in which the lower index paths take precedence over the higher index paths. The index parameter specifies the index where the new search directory must be inserted. If you pass a value of -1, the new directory is inserted at the end of the list. Specifies whether to include all subdirectories within the selected path in the overall search path. Specifies the specific file extensions that restrict which files apply to the search directory. If the exclude parameter is False, TestStand searches in the directories only for files with the specified extensions. If the exclude parameter is True, TestStand searches in the directories for files that do not have the specified file extensions. For example, to search for only DLLs and executable files, pass "DLL,EXE" for this parameter and False for the exclude parameter. If you pass False, TestStand searches only for files with the specific file extensions specified in the fileExtRestrict parameter. If you pass True, TestStand searches for files without the specific extension. Set this parameter to False if you want the search directory to be included in the overall search path. This setting allows the user to disable the search directory without deleting it from the list. Removes the specified item from this collection, if it exists. You cannot delete predefined search directories. Specifies the zero-based index of the item to remove. Moves a search directory within the collection. TestStand maintains an internal list of search directories in which the lower index paths take precedence over the higher index paths. Specifies a zero-based index indicating the new position of the search directory to move. Specifies a zero-based index indicating the new position of the search directory to move. Instructs TestStand to discard the current search directory list and reload the list from disk. Note: TestStand immediately updates the TestExec.ini configuration file when you make changes to the search directories programmatically or by using a user interface. Use the SearchDirectories.Reload method to update the search directories after an external application, such as a source code control application, modifies the TestExec.ini configuration file. An ExternalReportViewer represents relationships between a specific report format and the application used to open it. TestStand keeps a list of report viewers. If you do not specify an external viewer for a format, the file opens in the application Microsoft Windows associates with the file extension of the report file. Note: You must have a minimum supported version of Microsoft Internet Explorer or later to view TestStand reports. Refer to the NI TestStand Release Notes for more information about supported versions of Internet Explorer. Specifies the report format for the external report viewer to display. For example, txt for text files or HTML for HTML files. Specifies optional arguments that indicate to the external viewer which file to open and how to open it. For example, "%filename" indicates to the external viewer the name of the file to open. Specifies the filename the external report viewer executes. Specifies the external report viewer to launch automatically when the report is generated. Set this property to True to automatically launch the external report viewer and show the report. Collection that contains elements using the ExternalReportViewer type. Represents the list of external report viewers used to open the different report file types TestStand supports. Note: You must have a minimum supported version of Microsoft Internet Explorer or later to view TestStand reports. Refer to the NI TestStand Release Notes for more information about supported versions of Internet Explorer. Returns a reference to an item at the specified index in the collection. Specifies the zero-based index of the item to retrieve. Returns the number of items in the collection. Adds a new external report viewer to the collection. When you specify an external report viewer, you must indicate the external report viewer name and the report format, such as Microsoft Notepad (txt) or Microsoft Internet Explorer (html). Specifies the name for the external report viewer to launch. Specifies the optional command-line arguments required to launch the external report viewer. Specifies the external report viewer to automatically launch when the report is generated. Pass True to automatically launch the external report viewer and show the report. Removes the specified item from this collection, if it exists. Specifies the zero-based index of the item to remove. Specifies whether TestStand launches default external viewers Microsoft Windows associates with file extensions. An Expression object holds an expression string. You can check the validity of the expression string or you can evaluate the expression string to obtain the result of the expression. The Expression object provides the same functionality as the PropertyObject.EvaluateEx, Engine.CheckExpression, and Engine.CheckExprSyntax methods. However, if you are repeatedly evaluating the same expression, it is more efficient to use an Expression object because it only parses the expression string when you first evaluate the expression. Because the Expression object retains the parsed form of the expression, it does not re-parse the expression when you reevaluate the same string. The Expression object also provides the NumTokens property and the Tokenize and GetToken methods, which you can use to identify the operators, identifiers, and constants that comprise an expression. The capability to parse the expression into component tokens is useful for specialized purposes, such as implementing expression syntax coloring. Because TestStand provides an ActiveX Expression control that features syntax coloring, you typically do not need to identify the tokens in an expression. Specifies the text of the expression the Expression object evaluates. The following are example expressions: Local.frequency / 2 "DMM" + Str(RunState.TestSockets.MyIndex) Returns the number of tokens the expression contains. A token is a set of contiguous characters in the expression text that represent an identifier, operator, or constant. A token does not include surrounding white space characters. Note: You must call the Expression.Tokenize method before you access this property for the first time and after changing the value of the Expression.Text property. This method returns information about the token you specify by index. You must call the Expression.Tokenize method before you call this method for the first time and before you call this method after changing the value the Expression.Text property. Specifies the zero-based index of a token in the expression. Returns a code that specifies which expression element the token represents. Returns the zero-based index within the expression string of the first character in the token. Returns the number of characters in the token. Returns the characters in the token. This method parses the expression text to identify the tokens that represent operators, identifiers, and constants. The capability to parse the expression into component tokens is useful for specialized purposes, such as implementing expression syntax coloring. Typically, you do not call this method. Note: You must call this method before you call the Expression.GetToken method or access the Expression.NumTokens property. The return value represents the parsing state at the end of the expression. If you individually tokenize each displayed line of an expression wrapped to multiple lines by a user interface control, pass this value to the initialParseState parameter of this method when you tokenize the next visible line. Pass TokenizeOptions_NoOptions to specify the default behavior, or pass one or more TokenizeOptions constants. Use the bitwise-OR operator to specify multiple options. The Expression object retains the options you specify to use whenever it must tokenize the expression in the Expression.Validate and Expression.Evaluate methods. Pass 0 if you are tokenizing a complete expression. Typically, you pass 0 to this parameter. If you separately tokenize each visible line in an expression, pass 0 to tokenize the first visible line and pass the return value of this method from tokenizing the previous line to tokenize a subsequent line. Note: Tokenizing a multiline expression line-by-line is more efficient or convenient for certain specific applications, such as syntax-coloring text that displays in a control when the control wraps the text across multiple lines to fit within the control. In this case, you can resume tokenizing a logical line the control splits into multiple visible lines. Tokenize line-by-line to account for virtual new lines a control creates when wrapping expression text. If the expression contains actual new line characters, you can tokenize the entire expression with a single call to this method. Checks the validity of an expression and returns error information. Returns True if the expression is valid. Returns False if the expression contains an error. Specifies the context in which to evaluate the expression. This method uses this object to determine whether the variables in the expression are valid. Pass True to check the expression syntax only. Pass False to also verify that the variables in the expression are valid. Pass 0 to specify the default behavior, or pass one or more EvaluationOptions constants. Use the bitwise-OR operator to specify multiple options. If the expression is invalid, this parameter returns a description of the error. If the expression is invalid, this parameter returns the character index of the start of the invalid portion of the expression. If the expression is invalid, this parameter returns the character index of the end of the invalid portion of the expression. Evaluates an expression and returns the result. Returns the result of the expression in the form of a PropertyObject. The PropertyObject can contain a value of any type depending on the expression. Release the result when you finish using it. If the expression is empty and you pass EvalOption_AllowEmptyExpression, this method returns a NULL dispatch pointer or object reference. Specifies the context in which to evaluate the expression. This method uses this object to locate variables the expression specifies. Pass 0 to specify the default behavior, or pass one or more EvaluationOptions constants. Use the bitwise-OR operator to specify multiple options. Checks that the expression evaluates to a specified type and returns error information if the expression does not. This method returns TS_Err_NoError if the expression evaluates to a type the validEvaluationTypes parameter specifies. This method returns the corresponding TSError if the expression has a syntax or evaluation error. This method returns TS_Err_UnexpectedType if the expression evaluates without an error, but does not evaluate to a type the validEvaluationTypes parameter specifies. Specifies the type(s) to which you expect the expression to evaluate. Specifies additional variables the expression might contain that are not part of the evaluationContext. This parameter is useful if the expression can contain a constant from an enumeration, such as a parameter value of a module call when the parameter type is an enumeration. You can pass NULL for this parameter if there are no additional constants you want to use when evaluating the expression. Specifies the context in which to evaluate the expression. This method uses this object to locate variables the expression specifies. Specifies any combination of the EvaluationOptions constants. It is not necessary to pass the EvalOption_DoNotAlterValues constant because this method never alters values. If the expression does not evaluate to the specified type, this parameter returns a description of the error. If the expression does not evaluate to the specified type, this parameter returns the character index of the start of the invalid portion of the expression. If the expression does not evaluate to the specified type, this parameter returns the character index of the end of the invalid portion of the expression. If the expression is a constant, the method returns the result of the expression in the form of a PropertyObject, otherwise the method returns NULL. This method evaluates the expression without a context and without altering values. Use the StationOptions class to set preferences for TestStand. The settings affect all sequence editor and user interface sessions. Use the Engine.DisplayOptionsDialog method to launch the Station Options dialog box. Specifies the location of the current user manager file. Pass an empty path to this property to instruct TestStand to use the default user manager file. A change to this property does not take effect until you restart the engine. Specifies whether the sequence editor or user interface verify user privileges. When this property is False, the sequence editor or user interface do not verify that the user has the privileges necessary for performing specific operations. Instead, all operations that depend on user privileges are always available. Specifies if the LoginLogout callback sequence uses the current user login for the operating system as the login for TestStand when first launching a user interface or sequence editor. If the user login for the operating system does not exist in TestStand, the Login dialog box launches. If the user login for the operating system exists in TestStand, TestStand automatically logs in the user using the operating system login. Note: TestStand does not perform password authentication for an automatic login. Specifies if the sequence editor or user interfaces require that a user be logged in. TestStand only uses this property when the StationOptions.EnableUserPrivilegeChecking property is False. When this property is True, the user interfaces are disabled until a user successfully logs in. Specifies the default behavior of TestStand when a run-time error occurs in an execution. This property replaced the more limited property Engine.BreakOnRTE and offers a superset of the functionality. Specifies if tracing is enabled for the sequence editor and user interfaces. Specifies whether to stop on breakpoints in all executions. Set this property to True to stop on breakpoints. Set this property to False to ignore breakpoints. Specifies whether to disable recording of results for all steps. When this property is True, TestStand does not record results for steps. When this property is False, TestStand records results based on the setting of the Step.ResultRecordingOption property of each individual step or based on the Sequence.DisableResults property and the Execution.DisableResults property. Note: TestStand might not honor changes to this property in a running sequence until the sequence completes the current step group. Overrides the Sequence.FailureAction property setting when this property is True. Specifies execution options. Specifies the execution options using ExecutionMask constants. To specify multiple execution options, use the bitwise-OR operator. Specifies the action TestStand takes when executing a Goto step or evaluating a post action that specifies a new destination step while running in an interactive execution. Returns a value that indicates whether a time limit for an execution is enabled for a specific type of time limit and operation. TestStand maintains a set of time limit settings that determine whether TestStand takes an action when an execution state does not change for a specified amount of time. For example, TestStand could attempt to abort an execution if, while TestStand is attempting to shut down, a terminating execution takes longer than 10 seconds. TestStand maintains unique time limit settings for normal executions and for executions that run while the engine is exiting. For each type of execution, TestStand maintains different time limit settings for when an execution is aborting, executing, and terminating. Returns a value that indicates whether the time limit is enabled. Specifies the type of time limit for the setting the method returns. Specifies the operation type for the setting the method returns. Returns the time limit value in seconds for a specific type of time limit and operation. TestStand maintains a set of time limit settings that determine whether TestStand takes an action when an execution state does not change for a specified amount of time. For example, TestStand could attempt to abort an execution if a terminating execution takes longer than 10 seconds to shut down. TestStand maintains unique time limit settings for normal executions and for executions that run while the engine is exiting. For each type of execution, TestStand maintains different time limit settings for aborting, executing, and terminating executions. Returns the time limit in seconds. Specifies the type of time limit for the setting the method returns. Specifies the operation type for the setting that the method returns. Specifies an action for a specific type of time limit and operation TestStand takes if the time limit expires. TestStand maintains a set of time limit settings that determine whether TestStand takes an action when an execution state does not change for a specified amount of time. For example, TestStand could attempt to abort an execution if, while TestStand is attempting to shut down, a terminating execution takes longer than 10 seconds. TestStand maintains unique time limit settings for normal executions and for executions that run while the engine is exiting. For each type of execution, TestStand maintains different time limit settings for when an execution is aborting, executing, and terminating. Note: You must enable the corresponding time limit with the StationOptions.SetTimeLimitEnabled method before calling this method. Otherwise, the method does not have any effect. If a time limit is disabled, the time limit action is set to TimeLimitAction_Prompt as default. Specifies the type of time limit for the setting the method sets. Specifies the operation type for the setting the method sets. Specifies the action TestStand takes when the time limit expires. Specifies whether to display in user interfaces properties marked as hidden. When this property is True, TestStand applications display all the subproperties of property objects in dialog boxes and variables views. When this property is False, TestStand applications do not display the subproperties marked with the PropFlags_Hidden flag. Specifies if TestStand launches a File dialog box when it cannot find the necessary files in the current search directory paths. Specifies if sequence file versions are automatically incremented when the file is saved. Specifies if the sequence editor automatically increments type versions before saving modified types. The type version number is composed of the following four things in this format: Major.Minor.Revision.Build. Specifies if the sequence editor prompts the user to increment the type version before saving the modified types. Specifies if the sequence editor opens the documents that were open when the workspace was unloaded. When this property is True and you open a workspace file, the sequence editor opens the documents that were open when the workspace file was last closed. Specifies if the sequence editor opens the last workspace file loaded when it launches. If this option is True when the sequence editor launches, the sequence editor loads the workspace file the Engine.LastWorkspacePath property specifies. Specifies a test station identification string for this instance of the TestStand Engine. This property never returns an empty string. If you set this property to an empty string, this property returns the same value as the Engine.ComputerName property. Specifies how the Expression Browser dialog box specifies steps in expressions. TestStand uses this option to determine whether to replace the step name with the step ID when you construct an expression in the Expression Browser dialog box, as follows: Sequence.Main["step name"].Property. Specifies if client sequence files use the station model. When you set this property to True, the station model specified by StationModelSequenceFilePath is used when the model option for a client sequence file specifies to use the station model. When you set this property to False, sequence files only have a process model file associated with them if they explicitly specify one. Typically, sequence files do not explicitly specify a process model file. Specifies if sequence files can specify a process model file other than the current station model file. When you set this property to False, you can only load the following sequence files:     * Sequence files that do not specify a process model file    * Sequence files that specify the current station model as their process model file Specifies the pathname of the station model sequence file. If this property is a relative pathname, TestStand uses the Engine.FindFileEx method to determine the absolute pathname of the station model sequence file. Specifies the language TestStand uses to display text. Changes to this property do not take effect until the next time you start the engine or call the Engine.ReloadStringResourceFiles method. Specifies whether to use the operating system setting to determine the character used as a decimal point. When this property is True, TestStand uses the operating system setting to determine the character it uses as the localized decimal point. When this property is False, TestStand uses the period character to represent decimal points. Indicates whether TestStand recognizes extended character code sequences when it compares and processes strings. The TestStand Engine determines this based on the current system code page at launch. Note: As of TestStand 2019, this property is read-only. Attempting to set it results in a run-time error. Assigning to the current value is ignored. Obtains a list of languages TestStand supports. This method obtains an array of strings containing the list of directories that correspond to the possible language configurations supported. Specifies if a remote computer can run a sequence on the current station. Specifies whether all users from remote machines can call sequences on this computer. If you set this property to True, you do not have to configure the remote TestStand server using the dcomcnfg application. When you set this property, TestStand modifies the registry in the same manner as dcomcnfg. Note: TestStand does not use this setting unless you set the StationOptions.AllowSequenceCallFromRemoteMachine property to True. Specifies whether to show the system tray icon when the TestStand remote engine is active on this computer. Specifies if the sequence editor checks a file out from source code control when you attempt to modify the file in the sequence editor. The default value is True. If this property is True and a current workspace is specified when you attempt to edit a checked-in file, the sequence editor prompts you to check the file out from source code control. If this property is False, you can edit a read-only file in the sequence editor only when you enable the Allow Editing of Read-Only Files option in the sequence editor. Specifies if the sequence editor prompts you to add files to source code control when you add files to a workspace. When this option is True and a current workspace file is specified, the sequence editor launches a dialog box, in which you can add files to source code control whenever you add them to a workspace file. When this option is False, the sequence editor does not launch a dialog box. Specifies if the sequence editor launches a dialog box to check out files from source code control. When this property is True, the sequence editor always launches a dialog box when you check out files from source code control. When this property is False, the sequence editor checks out the files without launching the dialog box. Specifies if the sequence editor checks out only selected files in the workspace from source code control. A workspace file contains a list of project files, each project file contains a lists of sequence files, and a sequence file can contain lists of code modules and other files. When you set this option to True, the sequence editor only displays the selected file, such as a project file, in the source code control dialog boxes. When this property is False, the sequence editor displays the selected item and all the items it contains in the source code control dialog boxes. Specifies the default system source code control provider. If you do not want to specify a default source code control provider, pass an empty string as the value of this property. Note: This is a system property. Changes to this property affect all Microsoft Windows applications using source code control integration. Note: Setting StationOptions.SystemDefaultSourceCodeControlProvider fails silently if TestStand does not have sufficient privileges to modify the Windows registry. This property reflects the value stored in the Windows registry for the system source code control settings located in the string key HKEY_LOCAL_MACHINE\Software\SourceCodeControlProvider\ProviderRegKey. The key specifies the name of the HKEY_LOCAL_MACHINE\Software registry key that contains the source code control provider server name and path. (Platform: (32-bit TestStand)) On 64-bit operating systems, this registry key appears only in the 32-bit registry. Use the path HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SourceCodeControlProvider\ProviderRegKey to access the key in the registry editor. If the Engine.CurrentWorkspaceFile property is not empty and the WorkspaceFile.ProviderName property for the current workspace is empty, TestStand connects to the system default source code control provider to perform source code control operations. If the value of this property is empty, TestStand only connects to a source code control provider if the WorkspaceFile.ProviderName property for the current workspace is not empty. Specifies how many milliseconds must pass between postings of UIMsg_Trace events. Set this property to specify how many milliseconds must pass before you receive the next UIMsg_Trace event. This property is useful for slowing down the posting of trace messages to the user interface or sequence editor to allow time for processing mouse events and/or to display the trace of an execution more slowly. Note: The value of this property can never be less than the value of the StationOptions.UIMessageMinDelay property. If set to a lesser value, UIMessageDelay is automatically reset to the value of the StationOptions.UIMessageMinDelay property. Specifies the minimum value allowed for the StationOptions.UIMessageDelay property. This setting is not persisted like most StationOptions. The setting lasts only for the lifetime of the Engine. Default value is 0. Use this property to specify the minimum value allowed for the StationOptions.UIMessageDelay property for the sequence editor or user interface. Specifies if TestStand allows sequence failure, Goto cleanup, and error settings from a nested interactive execution to propagate to the invoking execution. When this property is False, TestStand saves the values of the SequenceContext.SequenceFailed, SequenceContext.GotoCleanup, and SequenceContext.SequenceErrorOccurred properties before executing a nested interactive execution, and restores the values after executing a nested interactive execution. When this property is True, TestStand allows the nested interactive execution changes to affect the execution that invokes the nested interactive execution. Specifies the time limit value in seconds for a specific type of time limit operation. TestStand maintains a set of time limit settings that determine whether TestStand takes an action when an execution state does not change for a specified amount of time. For example, TestStand could attempt to abort an execution if, while TestStand is attempting to shut down, a terminating execution takes longer than 10 seconds. TestStand maintains unique time limit settings for normal executions and for executions that run while the engine is exiting. For each type of execution, TestStand maintains different time limit settings for when an execution is aborting, executing, and terminating. Specifies the type of time limit for the setting the method sets. Specifies the operation type for the setting the method sets. Specifies the time limit in seconds. Returns the action for a specific type of time limit and operation TestStand takes if the time limit expires. TestStand maintains a set of time limit settings that determine whether TestStand takes an action when an execution state does not change for a specified amount of time. For example, TestStand could attempt to abort an execution if, while TestStand is attempting to shut down, a terminating execution takes longer than 10 seconds. TestStand maintains unique time limit settings for normal executions and for executions that run while the engine is exiting. For each type of execution, TestStand maintains different time limit settings for when an execution is aborting, executing, and terminating. Note: If a time limit is disabled, the time limit action is set to TimeLimitAction_Prompt as default. Returns the action TestStand takes when the time limit expires. Specifies the type of time limit for the setting the method returns. Specifies the operation type for the setting the method returns. Specifies whether a time limit for an execution is enabled for a specific type of time limit and operation. TestStand maintains a set of time limit settings that determine whether TestStand takes an action when an execution state does not change for a specified amount of time. For example, TestStand could attempt to abort an execution if, while TestStand is attempting to shut down, a terminating execution takes longer than 10 seconds. TestStand maintains unique time limit settings for normal executions and for executions that run while the engine is exiting. For each type of execution, TestStand maintains different time limit settings for when an execution is aborting, executing, and terminating. Specifies the type of time limit for the setting the method sets. Specifies the operation type for the setting the method sets. Specifies if the time limit is enabled. If this property is True, TestStand suspends an execution for any step that fails. If this property is False, TestStand suspends execution based on whether the ExecTypeMask_BreakOnStepFailure option is enabled for the execution. If a step in a process model sequence file fails, TestStand only suspends the execution if tracing is enabled for the sequence or if a previous suspend occurred within the sequence context. If this property is True, TestStand suspends an execution on sequence failure. If this property is False, TestStand suspends execution based on whether the ExecTypeMask_BreakOnSequenceFailure option is enabled for the execution. If a step in a process model sequence file causes the sequence to fail, TestStand only suspends the execution if tracing is enabled for the sequence or if a previous suspend occurred within the sequence context. TestStand also suspends an execution if the SequenceContext.SequenceFailed property is set during the execution of a step even when the step does not fail. Specifies the type of debug features that TestStand performs. Specify one or more DebugOptions constants. Use the bitwise-OR operator to specify multiple options. Specifies the format in which TestStand writes new files. Attempting to set to INI (or any other unsupported value) will throw an exception. Specifies which CPUs to use for threads TestStand creates and the user interface thread. This property is a number in which each bit represents a CPU. The lowest-order bit represents the first CPU. For example, a value of 12, which is 1100 in binary, represents CPUs 3 and 4 on a quad-core computer. A value of -1 specifies to use all CPUs available to the process. TestStand does not update the CPU affinity of threads for currently executing sequences when you change this property. Refer to Using TestStand on SMP Systems for more information about optimizing TestStand performance on symmetric multiprocessing (SMP) systems for multithreaded applications. Specifies how TestStand automatically resolves type conflicts. TestStand normally resolves type conflicts when TestStand loads a file with a version of a type that differs from the version of the type currently in memory and when the Use the definition that has the highest version number option on the Version tab of the Type Properties dialog box or on the Version tab of the Step Type Properties dialog box is enabled for both versions of the type. In this case, TestStand updates the file with the lower version of the type to use the higher version. Specifies the policy for when to indicate that a file being opened is modified. When you open a file, TestStand must modify the file in memory when a version of a type defined in the file is updated as a result of an automatic type conflict resolution, or if the data format of the file changes as a result of opening the file in a newer version of TestStand. In such cases, TestStand modifies the file in memory even if the policy specifies not to indicate that the file is modified. Specify one or more FileModificationIndicatorPolicies constants. Use the bitwise-OR operator to specify multiple policies. Note: This property is obsolete. Use the StationOptions.DefaultCPUAffinityForThreadsEx property instead. Getting this property on a 64-bit instance of the TestStand Engine results in an error. Setting this property on 32-bit architectures does not result in an error, but only the first 32 CPUs can be specified. Specifies which CPUs to use for threads TestStand creates and the user interface thread. This property is a number in which each bit represents a CPU. The lowest-order bit represents the first CPU. For example, a value of 12, which is 1100 in binary, represents CPUs 3 and 4 on a quad-core computer. A value of -1 specifies to use all CPUs available to the process. TestStand does not update the CPU affinity of threads for currently executing sequences when you change this property. Refer to Using TestStand on SMP Systems for more information about optimizing TestStand performance on symmetric multiprocessing (SMP) systems for multithreaded applications. When this Boolean expression is empty or evaluates to True, the Preload Progress dialog box includes a Cancel button so users can cancel preloading files. When this property evaluates to False, the dialog box does not contain a Cancel button to prevent users from cancelling preloading files. If you cancel preloading a file when you open a sequence file, the sequence file opens without preloading the code modules. If you cancel preloading files when you execute a sequence file, the execution does not initiate. You can use the CurrentUserHasPrivilege expression function to allow users to cancel preloading files based on privileges. For example, set this property to CurrentUserHasPrivilege(Priv_Terminate) || CurrentUserHasPrivilege(Priv_Abort) to allow users to cancel preloading files only when the user has terminate or abort privileges. This property only affects cancelling preloading files directly from the Preload Progress dialog box. If TestStand cannot find a file during preloading and launches a Find File dialog box, you can cancel the Find File dialog box to cancel preloading files regardless of the value of this property. When this property is True and the ApplicationMgr.LoginOnStart property is True, the LoginLogout Front-End callback sequence runs when you call the ApplicationMgr.Start method. Specifies the delay in seconds before the Preload Progress dialog box launches while preloading code modules. Specify a negative value to disable the Preload Progress dialog box but continue to preload code modules. These constants represent options you can use with the tokenizeOptions parameter of the Expression.Tokenize method. Use the bitwise-OR operator to specify more than one option. (Value: 0x0) No options. (Value: 0x1) Use this option to prevent the Expression object from removing comment tokens during tokenization. (Value: 0x3) Use this option to separately tokenize each line of an expression. If you specify this option, string constants and comments that are incomplete at the end of an expression are identified with the codes TokenCode_UnterminatedString or TokenCode_UnterminatedMultiLineComment instead of the TokenCode_Bad code. Also, a dot not followed by a letter or underscore is identified with the code TokenCode_FieldSpecifier instead of the TokenCode_Bad. Note: Specifying this option automatically specifies the TokenizeOption_PreserveComments option. (Value: 0x4) Use this option to specify that the Expression.Tokenize method recognizes C++ scope resolution and template operators when determining if a token is a valid identifier.Note: This option is only for parsing. You cannot use C++ scope resolution and template operators in identifiers in an expression you evaluate. These constants represent the operator, constant, and identifier tokens an expression can contain. The tokenCode parameter of the Expression.GetToken method returns these constants to identify the type of token you specify. (Value: 0) (Value: 1) (Value: 2) (Value: 3) (Value: 4) (Value: 5) (Value: 6) (Value: 7) (Value: 8) (Value: 9) (Value: 10) (Value: 11) (Value: 12) (Value: 13) (Value: 14) (Value: 15) (Value: 16) (Value: 17) (Value: 18) (Value: 19) (Value: 20) (Value: 21) (Value: 22 (Value: 24) (Value: 23) (Value: 25) (Value: 26) (Value: 27) (Value: 28) (Value: 29) (Value: 30) (Value: 31) (Value: 32) (Value: 33) (Value: 34) (Value: 35) (Value: 36) (Value: 37) (Value: 38) (Value: 39) (Value: 40) (Value: 41) (Value: 42) (Value: 43) (Value: 44) (Value: 45) (Value: 46) (Value: 47) (Value: 48) (Value: 49) (Value: 50) (Value: 51) (Value: 52) (Value: 53) (Value: 54) (Value: 55) (Value: 56) (Value: 57) (Value: 58) (Value: 59) (Value: 60) (Value: 61) (Value: 62) (Value: 63) Use these constants with StationOptions.InteractiveBranchMode property. (Value: 0) The interactive execution ignores all branches and executes selected steps in the order the sequence editor or user interface specifies. (Value: 1) The interactive execution allows branching within the selected steps, and all branching to non-selected steps is ignored. (Value: 2) The interactive execution allows branching within selected steps. All branches to non-selected steps automatically go to the end step and start the next interactive loop iteration, if specified. (Value: 3) The interactive execution allows branching within selected steps. All branches to non-selected steps cause a run-time error. If enabled, the Run-Time Error dialog box launches. (Value: 4) The interactive execution allows branching to selected and non-selected steps. When TestStand executes a selected step and no branch occurs, the next step is the next selected step. When TestStand executes a non-selected step and no branch occurs, the next step is the step after the non-selected step. Use the following constants with the StationOptions.TypeVersionAutoIncrementOpt property or with the versionIncOption parameter of PropertyObjectFile.CheckForModifiedTypes method. (Value: 0) Do not increment type versions. (Value: 1) Auto-increment major version number. (Value: 2) Auto-increment minor version number. (Value: 3) Auto-increment revision version number. (Value: 4) Auto-increment build version number. Use the following constants with the StationOptions.SpecifyStepsByUniqueIdInExpressions property. (Value: 1) TestStand prompts you to use a unique step ID. (Value: 2) Use unique step IDs. (Value: 3) Use step names. Use these constants to specify the breakpoint type value of the WatchExpression.BreakpointType property. (Value: 0x0) Specifies no breakpoint. (Value: 0x1) Specifies to suspend the execution when the evaluated value of the watch expression changes. (Value: 0x2) Specifies to suspend the execution whenever the coerced value of the watch expression evaluates to True. This option has no effect on arrays or containers. This data type contains values that specify a type of menu item. The constants represent the possible values for the EditTimeMenuItem.Type property. (Value: 1) Invokes a Microsoft Windows executable or command with optional arguments. (Value: 2) Initiates an execution on a sequence in a sequence file. (Value: 3) Contains additional menu items in a submenu. (Value: 4) Creates a submenu that lists all sequences in a sequence file as menu items. Use these string constants to specify the callbackName parameter of the SequenceFile.CreateCallbackOverrideSequence method. (Value: "SequenceFilePreStep") (Value: "SequenceFilePostStep") (Value: "SequenceFilePreInteractive") (Value: "SequenceFilePostInteractive") (Value: "SequenceFileLoad") (Value: "SequenceFileUnload") (Value: "SequenceFilePostResultListEntry") (Value: "SequenceFilePostStepRuntimeError") (Value: "SequenceFilePostStepFailure") (Value: "SequenceFilePostResults") These constants represent the options you can use with the Step.SpecifyModule method. Use the bitwise-OR operator to specify more than one option. (Value: 0x0) No options. (Value: 0x4) Use this option to change the function prototype of the module. (Value: 0x2) Use this option to disable expression syntax checking when closing the Specify Module dialog box. (Value: 0x1) Use this option to create a read-only version of the Specify Module dialog box. (Value: 0x10) Use this option to prevent specifying parameters to log as additional results in the Specify Module dialog box. When you use this option, the parameters control does not include a Log column and does not include an Advanced Logging menu item in the context menu. This data type contains values that specify the step group of a sequence. (Value: 2) Specifies the Cleanup step group. (Value: 1) Specifies the Main step group. (Value: 0) Specifies the Setup step group. These constants represent the options you can use with the dlgOptions parameter of the Engine.DisplayEditPathsInFilesDialog method. Use the bitwise-OR operator to specify more than one option. (Value: 0x1) Allows modifications to paths in read-only files in the dialog box. (Value: 0x0) No options. (Value: 0x20000) Creates a read-only version of the dialog box. (Value: 0x10000) By default, the dialog box is modal to the last active window of the calling thread, or if none exists, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. Use objects of the WatchExpression class to monitor the values of properties and variables using expressions. Typically, you use WatchExpression objects to display run-time values in a Watch View pane in a user interface. A WatchExpression object defines an expression TestStand evaluates during sequence execution. You can configure a conditional breakpoint on a watch expression. The breakpoint suspends execution when a value of the watch expression changes, or whenever the coerced value of the watch expression evaluates to True. The TestStand Engine maintains a list of watch expressions and evaluates conditional breakpoints during execution. You can also specify the scope of the watch expression, which specifies whether the expression applies to all executions of the client sequence file or only the current execution, and whether to evaluate the watch expression only when executing within a specific sequence file or sequence. Use the collection object the Engine.GetWatchExpressions method returns to manage a watch expression list. You can create new watch expressions by using the WatchExpressions.Insert method, which adds a new watch expression to the collection and returns the new object. To add a watch expression to the list the engine maintains and monitors, pass True for the insertInEngine parameter. Evaluates the watch expression and returns the result. TestStand evaluates the watch expression within the context of the PropertyObject on which you call this method. This means that the expression can reference the subproperties of the PropertyObject as variables. This method modifies the context if the expression contains operators or method calls that change property values. This method throws an exception if the evaluation of the watch expression fails. Result of the expression, in the form of PropertyObject. The PropertyObject can contain a value of any type depending on the expression. The returned PropertyObject is the actual object and not a copy. Specifies the SequenceContext to use while evaluating the watch expression. This context must be associated with a currently running execution. Pass 0 for this parameter. Specifies the name of the client sequence file associated with the watch expression. Every watch expression created in the sequence editor Watch View pane is associated with a client sequence file, and is visible only within executions that use the specified client sequence file. By default, a watch expression is associated with the client sequence file that was executing when the watch expression was created. The watch expression is valid throughout the execution of the specified client sequence file, unless it is restricted by other scope properties, such as sequence filename or sequence. All scoping properties have the suffix Scope attached to their name. A watch expression without an associated client sequence file is called a global watch expression. Global watch expressions are visible in executions for all client sequence files, unless restricted by other scope properties. You can create Global watch expressions using the Watch Expressions tab of the Edit Breakpoints/Watch Expressions dialog box. Specifies the sequence file to which the watch expression applies. Limits the scope of a watch expression by associating the object with a particular sequence file. The TestStand Engine only evaluates a watch expression when a sequence in the specified sequence file is executing. Set this property to an empty string to instruct TestStand to evaluate the watch expression for all sequence files. You can specify a sequence filename or an absolute path name. Use the WatchExpression.SequenceScope property to limit the scope of the watch expression to sequences with a particular name. Specifies the name of the sequence to which the watch expression applies. Limits the scope of the watch expression by associating the object with a particular sequence name. The TestStand Engine evaluates a watch expression only when the specified sequence executes. Set this property to an empty string to evaluate the watch expression for all sequences. Specifies the execution to which the watch expression applies. Limits the scope of the watch expression by associating the object with a particular execution. The TestStand Engine only evaluates a watch expression for the specified execution. Watch expressions that apply to a specific execution are discarded when you release the execution. Set this property to NULL to associate the watch expression with all executions for the specified client sequence file. Watch expressions that apply to all executions are automatically saved and reloaded if the Engine.PersistWatchExpressions property is set to True. Specifies the expression for the watch expression. Set this property to a variable name, property name, or expression. Call the WatchExpression.Evaluate method to evaluate the expression against a specific context. Specifies the numeric format to use when displaying the value the WatchExpression.Evaluate method returns. This property applies only to watch expressions that evaluate to numeric, container, or array values. For arrays and containers, the numeric format applies to all the subproperties of an array or container. The syntax of the numeric format string is identical to the format string the C printf function accepts, with the following exceptions:     * Place a $ character after the % character in the format string to remove trailing zeros after the decimal point.    * Use a format code of %b to format a number in binary.    * Specify an empty string to set the format to the default numeric format. Specifies the type of the conditional breakpoint settings for the watch expression. The TestStand Engine maintains and monitors a list of watch expressions and evaluates conditional breakpoint settings during execution. You can add a watch expression to the list that the engine maintains and monitors by passing True to the insertInEngine parameter of the WatchExpressions.Insert method. Breakpoints are ignored if you disable them using the StationOptions.BreakpointsEnabled property. Returns a value that indicates whether the suspension of the execution was a result of the breakpoint condition being met for the watch expression. Call this method after the TestStand Engine suspends an execution. Multiple watch expressions can return True for this method simultaneously if their breakpoint conditions are satisfied. This method returns the same value until the engine evaluates the watch expression again. Returns True if the breakpoint condition has been met. Otherwise, returns False. Specifies the sequence context for the suspended execution. Launches the Watch Expression Settings dialog box, in which you can edit the settings of the watch expression. Returns True if the user clicks OK. Otherwise, returns False. Specifies the title of the dialog box. Pass an empty string to use the default title for the dialog box. Specifies the sequence context the dialog box uses to evaluate expressions specified for the watch expression. You can use the Engine.NewEditContext method to obtain an edit-time sequence context. Specifies any combination of the CommonDialogOptions constants Returns an identification string unique to this watch expression in all instances of the TestStand Engine. The unique ID of a watch expression persists if the watch expression persists. Specifies if TestStand attaches a watch expression to a sequence context that matches the scoping properties of the watch expression. While the attached sequence context is valid, the watch expression uses the sequence context to evaluate the watch expression, even if the thread adds additional call stack levels by invoking subsequences. If this property is set, TestStand automatically caches the scoping context when a thread enters a specified scope. Otherwise, use the active context to evaluate the watch expression. This property defaults to False. Returns the scoping context, if any, associated with the watch expression. The scoping context is stored when the WatchExpression.UseScopingContext property is True and a thread enters the specified scope. The context is released if the UseScopingContext property is False or if the specified scope is changed. The sequence context associated with the specified scope. Returns NULL if a sequence context is not associated with the scope or if the WatchExpressionUseScopingContext property is False. Specifies a reference to the sequence context from the current execution. Objects of the WatchExpressions class are collections of objects of the WatchExpression class. Returns a reference to an item at the specified index in the collection. The item at the specified index. Specifies the index of the item to retrieve within the collection. Returns the number of items in the collection. Adds a new item to the collection and inserts it into the watch expression list. The TestStand Engine maintains a list of watch expressions. The engine automatically evaluates watch expressions with conditional break settings during execution. The engine only monitors for value changes in watch expressions for which the current sequence context matches the scope the WatchExpression.ClientSequenceFile, WatchExpression.ExecutionScope and WatchExpression.SequenceScope properties define. To add the newly created watch expression to the watch expression list the engine maintains, pass True for the insertInEngine parameter. If the Engine.PersistWatchExpressions property is True, the engine associates the list of watch expressions with the current workspace. When you change the current workspace, the engine automatically saves the current watch expression list associated with the new workspace. The engine saves the watch expression list every time TestStand saves the workspace or sequence files in it. The newly created watch expression. Specifies a reference to a WatchExpression object already in the list to specify the object before which TestStand inserts the new WatchExpression object. Pass NULL to insert the new object at the end of the list. Specifies the client sequence file to associate with the newly created WatchExpression object. Pass NULL to create a global watch expression, a watch expression associated with no client sequence file. If this parameter is not specified, the parameter defaults to NULL. Specifies whether to insert the new WatchExpression object in the watch expression list the engine maintains. Pass True to add the watch expression to the collection and to the watch expression list the engine maintains. Pass False to add only the new watch expression to the collection. If no value is specified, the behavior is the same as passing True. Removes a watch expression from the collection and the watch expression list that the engine maintains. This method removes only the watch expression from the collection and the watch expression list that the engine maintains. To delete the WatchExpression object itself, you must release any references to the object after calling this method. This method does not return an error if the WatchExpression object is not in the collection or in the watch expression list that the engine maintains. Specifies a reference to the WatchExpression object to remove from the collection. Removes all WatchExpression objects from both the collection and the watch expression list the engine maintains. This method releases only the references to the WatchExpression objects the collection and the engine hold. To delete the WatchExpression objects, you must release any other references to the WatchExpression objects. Clones the WatchExpression objects in the collection and returns the cloned objects in a new collection. A WatchExpression object collection that contains clones of the WatchExpression objects in the original collection. Specifies if TestStand adds the new WatchExpression objects to the watch expression list the engine maintains. Pass True to add the watch expressions to the cloned collection and to the watch expression list the engine maintains. Pass False to add only the new watch expression to the cloned collection. If no value is specified, the behavior is the same as passing True. Use these constants to specify filtering options for the Engine.GetWatchExpressions method. To be included in the returned list, a watch expression must meet all the specified filters. (Value: 0x0) Specifies that only the clientSequenceFile parameter of the Engine.GetWatchExpressions method filters the returned list. This returns all watch expressions if the clientSequenceFile parameter is empty or only the watch expressions that specify a WatchExpression.ClientSequenceFile property that matches the clientSequenceFile parameter. (Value: 0x1) Specifies that global watch expressions that do not specify a client sequence file pass through the client sequence file filter. The global watch expressions included are in addition to the watch expressions that match the clientSequenceFile parameter of the Engine.GetWatchExpressions method. (Value: 0x2) Specifies that only watch expressions associated with the execution the scopingSeqContext parameter of the Engine.GetWatchExpressions method specifies pass through this filter. Watch expressions that are not associated with any execution pass through this filter. (Value: 0x4) Specifies that only watch expressions that specify a WatchExpression.SequenceFileScope property that matches the currently executing sequence file the seqContext parameter of the Engine.GetWatchExpressions method specifies pass through this filter. Watch expressions that do not specify a sequence file scope pass through this filter. (Value: 0x8) Specifies that only watch expressions that specify a WatchExpression.SequenceScope property that matches the currently executing sequence the seqContext parameter of the Engine.GetWatchExpressions method specifies pass through this filter. Watch expressions that do not specify a sequence scope pass through this filter. These constants represent the options you can use with the options parameter of the WorkspaceFile.SaveWorkspaceAndProjectFiles method. Use the bitwise-OR operator to specify more than one option. (Value: 0x0) No options. (Value: 0x1) If this flag is set, TestStand prompts the user to save all modified files. (Value: 0x2) If this flag is set, TestStand skips the workspace file. (Value: 0x4) If this flag is set, TestStand skips all read-only files. These constants represent the options you can use with the dlgOptions parameter of the Engine.DisplayEditBreakAndWatchDialog method. Use the bitwise-OR operator to specify more than one option. By default, TestStand displays both the Breakpoints and Watch Expression tabs. (Value: 0x0) Specifies no options. TestStand displays both the Breakpoints and Watch Expressions tabs. (Value : 0x10000) By default, the Edit Breakpoints/Watch Expressions dialog box is modal to the last active window of the calling thread, or if none exists, to the last active window from AppMainHwnd. If you set this option, the Edit Breakpoints/Watch Expressions dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. (Value: 0x1) Use this option to display only the Breakpoints tab of the Edit Breakpoints/Watch Expressions dialog box. ( Value: 0x2) Use this option to display only the Watch Expressions tab of the Edit Breakpoints/Watch Expressions dialog box. (Value: 0x20000) Use this option to create a read-only version of the Edit Breakpoints/Watch Expressions dialog box. This collection class contains objects of the Picture data type. Use the Engine.Images property to acquire the collection object. The collection specifies the images TestStand loads from the <TestStand>\Components\Icons and <TestStand Public>\Components\Icons directories and images you add using the Engine.AddImage method. Use the Images.FindImage method to find an image using an image name. Use the Images collection as an alternative to using the Engine.LargeImageListEx and Engine.SmallImageListEx properties. Returns a reference to an item at the specified index in the collection. Specifies a zero-based index. Returns the number of items in the collection. Searches the collection for an image with a specific name. Returns the image in a Picture object. This method errors if the image is not found. Specifies the name of the image to find. Typically, the name includes the filename and file extension. Icon files are located in the <TestStand>\Components\Icons and <TestStand Public>\Components\Icons directories. Specifies the width, in pixels, of the image to return. Specifies the height, in pixels, of the image to return. Objects of the EditTimeMenuItem class represent menu items in the sequence editor or user interface. A menu item is a command, a call to a sequence, a submenu, or a submenu of calls to sequences in a sequence file. EditTimeMenuItem objects specify the menu item type, which includes paths and arguments for commands, paths for sequence files, and names of sequences. Each object specifies an expression for evaluating item text at run time, and expressions that determine whether the item is enabled or visible at run time. Use the Engine.GetEditTimeToolMenuItems method to obtain a reference to a collection of EditTimeMenuItem objects for the TestStand Tools menu. Use this collection to customize the contents of the Tools menu. Use the Engine.GetRunTimeToolMenuItems method to obtain a reference to a collection of RunTimeMenuItem objects, which represent an evaluated version of the Tools menu. Use this collection to determine what is displayed in the Tools menu at run time. Specifies the type of Tools menu item. If you set this property to ToolMenuType_SubMenu, TestStand assigns an EditTimeMenuItems collection object to SubMenuItems. Specifies the expression TestStand uses to determine the menu item text at run time. Specifies the expression TestStand uses to determine whether the menu item is enabled at run time. Specifies the expression TestStand uses to determine whether the menu item is visible at run time. TestStand excludes any edit-time menu items with hidden expressions that evaluate to False from the run-time collection. Specifies that a menu separator precedes the Tools menu item. Specifies the path to the sequence file for sequence and sequence file menu types. This property applies only when the EditTimeMenuItem.Type property is set to ToolMenuType_SequenceFile or ToolMenuType_Sequence. The run-time copy of the Tools menu automatically expands submenus for menu items using the ToolMenuType_SequenceFile type, where each submenu item is a menu item using the ToolMenuType_Sequence type. Specifies the name of the sequence that TestStand launches in an execution for sequence menu item types. Specifies the path to the executable or system command the menu item invokes. Specifies the command-line arguments to pass to the command the EditTimeMenuItem.CommandPath property specifies. This property applies only when the EditTimeMenuItem.Type property is set to ToolMenuType_Command. Specifies the initial working directory when invoking the command the EditTimeMenuItem.CommandPath property specifies. Specifies whether the properties of the menu item display as read-only. Returns a collection of Tools menu items that represent the submenu for the menu item. The collection exists only when the EditTimeMenuItem.Type property is set to ToolMenuType_SubMenu. Otherwise, this property returns NULL. Specifies if the Tools menu item edits the selected sequence file. This property applies only to sequence and sequence file item types. The sequence editor uses this option to determine whether to prompt the user to check out the selected file from source control if it is not already checked out. Specifies an expression defining the command-line arguments to pass to the command that the EditTimeMenuItem.CommandPath property specifies. This property applies only when the EditTimeMenuItem.Type property is set to ToolMenuType_Command. The EditTimeMenuItems class specifies a collection of EditTimeMenuItem objects. An EditTimeMenuItem object represents a menu item such as a command, a call to a sequence, a submenu, or a submenu of calls to sequence in a sequence file. Each object in the collection specifies the menu item type and the expressions which determine the item text, hidden state, and enabled state. A submenu item specifies a collection of menu items in the submenu. Use the Engine.GetEditTimeToolMenuItems method to obtain a reference to a collection of this class for the Tools menu. Use this collection to customize the contents of the Tools menu. Returns a reference to an item at the specified index in the collection. Specifies the zero-based index of the item to retrieve. Returns the number of items in the collection. Adds a new item to the collection. Specifies the type of menu item to insert. Specifies the index where the new menu item is inserted. If you pass -1, the new item is inserted at the end of the list. Removes the menu item at the specified index. Specifies the zero-based index of the item to remove. Moves the menu item specified by a specific index to a new index within the list. Specifies the zero-based index of the item to move. Specifies a zero-based index determining where to move the menu item to. Objects of the RunTimeMenuItem class represent an evaluated version of a EditTimeMenuItem object. The properties of the RunTimeMenuItem object specify the item text, if the menu item is disabled, and if a separator appears before it. You can use the RunTimeMenuItem.InvokeItem method to execute the item, which launches a sequence in a new execution or an executable. Use the Engine.GetRunTimeToolMenuItems method to obtain a reference to a collection of this class for the Tools menu. Use this collection to determine what to display in the Tools menu at run time. Executes the action the menu item specifies. This method has no effect when called on a menu item that represents a submenu. Specifies which items in the user interface are currently selected. Pass 0 for this parameter. Returns a collection of Tools menu items that represent the submenu for the menu item. This property only exists when the value of the EditTimeMenuItem.Type property is ToolMenuType_SubMenu or ToolMenuType_SequenceFile. Returns from the EditTimeMenuItem.ItemTextExpression property the menu item text the expression defines. Returns a value that indicates whether the expression the EditTimeMenuItem.EnabledExpression property defines returned True or False. Returns a value that indicates whether a menu separator precedes the Tools menu item. Returns a value that indicates whether the tools menu item edits the selected sequence file. This property applies only to sequence and sequence file item types. The sequence editor uses this option to determine whether to prompt the user to check out the selected file from source code control, if it is not already checked out. The RunTimeMenuItems class specifies a collection of RunTimeMenuItem objects, which represent an evaluated version of a EditTimeMenuItem object. The properties of the RunTimeMenuItem object specify the item text and if the menu item is disabled. You can use the RunTimeMenuItem.InvokeItem method to execute the item, which launches an executable or a sequence in a new execution. Use this collection to determine what to display in the Tools menu at run time. Use the Engine.GetRunTimeToolMenuItems method to obtain a reference to a collection of this class for the Tools menu. Returns a reference to an item at the specified index in the collection. Specifies the zero-based index of the item to retrieve. Returns the number of items in the collection. These constants represent the options you can use with the options parameter of the PropertyObjectFile.CheckForModifiedTypes method. (Value: 0x0) Specifies to use the Before Saving Modified Types option on the File tab of the Station Options dialog box. (Value: 0x1) Specifies to disable the PropTypeFlags_IsModifiedType flag for a modified type and increment the version number of the type. (Value: 0x2) Specifies to launch a warning dialog box if a modified type is found. (Value: 0x4) Specifies to perform no action if a modified type is found. (Value: 0xC) Specifies to disable the PropTypeFlags_IsModifiedType flag for a modified type. These constants represent the options you use with the options parameter of the Engine.LoadTypePaletteFilesEx method. (Value: 0x0) Specifies the default behavior, which is to return an error to the caller of the method. (Value: 0x1) Specifies to not return an error and to launch a warning dialog box that contains a description of all errors that occurred while loading the type palette files. A SelectedBreakpointItem object specifies a breakpoint in a sequence file. Use this object for the selectedItemParam parameter of the Engine.DisplayEditBreakAndWatchDialog method, which returns the last selected item on the Breakpoints tab of the Edit Breakpoints/Watch Expressions dialog box when the user clicks the Goto button. The selected item can be a sequence file, sequence, or step. Returns the selected sequence file. TestStand returns an empty reference if no item was selected. Returns the name of the selected sequence. TestStand returns an empty string if only the sequence file of a breakpoint was selected. Returns the step group that contains the selected breakpoint. The return value for this parameter is meaningless if only the sequence file or sequence of a breakpoint was selected. Returns the ID of the step that has the selected breakpoint. TestStand returns an empty string if only a sequence file or sequence was selected. Returns a value that indicates whether the selected breakpoint was on the End marker in the sequence. Returns True if the selected breakpoint is on the End marker. Otherwise, returns False. This data type contains values that specify the type of batch synchronization. The constants represent the possible values for the SequenceFile.BatchSyncOption property. (Value: 1) Uses the same option the model uses. (Value: 2) Batch synchronization is not used on this step. (Value: 3) Use a Serial section to ensure that each thread in the batch executes the steps in the section sequentially and in the order you specify when you create the batch. When all threads in a batch arrive at their respective instances of an Enter step for a Serial section, TestStand releases one thread at a time in ascending order according to the order number you assign to the threads when you add them to the batch using the Batch Specification step. As each thread reaches the Exit step for the section, the next thread in the batch proceeds from the Enter step. After all the threads in the batch arrive at the Exit step, they exit the section together. (Value: 4) When all threads in a batch arrive at their respective instances of an Enter step for a Parallel section, TestStand releases all the threads at once. Each thread waits at the Exit step for the section until all threads in the batch reach that step. (Value: 5) Use a One Thread Only section to specify that only one thread in the batch executes the step in the section. Typically, you use this type of section to perform an operation that applies to the batch as a whole, such as raising the temperature in a test chamber. When all threads in a batch arrive at their respective instances of an Enter step for a One Thread Only section, TestStand releases only the thread with the lowest Order Number. When that thread arrives at Exit step for the section, all remaining threads in the batch jump from the Enter step to the Exit step, skipping the steps within the section. The threads in the batch then exit the section together. Use these constants with the Engine.LicenseType property to determine the type of license the TestStand Engine is using. (Value: 1) Indicates that TestStand is using a TestStand Development System License. (Value: 2) Indicates that TestStand is using a TestStand Debug Deployment Environment License. (Value: 3) Indicates that TestStand is using a TestStand Base Deployment Engine License. (Value: 4) Indicates that TestStand is using an OEM license. (Value: 5) Indicates that TestStand is using an Evaluation license. (Value: 6) Indicates that TestStand is using no license. (Value: 7) Indicates that TestStand is using a temporary license. TestStand acquires a temporary license when NI License Manager cannot access the Volume License server. (Value: 8) Indicates that TestStand cannot determine the type of license. (Value: 9) Indicates that TestStand is using a TestStand Custom Sequence Editor License. Use these constants with the Execution.GetSequenceDefaultValues, Execution.SetSequenceDefaultValues, and Execution.ClearSequenceDefaultValues methods to specify whether the method operates on the list of default value sequences for the execution or hierarchy of executions with which the execution is associated. You can associate default value sequences with either a specific execution or the hierarchy of executions with which this execution is associated. For example, setting a default value sequence on the hierarchy of executions associated with a Batch model applies the default value sequence to the controlling batch execution and all test socket executions. If an execution and the execution hierarchy both specify a default value sequence, TestStand uses the default value sequence the execution specifies. (Value: 1) Specifies to operate on the list of default value sequences for the execution. (Value: 2) Specifies to operate on the list of default value sequences for the hierarchy of executions with which the execution is associated. Flags that indicate how a step affects the block structure of the sequence. (Value: 0) No BlockFlags are present. (Value: 1) The step opens a block, matched or unmatched. The step is not within the block. (Value: 2) The step closes a block. The step is not within the block. (Value: 4) The step is the first step within the block. (Value: 8) The step is the last step within the block. (Value: 16) The step opens or closes a block, but the matching step does not exist. (Value: 32) The step defines or operates according to the block structure of the sequence. Use these constants with the PropertyObjectFile.Protection property or the PropertyObject.SetTypeDefinitionProtection method. These constants specify the protection level applied to the file or type definition. (Value: 0) Specifies a normal file or type definition with no protection. (Value: 1) Specifies that the file or type definition is not editable in the sequence editor or applications that use the TestStand User Interface (UI) Controls. This option does not prevent editing or access to the contents of the file or type definition using the TestStand API. (Value: 2) Specifies that the file is not viewable in the sequence editor or applications that use the TestStand UI Controls. This option does not prevent editing or access to the contents of the file using the TestStand API. The PropertyObject.SetTypeDefinitionProtection method does not support this option. These constants represent the options you can use with the options parameter of the Engine.DisplayLockUnlockDialog method. Use the bitwise-OR operator to specify more than one option. (Value: 0) Specifies to lock or unlock the object depending on the locked state of the object. (Value: 1) Specifies to launch a dialog box that prompts for a password to perform a lock operation. This option is ignored if you are attempting to lock a specific object. (Value: 2) Specifies to launch a dialog box that prompts for a password to perform an unlock operation. This option is ignored if you are attempting to unlock a specific object. (Value: 0x10000) By default, the dialog box is modal to the last active window of the calling thread, or if none exists, to the last active window from AppMainHwnd. If you enable this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. (Value: 4) Specifies that the dialog box does not display the control that provides the option to remember the password when unlocking a file. Use these constants to specify the type of debug operations TestStand performs. (Value: 0x10) During shut down of the TestStand Engine, TestStand launches a dialog box that contains a list of any operating system issues or component-related issues that can cause leaks in memory, Graphics Device Interface, and User object resources in TestStand. (Value: 0x0) Disables all debugging features. (Value: 0x1) The LabWindows/CVI (in-process), C/C++ DLL, and ActiveX Adapters verify that the content of a thread stack does not change while calling code modules. (Value: 0x2) The LabWindows/CVI and C/C++ DLL Adapters verify that the code module does not modify the memory that surrounds the buffer parameters passed to code modules. The adapters also verify that code modules do not modify const string parameters. (Value: 0x4) During shutdown of the engine, TestStand launches a dialog box that contains a list of any top-level Property Objects with unreleased references. (Value: 0x8) Instructs TestStand to send output messages to the debugger when you call the OutputMessage.Post method. The properties of a Location object contain enough information for a user interface to find a specific piece of data the user interface displays. For an execution location, specifies the display name of the thread. Specifies whether the location is a file, execution, or type location. For a file location, this property specifies the absolute path of the file of which the Location.PropertyPath property is a subproperty. For an execution location, this property specifies the absolute path of the sequence file of the executing sequence. For a type location, this property specifies the absolute path of the file in which the type is saved. For a file location, this property specifies the ID of the file of which the Location.PropertyPath property is a subproperty. For an execution location, this property specifies the ID of the sequence file of the executing sequence. For a type location, this property specifies the ID of the file in which the type is saved. Specifies the lookup string for this location. For a file location, this property is relative to the file the Location.FileId and Location.FilePath properties specify. For an execution location, this property is relative to the sequence context the Location.ContextId property specifies. For a type location, this property is relative to the type the Location.TypeName property specifies. For a workspace file location, this property is relative to the WorkspaceObject the WorkspaceFile.RootWorkspaceObject property returns. For a file location, this property specifies the name of the sequence of which the Location.PropertyPath property is a subproperty. This property is empty if the Location.PropertyPath property is not a subproperty of a sequence. For an execution location, this property specifies the name of the executing sequence. For a file location, this property specifies the step group of which the Location.PropertyPath property is a subproperty. The value is -1 if the Location.PropertyPath property is not a subproperty of a step group. For an execution location, this property specifies the step group of the executing step. For a file location, this property specifies the name of the step of which the Location.PropertyPath property is a subproperty. This property is empty if the Location.PropertyPath property is not a subproperty of a step. For an execution location, this property specifies the step name of the executing step. For a file location, this property specifies the unique step ID of the step of which the Location.PropertyPath property is a subproperty. This property is empty if the Location.PropertyPath property is not a subproperty of a step. For an execution location, this property specifies the unique step ID of the executing step. For a file location, this property specifies the index of the step of which the Location.PropertyPath property is a subproperty. This property is -1 if the Location.PropertyPath property is not a subproperty of a step. For an execution location, this property specifies the step index of the executing step. For an execution location, specifies the ID of the execution. For an execution location, specifies the ID of the executing thread. For an execution location, this property specifies the ID of the sequence context to which the Location.PropertyPath property is relative. For a file location, this property specifies the ID of the sequence context which has properties that correspond to properties of this location. For a type location, this property specifies the name of a root type definition. Location.PropertyPath specifies a subproperty of the root type definition this property specifies. For a type location, specifies the type category of the root type definition the Location.TypeName property specifies. Specifies a part of the property object which the Location.PropertyPath property specifies. Specifies the zero-based starting index of the selection of the text that the Location.Element property refers to. A user interface only uses this property if Element specifies a value, name, comment, or numeric format. Specifies the number of selected characters of the text that the Location.Element property refers to. A user interface only uses this property if Element specifies a value, name, comment, or numeric format. For a file location, specifies the display name of the file of which the Location.PropertyPath property is a subproperty. For an execution location, specifies the display name of the sequence file of the executing sequence. For a type location, specifies the display name of the file in which you saved the type. Specifies the lookup string for this location. The lookup string includes names instead of a numeric index for elements of object arrays if the name is not empty. The name of an object element in an array is not guaranteed to be unique within the array. Do not use this property with methods that have a lookup string parameter, such as the PropertyObject.GetPropertyObject method and the PropertyObject.Exists method. Use the Location.PropertyPath property if you want an unambiguous lookup string. For a file location, this property is relative to the file the Location.FileId and the Location.FilePath properties specify. For an execution location, this property is relative to the sequence context the Location.ContextId property specifies. For a type location, this property is relative to the type the Location.TypeName property specifies. For a workspace file location, this property is relative to the WorkspaceObject the WorkspaceFile.RootWorkspaceObject property returns. For an execution location, specifies the display name of the execution. Specifies the portion of Location.PropertyPath before any top-level attribute or top-level type attribute. If the Location.PropertyPath property does not specify an attribute location, this property has the same value as the Location.PropertyPath property. Specifies the portion of the Location.PropertyPath property value that starts with the top-level attribute or top-level type attribute. If the Location.PropertyPath property does not specify an attribute location, this property is an empty string. If the Location.PropertyPath property specifies an attribute location, this property always starts with Attributes or TypeAttributes. Locations is a collection of Location objects. Use Locations to instruct the user interface to update the selection. Follow these steps to set the selection in a user interface:    * Call the Engine.NewLocations method to create a Locations object.    * Call the Locations.AddFileLocation, Locations.AddExecutionLocation, or Locations.AddTypeLocation method on a Locations object to specify data for the user interface to select.    * Call the Locations.GotoLocation method on the Locations object to send the Locations object to the user interface.    * The user interface receives the Locations object through the UIMessage.ActiveXData property of a UIMsg_GotoLocation UIMessage.    * If the user interface supports the Goto location action, it updates the selection to correspond to the Locations object. Returns a reference to an item at the specified index in the collection. Specifies the zero-based index of the item to retrieve. Returns the number of items in the collection. Adds a new file location to the collection. The Location added to the collection. Specifies ss the file to initialize the Location.FileDisplayName, Location.FileId, and Location.FilePath properties. Specifies a subproperty of the file parameter. This method sets the Location.PropertyPath property of the new Location to the lookup string to lookupString from file. This method also sets as many properties of the new Location as this method can obtain from the object you pass. This method specifies the lookupString parameter relative to the root of the PropertyObjectFile object. For example, if the location is underneath the PropertyObjectFile.Data element, the lookup string must use the Data. prefix. Specifies the value of the Location.Element property of the new location. Specifies the value of the Location.SelStart property of the new location. Specifies the value of the Location.SelLength property of the new location. Adds a new execution location to the collection. The Location added to the collection. Specifies the sequence context to initialize the Location.ContextId, Location.ExecutionId, and Location.ThreadId properties. Specifies the path to a subproperty of the seqContext parameter. This method sets the Location.PropertyPath property of the new Location using the lookup string you pass. This method also sets as many properties of the new Location as this method can obtain from the subproperty this parameter specifies. Specifies the value of the Location.Element property of the new location. Specifies the value of the Location.SelStart property of the new location. Specifies the value of the Location.SelLength property of the new location. Adds a new type location to the collection. The Location added to the collection. Specifies the file in which the type you pass to the rootTypeDef parameter is saved. Specifies a type definition. This method sets the Location.TypeName and Location.TypeCategory properties of the new Location from the root type definition this parameter specifies. This method also sets the Location.PropertyPath property of the new Location using the lookupString parameter. Specifies the path to a subproperty of the rootTypeDef parameter. This method sets the Location.PropertyPath property of the new Location using the lookup string you pass. This method also sets as many properties of the new Location as this method can obtain from the subproperty this parameter specifies. Specifies the value of the Location.Element property of the new location. Specifies the value of the Location.SelStart property of the new location. Specifies the value of the Location.SelLength property of the new location. Adds the Location objects from a specified Locations to the end of this Locations. Specifies Locations to append to this Locations. Specifies whether this method copies locationsToAdd before adding them to the collection. Removes the specified item from this collection, if it exists. Specifies the zero-based index of the item to remove. Removes all items from this collection. This method sends this Locations collection to the user interface in a synchronous UIMsg_GotoLocation user interface message. If the user interface supports GotoLocation, the user interface displays this location by updating which controls are visible and active and by updating the selected state of controls. After you call this method, you can use the Locations.LocationFound property to see if the user interface successfully went to the location. If the Locations.LocationFound property is False, you can use the Locations.LocationNotFoundMessage property to obtain a description of why the user interface could not go to the location. Specifies any combination of GotoLocationOptions. Holds a data item you associate with the Locations object. Specifies where to display a location in a user interface when the user interface can display the location in more than one place. When you handle the UIMsg_GotoLocation user interface message, set this property to True to indicate that the user interface selected the Locations collection. If you do not set this property to True, the Locations.GotoLocation method displays an error to indicate that the user interface could not go to the Locations. When you handle the UIMsg_GotoLocation user interface message and do not set the Locations.LocationFound property to True, set this property to a message to explain why the user interface could not go to the Locations. The Locations.GotoLocation method includes this message in the error it displays when LocationFound is False. Adds a new file location to the collection. The Location added to the collection. Specifies any PropertyObject, such as step, sequence, variable, or sequence context. This method sets as many properties of the new Location object as this method can obtain from the object you pass. Specifies the value of the Location.Element property of the new location. Specifies the value of the Location.SelStart property of the new location. Specifies the value of the Location.SelLength property of the new location. Adds a new execution location to the collection. The Location added to the collection. Specifies the sequence context to initialize the Location.ContextId, Location.ExecutionId, and Location.ThreadId properties. Specifies a subproperty of the seqContext parameter. This method sets the Location.PropertyPath property of the new Location to the lookup string to obj from seqContext. This method also sets as many properties of the new Location as this method can obtain from the object which you pass. Specifies the value of the Location.Element property of the new location. Specifies the value of the Location.SelStart property of the new location. Specifies the value of the Location.SelLength property of the new location. Adds a new type location to the collection. The Location added to the collection. Specifies the file in which the type you pass to the obj parameter is saved. Specifies a type definition. This method sets the Location.TypeName and Location.TypeCategory properties of the new Location from the root type definition that contains the type definition you pass. This method sets the Location.PropertyPath property of the new Location to the lookup string to obj from the root type definition of obj. Specifies the value of the Location.Element property of the new location. Specifies the value of the Location.SelStart property of the new location. Specifies the value of the Location.SelLength property of the new location. This property specifies if calling the Locations.GotoLocation method can display the location in a dialog box. If you handle the UIMsg_GotoLocation user interface message, check the value of this property before displaying a location in a dialog box. The default value of this property is True. If the user interface cannot go to the location, the Locations.GotoLocation method uses the options parameter to determine whether to launch a dialog box to inform the user that the user interface could not go to the location. Use this method to add a new file location from an API call to the collection. Specifies the base object to use with the apiLocation parameter as the location to add. Pass the APILocations enumeration to use as the location to add. Specifies the file associated with the base object. Use this parameter only if the baseObj parameter is a type definition. TestStand ignores this parameter if the baseObj parameter is not a type definition. Returns a PropertyObject representation of the Locations collection. You can use the PropertyObject to persist the collection. Note: The PropertyObject representation does not store the value of the Locations.UserData property. Restores the Locations state the Locations.ToPropertyObject method stores in the PropertyObject. Specifies the PropertyObject. Sends the Locations collection to the user interface the applicationPath parameter specifies. If the user interface supports the Locations.GotoLocation method, the user interface displays the location by updating which controls are visible and active and by updating the selected state of controls. If the applicationPath parameter specifies the path of the currently executing user interface, this method behaves the same as the Locations.GotoLocation method. Otherwise, this method differs from the Locations.GotoLocation method in the following ways:     * This method supports only Locations of LocationKind_File type.    * If the applicationPath parameter specifies the path of a user interface that is currently executing, this method attempts to go to the location in that instance of the user interface. Otherwise, this method starts a new instance of the user interface and attempts to go to the location in that instance.    * This method does not set the Locations.LocationFound property and does not use the Locations.LocationNotFoundMessage property when the applicationPath parameter specifies an external user interface. Specifies the absolute path of the user interface application. Specifies any combination of GotoLocationOptions. This method does not use the GotoLocationOption_DoNotDisplayMessageIfLocationNotFound option unless the applicationPath parameter specifies the path of the currently executing user interface. A user interface receives objects that implement the UndoItem interface through the UIMessage.ActiveXData property of a UIMsg_PushUndoItem UI Message. A user interface uses the UndoItem.EditedFile property to find an appropriate UndoStack to push the undo item onto. You can also use the UndoItem interface to make an edit to a TestStand file undoable if the UndoItemCreator does not provide enough functionality to undo an edit. To do this, create a COM object that implements the UndoItem interface and send an instance of the object to the sequence editor using a UIMsg_PushUndoItem UI Message. Note: LabVIEW and LabWindows/CVI do not support implementing custom objects for this interface. Returns the file the UndoItem.Undo and UndoItem.Redo methods modify. Use this property to associate an undo item with an UndoStack object. Returns the objects the UndoItem.Undo and UndoItem.Redo methods modify. Calling this property returns all objects that UndoItem2.TopObjects[i].GetPropertyObject(UndoItem2.LookupStrings[i]) references. If one of the objects does not exist, this property fails and returns an error explaining that the property the lookupstring parameter specifies does not exist. Returns the edit the UndoItem.Undo method reverts. This text normally appears in a menu item and is usually the same as the UndoItem.RedoDescription property text. Returns the edit that the UndoItem.Redo method performs. This text normally appears in a menu item and is usually the same as the UndoItem.UndoDescription property text. If this property is False, do not call the UndoItem.Undo method. If this property is False, do not call the UndoItem.Redo method. Returns the kind of edit the UndoItem.Undo method performs. Returns the kind of edit the UndoItem.Redo method performs. Returns the UndoStack object that this undo item is on. The UndoStack object sets this property when you call UndoStack.Push. If this property is True, the UndoItem.Undo and UndoItem.Redo methods send a UIMsg_RefreshWindows user interface message to refresh the UndoItem.EditedFile property and a UIMsg_GotoLocation user interface message to go to the location of the edit. If the UndoItem.RefreshEnabled property is True, the UndoItem.Redo method calls the Locations.GotoLocation method on this property before making any edits, and the UndoItem.Undo method calls the Locations.GotoLocation method on this property after making all edits. If the UndoItem.RefreshEnabled property is True, the UndoItem.Redo method calls the Locations.GotoLocation method on this property after making all edits, and the UndoItem.Undo method calls the Locations.GotoLocation method on this property before making any edits. Reverts an edit to the UndoItem.EditedFile. This method returns a TS_Err_UnexpectedChangeCount error if the change count of UndoItem.EditedFile is not equal to the value it was after the user made the edit this undo item reverts. Calling this method also restores the change count of the EditedFile to the value it was before the user made the edit this undo item reverts, sends a UIMsg_RefreshWindows user interface message to the sequence editor if UndoItem.RefreshEnabled is True, and sends a UIMsg_GotoLocation user interface message to the sequence editor to go to the location of the edit if RefreshEnabled is True. Redoes an edit to the UndoItem.EditedFile property that the UndoItem.Undo method reverted. This method returns a TS_Err_UnexpectedChangeCount error if the change count of the UndoItem.EditedFile property is not equal to the value it was before the user made the edit that this undo item reverts. Calling this method also restores the change count of the UndoItem.EditedFile property to the value it was after the user made the edit that this undo item reverts, sends a UIMsg_RefreshWindows user interface message to the sequence editor if the UndoItem.RefreshEnabled property is True, and sends a UIMsg_GotoLocation user interface message to the sequence editor to go to the location of the edit if the UndoItem.RefreshEnabled property is True. Returns the change count of the UndoItem.EditedFile property before the user made the edit this undo item reverts. The UndoItem.Redo method returns a TS_Err_UnexpectedChangeCount error if EditedFile.ChangeCount does not equal the value of this property. The UndoItem.Undo method restores EditedFile.ChangeCount to the value of this property after undoing the edit. Returns the change count of the UndoItem.EditedFile property after the user made the edit this undo item reverts. The UndoItem.Undo method returns a TS_Err_UnexpectedChangeCount error if EditedFile.ChangeCount does not equal the value of this property. The UndoItem.Redo method restores EditedFile.ChangeCount to the value of this property after redoing the edit. You can obtain a collection of UndoItem objects from the UndoStack.UndoItems property. Returns a reference to an item at the specified index in the collection. Specifies the zero-based index of the item to retrieve. Returns the number of items in the collection. Returns the item at the highest index in the collection. This property is NULL if the collection is empty. Removes the specified item from this collection, if it exists. Specifies the zero-based index of the item to remove. An UndoStack manages a stack of undo items and a stack of redo items. Normally, you create an UndoStack for every document in a sequence editor in which you can undo edits to a TestStand file. You receive undo items to push onto an undo stack through the UIMessage.ActiveXData property of a UIMsg_PushUndoItem UI Message. You use the UndoItem.EditedFile property of the undo item to determine onto which document undo stack to push the undo item. Use the Engine.NewUndoStack method to create an UndoStack object. You typically use UndoStack objects with the ApplicationMgr.UndoStack and SequenceFileViewMgr.UndoStack properties. Returns the menu item text describing the next undo operation. Specifies the character(s) you want to precede the accelerator character, if one exists, in the description the method returns. The accelerator prefix for menu items and button labels varies according to the programming environment. For example, LabVIEW uses "_", LabWindows/CVI uses "__", and Microsoft Visual C++/Visual Basic use "&". Returns the menu item text describing the next redo operation. Specifies the character(s) you want to precede the accelerator character, if one exists, in the description the method returns. The accelerator prefix for menu items and button labels varies according to the programming environment. For example, LabVIEW uses "_", LabWindows/CVI uses "__", and Microsoft Visual C++/Visual Basic use "&". If this property is False, do not call the UndoStack.Undo method. If this property is False, do not call the UndoStack.Redo method. Calls UndoItem.Undo on the top undo item and then moves the item from the top of the undo stack to the top of the redo stack. Calls the UndoItem.Redo method on the top redo item and then moves the item from the top of the redo stack to the top of the undo stack. Adds an item at the top of the undo stack and clears the redo stack. Specifies the item to add to the undo stack. Removes all items from the undo and redo stacks. Combines a specified number of items on the top of the undo stack into one item. Specifies the number of items to combine into one item. Specifies the UndoItem.UndoDescription and UndoItem.RedoDescription properties of the aggregate item. If you pass an empty string, the aggregate item uses the UndoItem.UndoDescription and UndoItem.RedoDescription properties of the lowest undo item on the stack this method aggregates. Specifies the UndoItem.PreEditLocations property of the aggregate undo item. If you pass NULL, the aggregate undo item computes the UndoItem.PreEditLocations property from the UndoItem.PreEditLocations of the aggregated undo items. Specifies the UndoItem.PostEditLocations property of the aggregate undo item. If you pass NULL, the aggregate undo item computes the UndoItem.PostEditLocations from the UndoItem.PostEditLocations of the aggregated undo items. The items on the undo stack. Returns the items on the redo stack. Use UndoItemCreator to make edits to TestStand files undoable. To use UndoItemCreator, first create an UndoItemCreator object using the Engine.NewUndoItemCreator method. Then call the BeginEdit method, make an edit to a TestStand object, and call the EndEdit method. You can call BeginEdit and EndEdit more than once to edit more than one TestStand object. Then call the CreateAndPostUndoItem method to create an undo item for all the edits you made. This property is True if you modify a TestStand object between calls to the UndoItemCreator.BeginEdit method and UndoItemCreator.EndEdit method or between calls to the UndoItemCreator.BeginBatchEdit method and UndoItemCreator.EndBatchEdit method. If this property is False, do not increment the change count of the edited file or call the UndoItemCreator.CreateAndPostUndoItem method. Note: This method is obsolete. Use the UndoItemCreator.BeginEditEx method instead. Call this method before you modify a TestStand object. Specifies the object you are about to edit. The object you pass depends on which EditKinds you passed to the Engine.NewUndoItemCreator method. For each of the following EditKinds, pass the specified object.     * EditKind_ChangeNumericFormat–Pass the property object with the numeric format you are changing to this method.    * EditKind_ChangeObject–Pass the object you are modifying to this method. For this EditKind, an UndoItemCreator creates an undo item that restores all subproperties of the property object you pass in.    * EditKind_ChangeRunMode–Pass the step you are changing the run mode of to this method. Call Step.SetRunModeEx to change the run mode of a step.    * EditKind_ChangeSequenceFileProperties–Pass the sequence file you are modifying through the Sequence File Properties Dialog Box to this method.    * EditKind_ChangeSequenceProperties–Pass the sequence you are modifying through the Sequence Properties Dialog Box to this method.    * EditKind_ChangeStep–Pass the step with the properties you are changing to this method. For example, you could pass a step you are modifying through the Step Properties Dialog Box to this method.    * EditKind_ChangeValue–Pass the property object with the value you are changing to this method. Call a PropertyObject.SetVal method to change the value of a property object.    * EditKind_DeleteProperty–Pass the property object you are deleting to this method. Call the PropertyObject.DeleteSubProperty method to delete a property object.    * EditKind_DeleteSequence–Pass the sequence you are deleting to this method. Call the SequenceFile.DeleteSequence or SequenceFile.RemoveSequence method to delete a sequence.    * EditKind_DeleteStep–Pass the step you are deleting to this method. Call the Sequence.DeleteStep method to delete a step.    * EditKind_InsertProperty–Pass the property object you are inserting to this method. Call the PropertyObject.InsertSubProperty method to insert a property object.    * EditKind_InsertSequence–Pass the sequence you are inserting to this method. Call the SequenceFile.InsertSequenceEx method to insert a sequence.    * EditKind_InsertStep–Pass the step you are inserting to this method. Call the Sequence.InsertStep method to insert a step.    * EditKind_InsertType–Pass the type you are inserting to this method. Call the TypeUsageList.InsertType method to insert a type.    * EditKind_ModifyComment–Pass the property object with the comment you are changing to this method.    * EditKind_ModifyFlags–Pass the property object with the flags you are changing to this method.    * EditKind_MoveProperty–Pass the property object you are moving to this method. Call the PropertyObject.DeleteSubProperty method and then the PropertyObject.InsertSubProperty method to move a property object.    * EditKind_MoveSequence–Pass the sequence you are moving to this method. Call the SequenceFile.DeleteSequence or SequenceFile.RemoveSequence method and then the SequenceFile.InsertSequenceEx method to move a sequence.    * EditKind_MoveStep–Pass the step you are moving to this method. Call the Sequence.DeleteStep method and then the Sequence.InsertStep method to move a step.    * EditKind_Rename–Pass the property object you are renaming to this method.    * EditKind_ReplaceProperty–Pass the property object you are replacing to this method. Call the PropertyObject.SetPropertyObject method to replace a property object. Call this method after you modify a TestStand object. Call this method before you modify a batch of TestStand objects. Instead of calling this method and the UndoItemCreator.EndBatchEdit method, you could call the UndoItemCreator.BeginEditEx and UndoItemCreator.EndEdit methods once for every object you pass to this method. However, it is somewhat more efficient to insert, delete, and move steps using the UndoItemCreator.BeginBatchEdit and UndoItemCreator.EndBatchEdit methods. Specifies the objects you are about to modify. The objects you pass depend on which EditKinds you passed to the Engine.NewUndoItemCreator method. Because you pass the same object to this method as you would pass to the UndoItemCreator.BeginEdit method, see the UndoItemCreator.BeginEdit method for more information about which objects to pass to this method. Call this method after you modify a batch of TestStand objects. Call this method to create an undo item that can undo and redo edits. This method sends the undo item to the sequence editor using a synchronous UIMsg_PushUndoItem user interface message and then returns the created undo item. Do not call this method if the UndoItemCreator.HaveEditsBeenMade property is False. You also need to increment the change count of the edited file before calling this method. Specifies any combination of CreateUndoItemOptions. Specifies the value of the Locations.ApplicationSite properties of the undo item this method creates. Specifies the value of the Locations.UserData properties of the undo item this method creates. Call this method before you modify a TestStand object. The object you specify with the obj and lookupString parameters depends on which EditKinds enumeration value you passed to the Engine.NewUndoItemCreator method. For each of the following EditKinds enumeration values, pass the specified object.     * EditKind_ChangeNumericFormat–Pass the property object with the numeric format you are changing to this method.    * EditKind_ChangeObject–Pass the object you are modifying to this method. For this EditKind, an UndoItemCreator creates an undo item that restores all subproperties of the property object you pass in.    * EditKind_ChangeRunMode–Pass the step you are changing the run mode of to this method. Call Step.SetRunModeEx to change the run mode of a step.    * EditKind_ChangeSequenceFileProperties–Pass the sequence file you are modifying through the Sequence File Properties Dialog Box to this method.    * EditKind_ChangeSequenceProperties–Pass the sequence you are modifying through the Sequence Properties Dialog Box to this method.    * EditKind_ChangeStep–Pass the step with the properties you are changing to this method. For example, you could pass a step you are modifying through the Step Properties Dialog Box to this method.    * EditKind_ChangeValue–Pass the property object with the value you are changing to this method. Call a PropertyObject.SetVal method to change the value of a property object.    * EditKind_DeleteProperty–Pass the property object you are deleting to this method. Call the PropertyObject.DeleteSubProperty method to delete a property object.    * EditKind_DeleteSequence–Pass the sequence you are deleting to this method. Call the SequenceFile.DeleteSequence or SequenceFile.RemoveSequence method to delete a sequence.    * EditKind_DeleteStep–Pass the step you are deleting to this method. Call the Sequence.DeleteStep method to delete a step.    * EditKind_InsertProperty–Pass the property object you are inserting to this method. Call the PropertyObject.InsertSubProperty method to insert a property object.    * EditKind_InsertSequence–Pass the sequence you are inserting to this method. Call the SequenceFile.InsertSequenceEx method to insert a sequence.    * EditKind_InsertStep–Pass the step you are inserting to this method. Call the Sequence.InsertStep method to insert a step.    * EditKind_InsertType–Pass the type you are inserting to this method. Call the TypeUsageList.InsertType method to insert a type.    * EditKind_ModifyComment–Pass the property object with the comment you are changing to this method.    * EditKind_ModifyFlags–Pass the property object with the flags you are changing to this method.    * EditKind_MoveProperty–Pass the property object you are moving to this method. Call the PropertyObject.DeleteSubProperty method and then the PropertyObject.InsertSubProperty method to move a property object.    * EditKind_MoveSequence–Pass the sequence you are moving to this method. Call the SequenceFile.DeleteSequence or SequenceFile.RemoveSequence method and then the SequenceFile.InsertSequenceEx method to move a sequence.    * EditKind_MoveStep–Pass the step you are moving to this method. Call the Sequence.DeleteStep method and then the Sequence.InsertStep method to move a step.    * EditKind_Rename–Pass the property object you are renaming to this method.    * EditKind_ReplaceProperty–Pass the property object you are replacing to this method. Call the PropertyObject.SetPropertyObject method to replace a property object. Specifies an object that contains the location the lookupString parameter specifies. If you are modifying an element of an array object, pass the array object or an object that contains the array object. Pass an empty string to denote the obj parameter, or pass the name of a subproperty within obj for the object you are modifying or the array index if obj is an array object. Array index strings are a list of numbers, enclosed in brackets, that index each dimension of the array. For example, [0][1] is an array index for a two-dimensional array. An OutputMessage object specifies the details about an output message. The object lets you specify the message text, timestamp, category, severity, color, icon, and location. When you call the OutputMessage.Post method, TestStand copies the OutputMessage object and adds the copy to the collection TestStand maintains. You can access the collection using the reference the Engine.GetOutputMessages method returns. Specifies the creation time of the output message. When creating a new OutputMessage object, TestStand initializes this property to the current value of the Engine.SecondsSinceStart property. Returns a unique ID number for the output message. Note: The ID number is never zero. The ID number is unique with respect to all output messages the TestStand Engine creates in an operating system process. Use this ID number to compare two OutputMessage object references to determine whether they refer to the same underlying output message. Returns the underlying PropertyObject that represents the OutputMessage object. Use the PropertyObject to modify, add, or remove custom properties of the object. Specifies the output message category. Applications typically use the category to filter or sort messages. If you do not define a category when you create an output message, the output message is considered uncategorized. You can specify any value for this property. Specifies the output message severity. Applications typically use the category to filter or sort messages. Specifies the text of the output message. Specifies the text color associated with the output message. An application uses the specified color when displaying the text message. Specifies the timestamp of the output message. When creating a new OutputMessage object, TestStand initializes the TimeStamp property to the current time. Specifies the icon filename assigned to the output message. The TestStand Engine maintains a list of images that contain all the icons located in the <TestStand>\Components\Icons and <TestStand Public>\Components\Icons directories and images you add using the Engine.AddImage method. When creating a new OutputMessage object, TestStand initializes the IconName property based on the following severity types:     * Information—Generic.ico    * Warning—Warning.ico    * Error—Error.ico TestStand Sequence Editor displays the icon next to the output message. Specifies a collection of locations used to identify the step in the sequence file that generated the output message. When you pass a SequenceContext object to the sequenceContext parameter of the Engine.NewOutputMessage method, TestStand automatically adds a new Location object to the Locations collection. Otherwise, the collection is empty. Appends a reference to the OutputMessage into an OutputMessages collection that TestStand maintains. Periodically, TestStand checks to see if this collection is not empty. If the collection is not empty, TestStand attaches the entire collection to the ActiveXData member of a user interface message posted with the UIMsg_OutputMessages event code. TestStand adds the message to the output messages collection and sends UIMsg_OutputMessages messages only if you enable the Engine.OutputMessagesEnabled property. In TestStand 4.0 and 4.0.1, this method appended a copy of the OutputMessage, and the caller of this method could not access this copy directly. In TestStand 4.1 or later, this method adds a reference to the message. Specifies a collection of locations used to identify the step, thread and execution that generated the output message. When you pass a SequenceContext object to the sequenceContext parameter of the Engine.NewOutputMessage method, TestStand automatically adds a new Location object to the Locations collection, otherwise, the collection is empty. This collection class contains elements of the OutputMessage type. You can post an output message to TestStand by calling the Engine.NewOutputMessage method to create a new message object and by calling the OutputMessage.Post method on the object. You can also call the OutputMessage expression function. When the number of items in the collection changes from zero to one, TestStand sends a UIMsg_OutputMessages message to the TestStand application. TestStand adds only messages to the collection and sends a UIMsg_OutputMessages message if you enable the Engine.OutputMessagesEnabled property. An application can retrieve the latest output messages by transferring messages from the collection TestStand maintains to a new collection the application creates, as shown in the following pseudocode: // C# exampleif (uiMsg.Event == UIMessageCodes.UIMsg_OutputMessages){     OutputMessages outputMessages = uiMsg.ActiveXData as OutputMessages;     OutputMessages appOutputMessages = engine.NewOutputMessages();      outputMessages.CopyMessagesToCollection(appOutputMessages);     for(i = 0; i < appOutputMessages.Count; i++)     {          uiControl.Add(appOutputMessages[i].Message);     }} // C++ exampleif (uiMsg->Event == UIMsg_OutputMessages){     TS::OutputMessagesPtr outputMessages = uiMsg->ActiveXData;     TS::OutputMessagesPtr appOutputMessages = engine->NewOutputMessages();      outputMessages->CopyMessagesToCollection(appOutputMessages);     for(i = 0; i < appOutputMessages->Count; i++)     {          uiControl.Add(appOutputMessages->Item[i]->Message);     }}

TestStand always sends output messages to a debugger if you enable the DebugOptions_SendOutputMessagesToDebugger option of the StationOptions.DebugOptions property.
Copies all OutputMessage object references in the collection to the end of the target collection. Use this method in an application that handles the UIMsg_OutputMessages event to copy the messages from the collection in UIMessage.ActiveXData to a private collection. This method is thread-safe with respect to the source collection in that the source collection cannot be modified from another thread while the copy is in progress. Specifies the target collection to receive the OutputMessage objects references. Returns the index of the OutputMessage in the collection. If the OutputMessage is not in the collection, the return value is -1. Specifies the ID of the OutputMessage to search for in the collection. Returns a PropertyObject representation of the collection. You can use the PropertyObject to persist the collection. Note: The PropertyObject representation does not store the value of the UserData property for any Locations objects OutputMessages hold in the OutputMessages collection. To reduce the size of the PropertyObject, you can pass False to omit the values of the OutputMessage.ExecutionLocations property from the property object representation of the OutputMessages collection. Restores the collection state that was stored in the PropertyObject by a call to the OutputMessages.ToPropertyObject method. Specifies the PropertyObject. Returns a reference to an item at the specified index in the collection. Specifies a zero-based index. Returns the number of items in the collection. Adds an OutputMessage object to the collection. The OutputMessage object is appended to the end of the collection. Specifies the OutputMessage object to add. Removes the specified item from this collection, if it exists. This method releases only the reference to the OutputMessage object the collection holds. To delete the OutputMessage object, you must release all other references. Specifies the zero-based index of the item to remove. Removes all items from the collection. This method releases only the references to the OutputMessage objects the collection holds. To delete the OutputMessage objects, you must release all other references. Transfers all OutputMessage objects in the collection to a target collection. The collection is empty after you call this method. This method is thread-safe with respect to the source collection in that the source collection cannot be modified from another thread while the transfer is in progress. Specifies the target collection to receive the OutputMessage objects. This interface specifies expected types for evaluating an expression. Obtain an EvaluationTypes object by calling the Engine.NewEvaluationTypes method or through a property of a parameter for a module call such as the LabVIEWParameter.ValidEvaluationTypes property. Pass an instance of EvaluationTypes to the Expression.ValidateEvaluationType method to perform type checking on an expression. Specifies the expected types for an expression. Use any combination of property value type flags with this property. The Expression.ValidateEvaluationType method returns TS_Err_NoError if the expression evaluates to any type this property specifies. Specifies the expected named types for an expression. the Expression.ValidateEvaluationType method returns TS_Err_NoError if the expression evaluates to a named type specified by any element of this property. For example, if the elements of this property are CommonResults and Error, the Expression.ValidateEvaluationType method returns TS_Err_NoError if the expression evaluates to PropertyObject using a CommonResults or Error type. The EvaluationTypes.PropertyValueTypeFlags property must include PropValTypeFlag_NamedType to use this property. Represents an array of named types. An expression expects an array of these types. the Expression.ValidateEvaluationType method returns TS_Err_NoError if the expression evaluates to an array of a named type specified by any element of this property. For example, if the elements of this property are CommonResults and Error, the Expression.ValidateEvaluationType method returns TS_Err_NoError if the expression evaluates to PropertyObject using an array of CommonResults type or an array of Error type. The EvaluationTypes.PropertyValueTypeFlags property must include PropValTypeFlag_ArrayOfNamedType to use this property. Specifies the expected representation for an expression. The Expression.ValidateEvaluationType method returns TS_Err_NoError if the expression evaluates to a numeric property with a representation that any element of this property specifies. The EvaluationTypes.PropertyValueTypeFlags property must include PropValTypeFlag_Number to use this property. Specifies the expected representation for an expression. The Expression.ValidateEvaluationType method returns TS_Err_NoError if the expression evaluates to a numeric array property with a representation that any element of this property specifies. The EvaluationTypes.PropertyValueTypeFlags property must include PropValTypeFlag_NumberArray to use this property. Use these constants to specify the srchListOption parameter of the Engine.FindFileEx method. The FindFile_AddDirSearchList constants specify whether TestStand adds the directory of the file you select to the search directory paths. It also changes the dimmed state of the Add Directory to Search Directory List option. (Value: 1) Enables the Add Directory to Search Directory List option so you can choose whether to append the directory that contains the file to the list of search directories. If the current user does not have configured engine privileges, the Engine.FindFileEx method behaves as if you passed FindFile_AddDirToSrchList_No. (Value: 3) Adds the directory to the search paths and dims the Add Directory to Search Directory List option. If the current user does not have configure engine privileges, the Engine.FindFileEx method behaves as if you passed FindFile_AddDirToSrchList_No. (Value: 2) Does not add the directory to the search path and disables and dims the Add Directory to Search Directory List option. (Value: 4) The same as FindFile_AddDirToSrchList_Ask but does not check user privileges. (Value: 5) The same as FindFile_AddDirToSrchList_Yes but does not check user privileges. This data type contains values that specify a switch connection operation. Use the values of this enumeration with the Step.SwitchExecOperation and StepType.SwitchExecOperation properties. (Value: 1) Creates the paths for the specified routes in the Step.SwitchExecRoutesToConnect property. (Value: 2) Destroys the paths the specified routes define in the Step.SwitchExecRoutesToDisconnect property. (Value: 3) Disconnects all previously created paths. (Value: 4) Creates the paths for the routes specified in the Step.SwitchExecRoutesToConnect property and destroys the paths for the routes specified in the Step.SwitchExecRoutesToDisconnect property. Use the Step.SwitchExecOperationOrder property to specify whether the Disconnect operation occurs before or after the Connect operation. This data type contains values that specify a switch connection lifetime. Use the values of this enumeration with the Step.SwitchExecConnectionLifetime and StepType.SwitchExecConnectionLifetime properties. (Value: 0) Specifies that the route is connected until manually disconnected. (Value: 1) Specifies that the route is connected until the execution completes. (Value: 2) Specifies that the route is connected until the thread completes. (Value: 3) Specifies that the route is connected until the sequence completes executing. (Value: 4) Specifies that the route is connected until the step completes executing. This data type contains values that specify multiconnect behavior. Use the values of this enumeration with the Step.SwitchExecMulticonnectMode and StepType.SwitchExecMulticonnectMode properties. (Value: 0) A route can connect only once. (Value: 1) A route can connect multiple times. The route must contain the same endpoints and path. NI Switch Executive automatically reference counts the routes. If you issue multiple Connect operations for a specific route, the route is not physically disconnected until an equal number of Disconnect operations occur. You can either issue the Disconnect operation manually or use a lifetime setting for the route. The Disconnect All operation disconnects a route even if the route reference count is greater than one. (Value: -1) Defaults to the multiconnect mode as predefined for each route in the NI Switch Executive. Use these constants to specify the OutputMessage.Category property and the category parameter of the Engine.NewOutputMessage method. (Value: 0) Specifies that the message is additional information. (Value: 1) Specifies that the message is an warning. (Value: 2) Specifies that the message is an error. Use this enumeration to refer to specific parts of a PropertyObject with methods and properties such as Location.Element and SequenceContext.GetMultipleValues. (Value: 0) Does not specify any part of a PropertyObject. (Value: 1) Specifies the value of a PropertyObject, which you access with GetVal and SetVal methods. (Value: 2) Specifies the name of a PropertyObject, which you access through the PropertyObject.Name property. (Value: 3) Specifies the comment of a PropertyObject, which you access through the PropertyObject.Comment property. (Value: 4) Specifies the flags of a PropertyObject, which you access through the PropertyObject.GetFlags and PropertyObject.SetFlags methods. (Value: 5) Specifies the numeric format of a PropertyObject, which you access through the PropertyObject.NumericFormat property. (Value: 6) Specifies the representation of PropertyObject, which you access with the PropertyObjectType.Representation property. (Value: 7) Specifies the attributes of the PropertyObject, which you access through the PropertyObject.Attributes property. Use this enumeration with the Location.Kind property. (Value: 1) Specifies a location in a file. (Value: 2) Specifies a location in a SequenceContext. (Value: 3) Specifies a location in a type. (Value: 4) Specifies a location in an IO Configuration. Use this enumeration to refer to a specific kind of edit for the Engine.NewUndoItemCreator, UndoItem.RedoEditKind, UndoItem.UndoEditKind, UndoItemCreator.BeginBatchEdit, and UndoItemCreator.BeginEditEx methods, and the BeginEdit, CanEdit and EndEdit methods and events of the ApplicationMgr class. (Value: 0) No edit. (Value: 1) Specifies changing the value of a PropertyObject. (Value: 2) Specifies renaming a PropertyObject. (Value: 3) Specifies modifying the comment of a PropertyObject. (Value: 4) Specifies modifying the flags of a PropertyObject. (Value: 5) Specifies changing the numeric format of a PropertyObject. (Value: 6) Specifies inserting a PropertyObject. (Value: 7) Specifies deleting a PropertyObject. (Value: 8) Specifies moving a PropertyObject. (Value: 9) Specifies replacing a PropertyObject. (Value: 10) Specifies inserting a step. (Value: 11) Specifies deleting a step. (Value: 12) Specifies moving a step. (Value: 13) Specifies inserting a sequence. (Value: 14) Specifies deleting a sequence. (Value: 15) Specifies moving a sequence. (Value: 16) Specifies any change to a TestStand object. (Value: 17) Specifies modifying subproperties of a step. (Value: 18) Specifies modifying a sequence though the Sequence Properties dialog box. (Value: 19) Specifies modifying a sequence file though the Sequence File Properties dialog box. (Value: 20) Specifies changing the run mode of a step. (Value: 21) Specifies inserting a new type. (Value: 23) Specifies modifying the attributes of a PropertyObject. (Value: 22) (Value: #) Specifies moving a type. Does not support undo. Use these constants with the ApplicationMgr.SaveOnClose, and ApplicationMgr.PromptForOverwrite properties to specify whether to perform an action. (Value: 2) Specifies to prompt the user to determine whether to perform an action. (Value: 0) Specifies to perform an action without prompting the user. (Value: 1) Specifies to not perform an action. Use these constants with the PropertyObjectFile.FileWritingFormat property, the StationOptions.DefaultFileWritingFormat property, and the return value to the FileInformation.GetFileFormatVersion method. (Value: 1) Specifies that TestStand writes the file in an INI format. This format is used by previous versions of TestStand (3.x or earlier). Use this format when necessary to support existing code that reads the INI file directly. Note: The INI format is deprecated in TestStand 2019 and may not be supported in future releases. There is no behavior change. (Value: 2) Specifies that TestStand writes the file in a binary format. This format is the fastest and most memory-efficient format. (Value: 3) Specifies that TestStand writes the file in an XML format. Use this format if you want to read, parse, or create files as XML. This option is the most readable and parseable format. If you change a file that you store in a source control system from XML or INI to Binary, make sure you update your source code control system to set the file type as binary. If you do not need to read, parse, or create files externally from TestStand, National Instruments recommends that you use FileWritingFormat_Binary. Use this interface to obtain information about a code template. Code templates are associated with adapters and represent the default code that modules use when creating code for an instance of a step type. Use the StepType.CodeTemplates property to obtain a collection of CodeTemplate objects associated with a step type. Returns the type of this code template. The code template type determines which adapter the code module is associated with. Returns the name of this code template. You can use this name when you set the CommonCModule.CodeTemplateName property before calling the Module.CreateCode or CommonCModule.LoadPrototypeFromCodeTemplate methods. Returns the description of this code template. A collection of CodeTemplate objects. Code templates are associated with adapters and represent the default code that modules use when creating code for an instance of a step type. Use the StepType.CodeTemplates property to obtain a collection of CodeTemplate objects associated with a step type. Returns a reference to an item at the specified index in the collection. Specifies the zero-based index of the item to retrieve. Returns the number of items in the collection. Use objects from the UnmappedArgumentValues class to obtain a list of the current arguments not used as inputs and outputs of the corresponding module. Use the Module.UnmappedArgumentValues and DotNetCall.UnmappedArgumentValues properties to obtain the collection of unmapped argument values for a module. When a module prototype changes, TestStand attempts to map the current module arguments to the new prototype by looking for matching argument names and data types, and by matching argument positions and data types. If TestStand fails to assign an argument to the new prototype, the argument is added to this collection. TestStand does not clear the collection when you load a new prototype. Use the UnmappedArgumentValues.Clear method to clear the collection before calling the Module.LoadPrototype or DotNetCall.LoadPrototypeFromSignature method. Returns a reference to an item at the specified index in the collection. Specifies the zero-based index of the item to retrieve. Returns the number of items in the collection. Removes all items from this collection. Use objects from the UnmappedArgumentValue class to obtain specific information for an item in the UnmappedArgumentValues collection class. Returns the symbolic name for the argument. Returns the value expression for the argument. Returns the type name of the argument. Returns the UnmappedArgumentValues for fields of a container or elements of an array. This data type contains values that specify whether the Disconnect operation occurs before or after the Connect operation. Use the values of this enumeration with the Step.SwitchExecOperationOrder and StepType.SwitchExecOperationOrder properties. (Value: 1) Specifies to disconnect routes before connecting any routes. This is the typical mode of operation. (Value: 2) Specifies to connect routes before disconnecting any routes. Use this mode of operation when you are switching electric current and want to ensure that a load is always connected to the source. Use these constants with the UndoItemCreator.CreateAndPostUndoItem method. (Value: 0x0): No options. (Value: 0x1): Use this option to prevent the UndoItemCreator.CreateAndPostUndoItem method from sending the created undo item to the sequence editor. Use these constants with the Engine.SerializeObjects method. (Value: 0) TestStand uses the INI format by default if you specify no options. (Value: 1) Use this option to greatly enhance the speed of both serialization and unserialization. This option is the fastest and most memory efficient format. (Value: 2) Use this option if you want to read or parse the data as XML. This option is the most readable and parseable format. Normally, the data from the Engine.SerializeObjects method is passed as input to the Engine.UnserializeObjects and Engine.UnserializeObjectsAndTypes methods. In this case, National Instruments recommends using SerializationOption_UseBinary because that option is faster and more memory efficient. (Value: 4) Normally, type instances must match the structure of the underlying type definitions. Although you can use the PropertyObject properties and methods to modify a type instance so it no longer matches the structure of the underlying type definition, National Instruments does not recommend doing so even though it can be useful in some limited cases. Use the SerializationOption_SupportNonTypedefMatchingInstances option only when you must serialize objects that contain these types of instances to preserve the modifications during unserialization. If you do not use this option when you serialize objects, TestStand makes the type instances conform to the underlying type definition during unserialization. You do not need to use this option when unserializing the data. TestStand makes type instances conform to type definitions and removes any structural modifications you programmatically make in the following situations, even when you use the SerializationOption_SupportNonTypedefMatchingInstances option:    * When you modify the structure of a type definition or use the Apply to All Loaded Instances of the Type option to modify a type definition, TestStand makes all type instances in memory conform to the type definition.    * When you load a file and use automatic or manual type conflict resolution to replace the existing global definition of the type with a new version of the type definition, TestStand makes all instances of the type in memory conform to the new version of the type definition. Instead of creating type instances that do not match type definitions, create a container property in the type definition, set the PropFlags_UnstructuredProperty property flag, and place all the custom, per-instance properties in the container. National Instruments recommends that you use unstructured containers to hold properties that do not match the definition to use type instances that differ from type definitions. Note: The SerializationOption_SupportNonTypedefMatchingInstances option does not support the .ini format. You must use this option with the bitwise-OR operator with the SerializationOption_UseXml or SerializationOption_UseBinary option. Use these constants to specify the options parameter of the Execution.NewThread method. (Value: 0x0) No options. (Value: 0x1) Use this option to have the calling sequence wait for the launching thread to complete before the calling sequence returns. You must specify a SequenceContext when you call the Execution.NewThread method to apply this option. (Value: 0x2) Use this option to specify that TestStand creates the new thread in a suspended state. Call the Thread.Resume method to start the thread, or use an ActiveX/COM step to call the Thread.Resume method from a sequence. (Value: 0x4) Use this option to specify whether the concurrency model of the thread is initialized as single-threaded apartment (STA) or multi-threaded apartment (MTA). By default, TestStand initializes new executions and threads to use the MTA model. A thread must use the STA model if the thread creates or launches a dialog box that contains ActiveX controls. If you use this option to launch a sequence with a step displaying an ActiveX control, you might need to set the Load Option on the Run Options tab of the Step Properties dialog box to Load dynamically. This ensures that TestStand loads the module the step calls in the thread initialized as STA. Use these constants with the CodeTemplate.Type property. (Value: 1) Specifies the legacy template for the LabVIEW or LabWindows/CVI Adapter. The legacy code template has a fixed prototype that takes a TestData and a TestError parameter. (Value: 2) Specifies a code template for the LabVIEW Adapter. (Value: 3) Specifies a code template for the LabWindows/CVI Adapter. (Value: 4) Specifies a code template for the C/C++ DLL Adapter and specifies that the C/C++ Module creates code in a text file. (Value: 5) Specifies a code template for the C/C++ DLL Adapter and specifies that the C/C++ Module creates code in Microsoft Visual Studio. (Value: 6) Specifies a code template for the .NET Adapter and specifies that the .NET Module creates C# code. (Value: 7) Specifies a code template for the .NET Adapter and specifies that the .NET Module creates Visual Basic .NET code. (Value: 8) Specifies a code template for the HTBasic Adapter. (Value: 9) Specifies a code template for the LabVIEW NXG Adapter. Use these constants with the Locations.AddLocations method. (Value: 1) Specifies that the Locations.AddLocations method adds the locations you pass to the collection without making a copy of the locations. (Value: 2) Specifies that the Locations.AddLocations method adds a copy of the locations you pass to the collection. Objects of the InputStream class represent an abstract stream of data. In a sequence file translator, this stream reads the content of a user file. The InputStream class allows the translators to read, seek, and query the size of a file. You cannot create an InputStream object externally, and you can obtain a reference only in the DLL interface exposed to a sequence file translator. The TestStand Engine creates an InputStream object and passes the object to various callbacks in the DLL interface. Returns the pathname TestStand used when it loaded the user file. Obtains an array of bytes that contains the data read from the stream. This method reads the specified number of bytes from the stream and stores them in a byte array. This method increments the Offset of the stream reader by using the number of bytes read from the stream. The actual number of bytes read from the stream can be less than the number of bytes specified for reading. You can use the stream reader Offset before and after the read to determine the actual number of bytes read. An array of bytes that contains the data read from the stream. Specifies the maximum number of bytes to read from the stream. Indicates if the end of the stream has been reached. Use this property to determine whether the end of stream has been reached. Returns the size of the stream in bytes. Use this property to obtain the size of the stream. You can use this value to determine how many characters to allocate for a buffer or to read from the stream. Specifies the current position of the reader in the stream. The offset is always from the start of the stream. Use this property to query the current position in the stream or to move the reader to a different position in the stream. The InputStream.ReadBytes method updates the stream reader position by using the number of bytes read from the stream. These constants represent the options you can use with the options parameter of the Engine.OpenWorkspaceFile method. Use the bitwise-OR operator to specify more than one option. (Value: 0x0) No options. (Value: 0x1) Specifies that the method does not prompt the user if any of the files in the workspace are not found on disk. (Value: 2) Instructs TestStand to use the directory where the workspace file resides to resolve the paths of the files in the workspace when loaded. (Value: 4) Instructs TestStand to use the TestStand search to resolve the paths of the files in the workspace when loaded. These constants represent the options you can use with the options parameter of the Module.LoadPrototype, SequenceCallModule.LoadPrototypeFromSequence and DotNetCall.LoadPrototypeFromSignature methods. (Value: 0x0) No Options. (value: 0x1) If this flag is set, the Module.LoadPrototype method attempts to keep the existing argument value expressions by mapping them to the parameters in the new prototype. Any arguments that cannot be mapped are added to the Module.UnmappedArgumentValues collection. Use these constants with properties like EvaluationTypes.NamedTypes, EvaluationTypes.ArrayOfNamedTypes and EvaluationTypes.PropertyValueTypeFlags to specify any combination of the types of values that a PropertyObject can store. These constants are compatible with the ValidExpressionTypes constants. (Value: -1) Any type. (Value: 0x1) A Boolean type. (Value: 0x2) A numeric type. (Value: 0x4) A string type. (Value: 0x8) A reference type. (Value: 0x10) A container type. (Value: 0x20) A named type. (Value: 0x40) A Boolean array type. (Value: 0x80) A numeric array type. (Value: 0x100) A string array type. (Value: 0x200) A reference array type. (Value: 0x400) A container array type. (Value: 0x800) An array of a named type. (Value: 0x4000) A PropertyObject. An element of an array of a basic type is not a PropertyObject. (Value: 0x8000) A reference type that is not a named type. (Value: 0x10000) A container type that is not a named type. (Value: 0x1000) A reference type with a value of Nothing. (Value: 0x20000) Use these options with the Engine.ParseLookupString method. (Value: 0x0) No options. (Value: 0x1) This option specifies that the Engine.ParseLookupString method parses array names and array indices as separate strings in the returned String Array. If you do not use this option, the Engine.ParseLookupString method parses an array name and array index as one string. Use these constants to specify how to display a location a user interface can display in more than one place. Use these constants with the Locations.ApplicationSite property and the UndoItemCreator.CreateAndPostUndoItem method. (Value: 0) Specifies that the user interface determines where to display the location. (Value: 1) Specifies that the user interface displays the location in a list control, such as a list of steps or a list of sequences. (Value: 2) Specifies that the user interface displays the location in a variables control. (Value: 3) Specifies that the user interface displays the location in a control that displays a hierarchy of properties and subproperties. (Value: 4) Specifies that the user interface displays the location in a settings panel or dialog. Use FileInformation objects to obtain file information, such as file version, file format version, and file type, on files TestStand recognizes without fully loading the files into memory. When you call methods and properties on a FileInformation object, TestStand can cache the information. For changes made to a file on disk to be reflected in a FileInformation object, you must release the object and use the Engine.GetFileInformation method to obtain a new FileInformation object. Returns True if the file is a custom format file TestStand can load using a custom sequence file translator. Files in native TestStand formats always return False for this property. This property throws an exception if TestStand cannot locate the file when it is first accessed. Use the FileInformation.FileExists property to determine whether the file is available. Returns True if the file is a TestStand sequence file or a custom sequence file TestStand can load with a custom sequence file translator. Use this property to determine whether you can load the file using the Engine.GetSequenceFileEx method. This property throws an exception if TestStand cannot locate the file when it is first accessed. Use the FileExists property to determine whether the file is available. Returns True if the file is a TestStand PropertyObjectFile. Use this property to determine whether you can load the file using the PropertyObjectFile.ReadFile method. This property throws an exception if TestStand cannot locate the file when it is first accessed. Use the FileInformation.FileExists property to determine whether the file is available. Returns the format in which TestStand wrote a property object file, such as binary, INI, or XML. This method is valid only for native TestStand files. Use the FileInformation.IsPropertyObjectFile property to determine whether you can safely access this property. This property throws an exception if TestStand cannot locate the file when it is first accessed. Use the FileInformation.FileExists property to determine whether the file is available. Returns the format version of the file. If no format version is available, the method returns an empty string. Generally, the file format version is the format of the file. The method returns the TestStand Engine version that saved a TestStand file, the LabVIEW server version that saved a VI file, or the type of binary file for DLL and executable files. For example, the file format version of a Microsoft Windows XP binary executable is usually PE (Portable Executable), the file format version of a .NET assembly is .NET, the file format version of a LabVIEW VI is the version of the LabVIEW development system that saved the VI, such as 12.0.0, and the file format version of a TestStand sequence file is the version of the TestStand Engine that saved the file, such as 5.0.0. This property throws an exception if TestStand cannot locate the file when it is first accessed. Use the FileInformation.FileExists property to determine whether the file is available. Obtains the version of the file. The method returns True if the file has a file version. Otherwise it returns False. Generally, the file version is the version or revision of the file. The method returns the PropertyObjectFile.Version property value for TestStand files, the revision from a LabVIEW VI, and file version value in the resource of DLL and executable files. The version number usually appears in the MajorVersion.MinorVersion.RevisionVersion format, such as 1.0.2. This method throws an exception if the file cannot be located when it is first accessed. Use the FileExists property to determine whether the file is available. Returns True if the file has a file version. Otherwise, returns False. Returns the version of the file. If no version is available, the method returns an empty string. Returns True if a file exists and is accessible at the path specified for this FileInformation object. This property is not cached. TestStand attempts to locate the file on disk every time you call this property. Use this property to determine whether you can use the other properties and methods on the FileInformation object. Returns True if the file is a .NET assembly. Use this property to determine whether you can use the file to specify the assembly for a DotNetModule object. This property returns an error if TestStand cannot locate the file when TestStand first attempts to access the file. Use the FileInformation.FileExists property to determine whether the file is available. Returns True if the file is a LabWindows/CVI DLL. This property returns an error if TestStand cannot locate the file when TestStand first attempts to access the file. Use the FileInformation.FileExists property to determine whether the file is available. Returns the file type of the file. Use this property to determine the type of file to create before using the PropertyObjectFile.ReadFile method. This property returns an error if TestStand cannot locate the file when it is first accessed or if the file is not a PropertyObjectFile. Use the FileInformation.FileExists property to determine if the file is available and the FileInformation.IsPropertyObjectFile property to determine if the file is a PropertyObjectFile. Returns the format display version of the file if the FileInformation.IsPropertyObjectFile property is True for the file, otherwise this method returns the value from the FileInformation.GetFileFormatVersion method. If no format version is available, the method returns an empty string. For a property object file, this method returns the TestStand version in which the file was created. This method returns an error if TestStand cannot locate the file when it is first accessed. Use the FileInformation.FileExists property to determine whether the file is available. Use these constants with the dlgOptions parameter of the Engine.DisplayWorkspaceBrowserDialog method. (Value: 0) No options. (Value: 0x00010000) By default, the dialog box is modal to the last active window of the calling thread, or if none exists, to the last active window from AppMainHwnd. If you set this option, the dialog box is modal with respect to the window handle of the Engine.AppMainHwnd property. Typically, you do not need to set this option. (Value: 1) Enable the dialog box to edit the contents of the currently loaded workspace and the project files in the workspace. Use these options to specify whether the Engine.GetTemplatesFile method creates the templates file if the templates file does not exist. (Value: 0x0) Specifies that the Engine.GetTemplatesFile method returns a value of NULL for PropertyObjectFile if the templates file does not exist. (Value: 0x1) Specifies that the engine loads the templates file if it has not been loaded. If no templates file exists, the engine creates a default templates file. Omit this option to determine whether a templates file has been previously loaded. When you omit this option, the Engine.GetTemplatesFile method returns NULL if no templates file is loaded. Use these constants to specify a type of license the application requires. Use these constants with the licenses parameter of the Engine.AcquireLicense method. (Value: 0) Specifies that the application license requirements are unspecified. (Value: 100) Specifies that the application requires a license to perform non-editing operations. (Value: 200) Specifies that the application requires a license to perform custom editor operations, such as editing and saving sequence files. (Value: 300) Specifies that the application requires a license to use the TestStand Sequence Editor. Use these constants with the options parameter of the Engine.AcquireLicense method. (Value: 0x0) Does not specify any options. (Value: 0x1) Instructs TestStand not to launch a dialog box for evaluating, activating, or purchasing TestStand when the license is not properly activated. (Value: 0x2) Instructs TestStand not to launch a dialog box for evaluating, activating, or purchasing TestStand when a currently running process has already launched the dialog box and the user activated a license or selected to evaluate TestStand. If the license cannot be acquired and the user did not previously select to evaluate TestStand in an already running process, TestStand launches the dialog box. (Value: 0x4) Pass this option if you want the startup dialog box to display an Exit button instead of a Close button. The application exits if the call to the Engine.AcquireLicense method fails, and error messages reflect this behavior. Use these constants with the Locations.GotoLocation method. (Value: 0x0) No options. (Value: 0x1) Use this option to specify that the Locations.GotoLocation method takes no action instead of launching an information dialog box when the user interface cannot go to the location. Use these constants with the AdditionalResult.CheckedState property. (Value: 1) Specifies not to log the additional result. (Value: 2) Specifies to log the additional result. (Value: 3) Specifies to log the additional result for some but not all members of the AdditionalResult.Elements collection. Use the values of this enumeration to determine specific TestStand directory paths. (Value: 1) Directory where TestStand installs the majority of components, typically <Program Files>\National Instruments\TestStand <Version>. (Value: 2) Directory where TestStand stores executables and DLLs, typically <TestStand>\Bin. (Value: 3) Directory where TestStand stores configuration files, typically <TestStand Application Data>\Cfg. (Value: 4) Directory where TestStand stores publicly editable files, typically C:\Users\Public\Documents\National Instruments\TestStand on Windows 8.1/8/7. (Value: 5) Directory where TestStand stores common application data, such as configuration information, typically C:\ProgramData\National Instruments\TestStand on Windows 8.1/8/7. (Value: 6) Directory where TestStand stores per-user application data, typically <User Directory>\AppData\Local\National Instruments\TestStand on Windows 8.1/8/7. (Value: 7) Directory where TestStand looks for user-defined components to override National Instruments components, such as callbacks, icons, language files, step types, and type palettes, typically, <TestStand Public>\Components. (Value: 8) Directory where TestStand stores components, such as callbacks, icons, language files, step types, and type palettes, typically <TestStand>\Components. (Value: 10) Directory where TestStand stores temporary files. TestStand does not clean up files that you create in this directory but does erase files you create with the Engine.CreateTempFile method. (Value: 9) This value is obsolete. Returns the directory path with a trailing backslash where TestStand stores temporary files. TestStand does not clean up files that you create in this directory but does erase files you create with the Engine.CreateTempFile method. (Value: 11) Directory where TestStand stores configuration files for the global environment, typically <TestStand Application Data>\Cfg. (Value: 12) Directory where TestStand stores publicly editable files for the global environment, typically C:\Users\Public\Documents\National Instruments\TestStand on Windows 10/8.1/7. (Value: 13) Directory where TestStand stores common application data for the global environment (<TestStand Application Data>), such as configuration information, typically C:\ProgramData\National Instruments\TestStand. (Value: 14) Directory where TestStand stores user-specific application data for the global environment, typically <User Directory>\AppData\Local\National Instruments\TestStand on Windows 10/8.1/7. Use the Step.AdditionalResults property to obtain an instance of this class, which contains collections for the parameter additional results and custom additional results of a step. Returns the parameter results for a step. You cannot directly add or remove additional results in this collection. The parameters in the step module determine the items in this collection. This collection contains an item for every [In] parameter and for every [Out] parameter. For every [In/Out] parameter, this collection contains one item for the [In] value and another item for the [Out] value. Returns the custom additional results for a step. An AdditionalResult specifies additional data to add to the result list when a step executes. An AdditionalResult can be an arbitrary piece of data or the value of a module parameter. An AdditionalResult is a member of the Step.AdditionalResults.ParameterResults collection, the Step.AdditionalResults.CustomResults collection, or the AdditionalResult.Elements collection. An expression that evaluates to the name of the additional result. The name is usually a string literal or uses the ResStr expression function to specify a localized string. Specifies to log the additional result. If the CheckedState property is CheckedState_Unchecked, TestStand does not log the additional result. The value of the CheckedState property reflects the CheckedState of the AdditionalResult.Elements collection when the Elements collection is not empty. If all the Elements have the same CheckedState value, the CheckedState property uses the CheckedState value of the Elements. If all the Elements do not have the same CheckedState value, the value of the AdditionalResult.CheckedState property is CheckedState_Indeterminate. Setting the CheckedState property value sets the CheckedState value of all Elements to the same value and updates the CheckedState value of the AdditionalResult.ParentAdditionalResult property. An expression that specifies the value to log for the additional result. Returns True if the members of the AdditionalResult.Elements collection are incompatible with the fields defined in the type that the AdditionalResult.Type property specifies. Setting the AdditionalResult.IsAnyType property or the Type property updates the members in the Elements collection. The members of Elements are compatible with the Type property as long as the number of Elements is the same as the number of fields the Type property defines and the AdditionalResult.Name and Type properties of each member of Elements match a corresponding field the Type defines. A collection of AdditionalResult objects from an AdditionalResult.Elements collection that TestStand could not map to an updated Elements collection when you set the AdditionalResult.Type property. TestStand does not record the AdditionalResult objects in this collection. An expression that must be empty or evaluate to True to log the additional result. Specifies the PropertyFlags TestStand sets when it logs the additional result. You can use any combination of the PropFlags_IncludeInReport, PropFlags_IsMeasurementValue, and PropFlags_IsLimit property flags. For a custom additional result, if this property is False, you can set the AdditionalResult.Type property to specify the type of the AdditionalResult.ValueToLog property. If this property is True, the ValueToLog property can be any type. For a parameter additional result, this property is always False. If the AdditionalResult.IsAnyType property is False, this property is a collection of AdditionalResult objects that correspond to the fields of the type the AdditionalResult.Type property specifies. If the IsAnyType property is True, this property is an empty collection. Setting the IsAnyType property or the Type property updates the members in the Elements collection. For a custom additional result, if the AdditionalResult.IsAnyType property is True, this property returns the type of the AdditionalResult.ValueToLog property. If the AdditionalResult.IsAnyType property is False, set this property to a PropertyObjectType object to specify the type of the AdditionalResult.ValueToLog property. Use the PropertyObject.Type property or the Engine.NewPropertyObjectType method to obtain a PropertyObjectType object to set this property to. For a parameter additional result, this property returns the type the parameter specifies. For a custom additional result, when the AdditionalResult.IsAnyType property is True, this property is NULL if the AdditionalResult.ValueToLog property is empty or contains an error. When the AdditionalResult.IsAnyType property is False, this property is the value you last set the property to. Setting the AdditionalResult.Type property updates the members in the AdditionalResult.Elements collection and maps existing settings from the old Elements collection to the new Elements collection based on the AdditionalResult.Name and Type properties of the members. TestStand adds Elements from the old collection that do not map to Elements in the new collection to the UnmappedAdditionalResults collection. If this property is not NULL, this property returns the AdditionalResult with an AdditionalResult.Elements collection that contains this AdditionalResult. Returns the type of additional result for the object. For a parameter additional result, this property returns the module parameter of which the additional result logs the value. This property returns NULL for a custom additional result. This property can specify a LabVIEWParameter, LabVIEWParameterElement, CVIParameter, DllParameter, SequenceCallParameter, DotNetParameter, DotNetCall, or ActiveXParameter object, depending on the step adapter and the location of the parameter in the hierarchy of module call parameters. A parameter object that is a CVIParameter or DllParameter object is also a CommonCParameter object. This class represents a collection of AdditionalResult objects. Use the Step.AdditionalResults.ParameterResults, Step.AdditionalResults.CustomResults, or AdditionalResult.Elements properties to obtain an AdditionalResults collection. Returns a reference to an item at the specified index in the collection. Specifies the zero-based index of the item to retrieve. Returns the number of items in the collection. Returns the number of items in the collection with an AdditionalResult.CheckedState property of CheckedState_Checked or CheckedState_Indeterminate. Adds a new item to the collection. The additional result this method inserts into the collection. Specifies the AdditionalResult.Name property of the new additional result. Specifies the AdditionalResult.ValueToLog property for the new additional result. Specifies the AdditionalResult.Condition property of the new additional result. Specifies the AdditionalResult.Flags property of the new additional result. Specifies where to insert the new item. Pass -1 to insert the item at the end of the collection. Removes the specified item from this collection, if it exists. The additional result this method removes from the collection. Specifies the zero-based index of the item to remove. Removes all the additional results from the collection. Moves an additional result within the collection. Specifies the zero-based index of the item to move. Specifies the zero-based index to move the item to. Use the PropertyObjectType class to obtain type information for a PropertyObject. Use the PropertyObject.Type property or the Engine.NewPropertyObjectType method to obtain an instance of this class. Returns the dimensions for a PropertyObject that is an array. Returns zero dimensions for a PropertyObject that is not an array. When you change the dimensions of an array using the ArrayDimensions property, TestStand does not move existing elements to preserve their indices. Indices of elements in the modified array may differ from the original. To preserve the element indices of one-dimensional arrays, use methods on the PropertyObject interface. Use PropertyObject.SetNumElements to set the size of a one-dimensional array. Use the PropertyObject.Set_ByOffset methods (e.g. PropertyObject.SetValBooleanByOffset) and specify the PropOption_InsertElement flag to insert new elements into a one-dimensional array. Use PropertyObject.DeleteElements to delete specific elements from a one-dimensional array. Compares this object to another PropertyObjectType. With no options, this method returns True if both PropertyObjectType objects have the same value for every property, the PropertyObjectType.ElementType properties are equal, and the PropertyObjectType.ArrayDimensions properties specify the same array bounds. Pass a PropertyObjectType to compare to this PropertyObjectType. Specify any combination of TypeEqualOptions. Returns the type of the value of a PropertyObject. If the property is an instance of a named type, ValueType does not return PropValType_NamedType. Instead, ValueType returns one of the other property value type constants to indicate the value type of the type definition. Use the PropertyObjectType.TypeName property to determine whether a property is an instance of a named type. This property is False for array elements that do not have an associated PropertyObject. You can acquire a PropertyObject to these elements through methods such as the PropertyObject.GetPropertyObject method. However, the PropertyObject TestStand returns is an alias to the element that internally accesses the element through the array and a lookup string. PropertyObjects that are not objects do not store a value for the PropertyObject.Name, PropertyObject.Comment, or PropertyObject.NumericFormat properties. For a PropertyObject that is an instance of a named type, this property is the type name of the named type. Otherwise, this property is an empty string. For a PropertyObject that is an array, this property returns the type of the array elements. Otherwise, this property is NULL. Returns the type of the object. Specifies the representation of the PropertyObject. TestStand uses strict representation matching. Use the expression functions to convert the representation as needed. By default, TestStand sets the representation of non-numeric property objects to PropertyRepresentation_None. TestStand number variables do not have separate numeric representations for 32-bit, 16-bit, and 8-bit integers. Historically, TestStand stored all numeric values, including integers, in a double-precision, floating-point format. However, for 64-bit integers, a double-precision, floating-point format is not sufficient because it cannot store all values of a 64-bit integer. Thus, TestStand now includes 64-bit integer representations. National Instruments recommends storing 32-bit, 16-bit, and 8-bit integer values using the double-precision representation because the double-precision format is sufficient for these data types, and most existing TestStand code expects numeric variables to use the double-precision representation. Use the ArrayDimensions class to obtain and set array bounds information for a PropertyObject. Use the PropertyObjectType.ArrayDimensions property to obtain an instance of this class. Returns an array of numbers that contains the lowest valid index for each dimension. For a PropertyObject that is an empty array, this method returns an array with an element for every dimension in the PropertyObject array. Returns an array of numbers that contains the highest valid index for each dimension. For a PropertyObject that is an empty array, this method returns an empty array. Sets the upper and lower bounds from number arrays for a PropertyObject that is an array. The elements in the array retain their values. An array of numbers that specifies the lowest valid index for each dimension. An array of numbers that specifies the highest valid index for each dimension. Returns an array index string that specifies the lowest valid index for each dimension. For example, a two-dimensional array with a lower bound of 0 for the first dimension and 2 for the second dimension has the lower bound string "[0][2]". Returns an array index string that specifies the highest valid index for each dimension. For example, a two-dimensional array with an upper bound of 2 for the first dimension and 4 for the second dimension has the upper bound string "[2][4]". Sets the upper and lower bounds from strings for a PropertyObject that is an array. The elements in the array retain their values. An array index string that specifies the lowest valid index for each dimension. For example, a two-dimensional array with a lower bound of 0 for the first dimension and 2 for the second dimension has the lower bound string "[0][2]". An array index string that specifies the highest valid index for each dimension. For example, a two-dimensional array with an upper bound of 2 for the first dimension and 4 for the second dimension has the upper bound string "[2][4]". Returns an array of numbers that contains the size of each dimension in the array. For a PropertyObject that is an empty array, this method returns an array with an element for every dimension in the PropertyObject array. Each element in the array this method returns has a value of zero. Returns the upper and lower bounds of each array dimension. Gets the number of dimensions in the array. The number of dimensions in the array. Use these constants with the PropertyObjectType.IsEqualTo method. (Value: 0x0) No options. (Value: 0x1) Specifies that the PropertyObjectType.IsEqualTo method does not compare the array dimensions that the PropertyObjectType.ArrayDimensions property specifies. (Value: 0x2) Specifies that the PropertyObjectType.IsEqualTo method does not compare the PropertyObjectType.IsObject property. Use these constants to specify the options parameter of the Utility.Escape and Utility.Unescape methods. The options parameter specifies to add quotation marks or to remove quotation marks while escaping or unescaping. (Value: 0) Default behavior. TestStand does not add or remove quotation marks after escaping or unescaping. (Value: 1) For the Utility.Escape method, TestStand surrounds the returned string with quotation marks after escaping the string. For the Utility.Unescape method, TestStand removes the surrounding quotation marks before unescaping the string. The Utility.Unescape method returns an error if you use this option and the string to unescape is not surrounded by quotation marks. Use this class to perform utility functions. Use the Engine.Utility property to obtain an instance of this class. Replaces special characters with the following escaping sequences: @table(2,7,True,Sequence!Purpose!\n!New line!\r!Carriage return!\r\n!Carriage return/new line!\"!Quotation marks!\\!Backslash character!\t!Tab) The escaped string. Specifies the string to escape. Specifies the EscapingOptions constants to surround the returned string in quotation marks. Converts escaping sequences to special characters as follows: @table(2,7,True,Sequence!Purpose!\n!New line!\r!Carriage return!\r\n!Carriage return/new line!\"!Quotation marks!\\!Backslash character!\t!Tab) The unescaped string. Specifies the string to unescape. Specifies the EscapingOptions constants to remove surrounding quotation marks before unescaping the string. Creates TestStand logs. Call this method to create TestStand crash log and NIER dump files. After an application crash, this method creates the crash log in <TestStand_LocalAppData>\CrashLogs and the NIER dump file in <TestStand_LocalAppData>\NIERDump. The contents of these files depend on the settings you specify in the configuration INI file for the application. Pass 0 for this parameter. Use objects of this class to store, update, and transfer reports. You typically use ReportSection objects to avoid creating copies of a report as the report is transferred between the report generator, process models, Report object, and ReportView control. You can create a new ReportSection object by calling the Report.NewReportSection method. ReportSection objects can contain other ReportSection objects. Typically, a process model creates and updates the ReportSection object and assigns it to the Report object by setting the Report.ReportSection property. Specifies a reference to the ReportSections object, which is a collection that contains a list of child ReportSection objects to the current object. Specifies the string stored in the body of the ReportSection. Returns True only if the header, body, and footer of the ReportSection and the children are empty. Returns a unique ID that distinguishes the ReportSection from all other ReportSection objects. Note: The ID number is never zero. Specifies the string stored in the header of the ReportSection. Specifies the string stored in the footer of the ReportSection. Returns all the content of the ReportSection as a string. The returned string is a concatenation of the ReportSection.Header, ReportSection.Body, and ReportSection.GetAllText strings of all child ReportSection objects and the ReportSectionFooter string, in that order. This class is a collection of ReportSection objects. The collection contains a list of ReportSection objects that are children of the ReportSection object from which the ReportSections object was obtained. Returns a reference to an item at the specified index in the collection. Specifies the zero-based index of the item to retrieve. Returns the number of items in the collection. Adds a new item to the collection. The ReportSection this method inserts into the collection. Specifies the zero-based index at which to insert the new item. Pass -1 to insert the item at the end of the collection. Specifies the ReportSection.Header property of the new ReportSection. Specifies the ReportSection.Body property of the new ReportSection. Specifies the ReportSection.Footer property of the new ReportSection. Removes the specified item from this collection, if it exists. The ReportSection this method removes from the collection. Specifies the zero-based index of the item to remove. Removes all items from the collection. Inserts an existing ReportSection object into the collection. Specifies existing ReportSection to insert into the collection. Specifies the zero-based index at which to insert the new item. Pass -1 to insert the item at the end of the collection. Use these options with the StationOptions.AllowAutomaticTypeConflictResolution property. (Value: 0) Always allows automatic type conflict resolution, which can cause unintended propagation of types between files. For example, if you open a sequence file with a version of a type that is higher than the version of the type currently in a type palette file, TestStand updates the type palette file and every file you subsequently open to use the higher version. The updated type propagates to other files without warning or notifying you. This behavior is the default behavior in TestStand 4.0.x or earlier. (Value: 1) Disallows automatic type conflict resolution when the outcome of the resolution modifies a type palette file. This ensures that the application never uses a version of a type that is different than the version of the type in the type palette file without your explicit confirmation. This is the default behavior. (Value: 2) Includes the same restrictions as the Only if Type Palette Files will not be Modified (default) option, but also includes the restriction that the type must be in a type palette file for automatic type conflict resolution to occur. Effectively, this option allows automatic type conflict resolution only when a type palette file has the higher version of the type and a non-type palette file has the lower version of the type. For example, this option does not allow automatic type conflict resolution between two sequence files for types that are not in type palette files, but the Only if Type Palette Files will not be Modified (default) option does allow this. (Value: 3) Disallows all automatic type conflict resolution. When TestStand loads two different versions of a type, TestStand always prompts you or reports a type conflict error. When you select this option, opening files from TestStand versions earlier than the current version almost always results in type conflict prompts. Use this option only for debugging purposes or to ensure that all files have exactly the same version of every type. Use this enumeration to specify the CPUs on which a new thread executes. (Value: 0) Specifies to use the StationOptions.DefaultCPUAffinityForThreadsEx property as the CPU affinity of the new thread. (Value: 1) Specifies to use the CPU affinity of the calling sequence as the CPU affinity of the new thread. (Value: 2) Specifies to use all CPUs available to the process as the CPU affinity of the new thread. (Value: 3) Specifies to use an expression to determine the CPU affinity of the new thread. Use the constants with the StationOptions.FileModificationIndicatorPolicy property. (Value: 0x0) TestStand indicates that any file with modifications is modified. (Value: 0x1) TestStand does not indicate that a file is modified if the only changes are from non-editable NI type upgrades, or file data format upgrades. Get the name of this ExecutionOutputRecordStream. You can specify an ExecutionOutputRecordStream by name in the Write Record step type. You can also retrieve an ExecutionOutputRecordStream from the current execution by name by calling ExecutionOutputRecordStreams.GetStream(). The name of this ExecutionOutputRecordStream. Add an OutputRecordStream to this ExecutionOutputRecordStream. A non-null reference to an OutputRecordStream to add to this ExecutionOutputRecordStream. Remove an OutputRecordStream from this ExecutionOutputRecordStream. The OutputRecordStream is not automatically closed when it is removed. To close the OutputRecordStream, call OutputRecordStream.Close() on the stream itself. A non-null reference to an OutputRecordStream to remove from this ExecutionOutputRecordStream. Remove all OutputRecordStream objects from this ExecutionOutputRecordStream. Streams are not automatically closed when they are removed. To close the streams, call ExecutionOutputRecordStream.Close before removing them. Define the field names for records displayed in the Report View. Defining the fields names for the ExecutionOutputRecordStream does not define them for the contained OutputRecordStream objects. It only specifies names for display in the Report View. Field names are not a part of the base OutputRecordStream interface, and may or may not be applicable for a specific OutputRecordStream implementation. To define the field names for a CsvFileOutputRecordStream, call CsvFileOutputRecordStream.WriteFieldHeaders(). A container or array defining the field names. If the fields parameter is a container, the container is the record, and each subproperty is a field. The names of the subproperties are the field names. If the record parameter is an array, the entire array is the record, and each array element is a field. The values of the array elements coerced to strings are the field names. Specifies the mapping from elements (either subproperties or array elements) in the fields parameter to fields in the stream. The mapping is a comma-separated list of index ranges. For example, "0, 3-5, 8-7" specifies that elements 0, 3, 4, 5, 8, and 7 specify the field names. The final range in the list may be open-ended. For example, "2, 3-" indicates that elements 2, 3, and all elements beyond 3 specify the field names. For convenience, you may specify an empty string to specify all elements be used in order. That is, an empty string is equivalent to "0-". The default value is an empty string. Write a record to the ExecutionOutputRecordStream. ExecutionOutputRecordStream.WriteRecord invokes OutputRecordStream.WriteRecord on each OutputRecordStream it contains, using the specified parameters. In addition, it updates the Report View with data from the new record. The record to write. The record parameter may be either a container or an array. If the record parameter is a container, the container represents the record, and each subproperty is a field. If the record parameter is an array, the entire array represents the record, and each array element is a field. Specifies the mapping from elements (either subproperties or array elements) in the record parameter to fields in the stream. The mapping is a comma-separated list of index ranges. For example, "0, 3-5, 8-7" specifies that elements 0, 3, 4, 5, 8, and 7 be written as the fields to the stream. The final range in the list may be open-ended. For example, "2, 3-" indicates that elements 2, 3, and all elements beyond 3 be written to the stream. If the record parameter is a container, the range list may include individual subproperty names. For example, "Temperature, Pressure, 0-1" specifies that the subproperties "Temperature" and "Pressure" as well as elements 0 and 1 be written as fields to the stream. For convenience, you may specify an empty string to specify all elements be written in order. That is, an empty string is equivalent to "0-". The default value is an empty string. Write a record to the ExecutionOutputRecordStream. ExecutionOutputRecordStream.WriteRecordFrom() invokes OutputRecordStream.WriteRecordFrom() on each OutputRecordStream it contains, using the specified parameters. In addition, it updates the Report View with data from the new record. Specifies the SequenceContext against which to evaluate the lookup strings specified by the record parameter. An array of lookup strings specifying the fields to write to the stream. The lookup strings are evaluated relative to the SequenceContext specified by the context parameter. Flush the OutputRecordStream objects contained in this ExecutionOutputRecordStream. ExecutionOutputRecordStream.Flush invokes OutputRecordStream.Flush on all of its contained OutputRecordStream objects. Close the OutputRecordStream objects contained in this ExecutionOutputRecordStream. ExecutionOutputRecordStream.Close invokes OutputRecordStream.Close on all of the OutputRecordStream objects contained by this ExecutionOutputRecordStream. Get or set the number of records to display in the Report View. A value greater than 0 specifies the upper limit to the number of records to display in the Report View. Once this limit is reached, each new record written to the Report View causes the oldest record to be removed. Specify a value greater than 0 to display recently written records while bounding the memory used by the Report View. A value of 0 disables updates to the Report View. Specify 0 for maximum performance when you do not need to view records in the Report View. A value of -1 specifies no limit to the number of records displayed in the Report View. Specify -1 when you are not concerned about memory use and wish to review all records written to the Report View. Note: Specifying -1 allows an unlimited amount of data to be written to the Report View. With this setting, writing too many records will cause TestStand to run out of memory. The number of records to display in the Report View. Make this ExecutionOutputRecordStream the active (displayed) report in the Report View. SetActiveReport can conflict with the settings for the active report in TestStand process models. National Instruments recommends against calling SetActiveReport from process model callbacks. Clear records for this ExecutionOutputRecordStream from the Report View. Indicate to the process model if it should clean up this ExecutionOutputRecordStream before starting the next UUT or batch. CloseAtNextUUTOrBatch indicates whether ExecutionOutputRecordStreams.BeginNextUUTOrBatch should close and remove this ExecutionOutputRecordStream. Note: Modifying this property has no direct effect on the behavior of the ExecutionOutputRecordStream. It is simply a flag that can be set or tested. The behavior described here relies on the process model calling ExecutionOutputRecordStreams.BeginNextUUTOrBatch on the ExecutionOutputRecordStreams collection associated with an execution at the appropriate time. Factory models shipped with TestStand support this behavior. Custom process models may or may not support this behavior. True if the process model should close this ExecutionOutputRecordStream and remove it from the execution before beginning the next UUT (for test sockets) or batch (for the controller socket in the batch model). False if the process model should not clean up this ExecutionOutputRecordStream. Sets or retrieves the display format in the Report View. Allowed values are:     * "txt"–(default) Plain ASCII text format    * "html"–HTML format that displays CSV data as a table. Get the ExecutionOutputRecordStream with the specified name. ExecutionOutputRecordStreams.GetStream throws a run-time error if the specified stream does not exist. The name of the stream to get. The name is case sensitive. Close the specified stream and remove it from this collection. The name of the stream to close and remove. The name is case sensitive. Specifying a stream that does not exist causes a run-time error. Close all ExecutionOutputRecordStream objects in this collection. Note: Note: The streams are not removed from the collection. Call ExecutionOutputRecordStreams.RemoveAll to remove them. Remove all ExecutionOutputRecordStream objects from this collection. Note: Note: The streams are not automatically closed when you remove them. Call ExecutionOutputRecordStreams.CloseAll first to close them. Clean up this ExecutionOutputRecordStreams object before beginning the next UUT or batch. BeginNextUUTOrBatch iterates over all ExecutionOutputRecordStream objects contained in this collection. Any streams with the ExecutionOutputRecordStream.CloseAtNextUUTOrBatch property set to true are closed and removed from the collection. Streams with this property set to false are left unchanged. Create a new ExecutionOutputRecordStream attached to the execution associated with this ExecutionOutputRecordStreams collection. Attempting to create a new stream with the same name as an existing stream that is already part of this ExecutionOutputRecordStreams collection causes a run-time error. The name of the stream to create. The name must be unique within this ExecutionOutputRecordStreams collection. Names are case sensitive. Open the file specified by the absolutePath argument, associating it with this CsvFileOutputRecordStream. You will not normally need to call this method, as Engine.NewCsvFileOutputRecordStream returns a stream already associated with an open file. When a CsvFileOutputRecordStream is no longer needed, it should be closed by calling CsvFileOutputRecordStream.Close. If it is not closed already, the stream will close automatically when the last reference to it is removed. Specifies the absolute path to the CSV file. Specifies how to open the CSV file. Supported options include:     * FileOpenMode_NoOptions - Create the file if it does not exist. Fail with a run-time error if the file exists.     * FileOpenMode_Truncate - If the file exists, overwrite it deleting the previous contents. Create a new file if it does not exist.     * FileOpenMode_Append - If the file exists, append to the end of it, preserving the existing contents. Create a new file if it does not exist.     * FileOpenMode_Uniquify - Create a new file if it does not exist. If a file with the specified path exists, attempt to make the file name unique by appending "_" (underscore) plus a numeric suffix to the file name. For example, if "AlreadyExists.csv" already exists, "AlreadyExists_2.csv" is tried, then "AlreadyExists_3.csv", etc. until a unique name has been found. If a unique name is not found after 10000 attempts, the method fails and throws a runtime error. Get the absolute path of the CSV file associated with this CsvFileOutputRecordStream. An empty string is returned if this stream is not currently associated with an open file. Path is set implicitly by calling CsvFileOutputRecordStream.Open and cleared by calling CsvFileOutputRecordStream.Close. The path of the CSV file associated with this stream. Write the field headers (i.e. column names) for your data to the underlying CSV file. WriteFieldHeaders is very similar to CsvFileOutputRecordStream.WriteRecord. The only difference is that if the specified record is a container, the names of the subproperties are written to the CSV file instead of the values. This makes it straightforward to completely specify records with a container. WriteFieldHeaders will also accept an array, but in this case the behavior is identical to CsvFileOutputRecordStream.WriteRecord. The values in the array specify the field headers. A container or array specifying the field headers. If a container is specified, names of the subproperties specify the field headers. If an array is specified, the values of the array elements coerced to strings define the field headers. Specifies the mapping from elements (either subproperties or array elements) in the fields parameter to fields in the stream. The mapping is a comma-separated list of index ranges. For example, "0, 3-5, 8-7" specifies that elements 0, 3, 4, 5, 8, and 7 define the field headers. The final range in the list may be open-ended. For example, "2, 3-" indicates that elements 2, 3, and all elements beyond 3 define the field headers. For convenience, you may specify an empty string to specify all elements be written in order. That is, an empty string is equivalent to 0-. The default value is an empty string. Get or set the separator character associated with this CsvFileInputRecordStream. By default, the separator character is a "," (comma). Note: Note: The only separator compliant with RFC 4180 is the comma. CsvFileOutputRecordStream supports any single character besides '"' (double quote), as well as null (empty string) for the separator. However, CsvFileInputRecordStream does not support carriage return, new line, or null separator characters. While it is possible to write files using these separator characters with CsvFileOutputRecordStream, CsvFileInputRecordStream cannot parse them. Attempting to set SeparatorChar to a string of two or more characters results in a run-time error. Note: Note: Although this interface accepts any Unicode character, TestStand only supports values that map to ANSI multibyte characters from the current code page. Note: Note: The comma is the only separator compliant with RFC 4180, "Common Format and MIME Type for Comma-Separated Values (CSV) Files." The separator character for the CSV file. Write a line of text to the file. A line feed is appended automatically. WriteLine provides a lower level interface to the underlying file than OutputRecordStream.WriteRecord. The specified string plus a linefeed is written directly to the file without further processing or escaping. Use this method to add formatting or other non-record data to the CSV file. The string to write. Set or retrieve the automatic flushing behavior of this CsvFileOutputRecordStream. If AutoFlush is false, this CsvFileOutputRecordStream is free to buffer data to improve performance. If AutoFlush is true, write operations (CsvFileOutputRecordStream.WriteRecord, CsvFileOutputRecordStream.WriteRecordFrom, and CsvFileOutputRecordStream.WriteLine) automatically flush before returning, reducing the risk of data loss in the event of a crash or other failure. Set AutoFlush to true when it is critical that no data be lost in the event of an unexpected crash or internal error. Set AutoFlush to false to achieve better performance. By default AutoFlush is false. True makes all write operations flush immediately. False allows this stream to buffer write operations for better performance. Write the specified prototype to the CSV file. A container or PropertyObject array defining the prototype for this stream. The name and type of each subproperty or array element define to the name and type of the column in the CSV file with the corresponding index. Specifies the mapping from fields in the prototype parameter to columns in the CSV file. The mapping is a comma-separated list of index ranges. For example, "0, 3-5, 8-7" specifies that fields 0, 3, 4, 5, 8, and 7 of the container correspond to columns 0-5 of the CSV file. The final range in the list may be open-ended. For example, "2, 3-" indicates that fields 2, 3, and all fields beyond 3 map to columns 0, 1, 2, etc. of the CSV file. The range list may also include individual subproperty or array element names. For example, "Temperature, Pressure, 0-1" specifies that the subproperties or array elements named "Temperature" and "Pressure", followed by those with indices 0 and 1 define columns 0-3 of the CSV file. For convenience, you can specify an empty string to specify all fields from the prototype parameter define the columns in order. That is, an empty string is equivalent to "0-". Open the file specified by the absolutePath argument, associating it with this CsvFileInputRecordStream. You will not normally need to call this method, as Engine.NewCsvFileInputRecordStream returns a stream already associated with an open file. When a CsvFileInputRecordStream is no longer needed, it should be closed by calling CsvFileInputRecordStream.Close. If it is not closed already, the stream will close automatically when the last reference to it is removed. Specifies the absolute path to the CSV file. Get the absolute path of the CSV file associated with this CsvFileInputRecordStream. An empty string is returned if this stream is not currently associated with an open file. Path is set implicitly by calling CsvFileInputRecordStream.Open and cleared by calling CsvFileInputRecordStream.Close. The path of the CSV file associated with this stream. Read the next line of text from the underlying file. CsvFileInputRecordStream.ReadLine provides a lower level interface to the underlying file than ReadRecord. The next line of text from the file is stored directly to the lineString parameter with no additional processing. Note: Note: CsvFileInputRecordStream.ReadLine has no special behavior for end of table the way CsvFileInputRecordStream.ReadRecord does. Returns 0 if a line of text was successfully read. Returns non-zero if end of file is encountered. Outputs the next line from the CSV file. Get or set the separator character associated with this CsvFileInputRecordStream. By default, the separator character is a "," (comma). Note: The only separator compliant with RFC 4180 is the comma. CsvFileInputRecordStream supports any single character for the separator except for '"' (double quote), new line, carriage return, or null (empty string). Attempting to set the separator to an empty string or string of two or more characters causes a run-time error. Note: Although this interface accepts any Unicode character, TestStand only supports values that map to ANSI multibyte characters from the current code page. The separator character for the CSV file. Search forward through the file for the line beginning with the specified string. Reading begins from the next line. Use CsvFileInputRecordStream.ScanForTag to search through a CSV file for a known string that indicates the location of the records you wish to read. Returns 0 if the tag was found. Returns non-zero if end of file was encountered without finding the tag. The tag to search for. Specifies whether to perform case-sensitive or case-insensitive matching. Specify true to ignore case, or false to perform case-sensitive matching. Skip the specified number of lines. This method provides a lower level interface to the underlying file than InputRecordStream.SkipRecords. Lines are read from the file and discarded immediately without further processing. Unlike InputRecordStream.SkipRecords, InputRecordStream.SkipLines has no special behavior for end of table. Returns 0 if numLines were successfully skipped. Returns non-zero if end of file is encountered before numLines could be skipped. The number of lines to skip. A value of 0 indicates to return successfully without skipping any lines. A negative value causes a run-time error. Reads the next record from the stream. Implements InputRecordStream.ReadRecord. CsvFileInputRecordStream is designed to work with CSV files that contain multiple tables. Strictly speaking, such files are not compliant with RFC 4180, but many common spreadsheet applications support them regardless. If CsvFileInputRecordStream.ReadRecord encounters an empty line or a line with nothing but separator characters, it returns 1 to indicate it has reached the end of the current table. CsvFileInputRecordStream.ReadRecord returns -1 to indicate it has reached the end of the underlying file. Note: CsvFileInputRecordStream considers only empty lines and lines that contain nothing but separators as end-of-table markers. Lines containing whitespaces are not interpreted as end of table. A record consisting of only empty strings can be represented by surrounding empty strings with quotes. Such a record is read normally and not interpreted as end of table. Applications that only need to read the current table do not have to be aware of end-of-table vs. end-of-file distinction, as InputRecordStream.ReadRecord defines end of file to be any non-zero return value. However, applications that are aware they are reading a CsvFileInputRecordStream can distinguish between having reached the end of the current table and the actual end of the file by checking if the return value is +1 or -1. Note: The TestStand For Each, Stream Loop, and Sweep Loop steps operate on the InputRecordStream interface. Loops terminate upon encountering either the end of the current table or the end of the file. CsvFileInputRecordStream instances without record prototypes store data to fields in the order specified by the mapping parameter. When the stream has a prototype, columns in the CSV file are mapped by name to fields in the record. As such, the record must be of a type that supports named fields: either a container or PropertyObject array. If the record is a container, the prototype field name determines the name of the subproperty the value in its column is stored to. If the record is an array, the prototype specifies the name of the array element(s) the value in its column is stored to. The record parameter cannot be a string or other type of array, as these types do not support named fields. Specifying a field mapping when a prototype is present results in a run-time error. Returns 0 if a record was successfully read. Returns -1 if end of file was encountered before reading a record. Returns 1 if the end of a table was encountered before reading a record. Specifies where to store the incoming record. Refer to InputRecordStream.ReadRecord for more information.Note: When a prototype is present, the record parameter must be either a container or an array of containers with named array elements. It cannot be another type of array or a string. Specifies the mapping to elements (subproperties or array elements) in the record parameter from fields in the CSV file. Refer to InputRecordStream.ReadRecord for more information. Passing a non-empty field mapping to a stream that has a record prototype results in a run-time error. Set the prototype associated with this CsvFileInputRecordStream. A container defining the prototype for this stream. The name and type of each subproperty correspond to the name and type of the column in the CSV file with the same index as the subproperty. Specifies the mapping from subproperties in the prototype parameter to columns in the CSV file. The mapping is a comma-separated list of index ranges. For example, "0, 3-5, 8-7" specifies that subproperties 0, 3, 4, 5, 8, and 7 of the container correspond to columns 0-5 of the CSV file. The final range in the list may be open-ended. For example, "2, 3-" indicates that subproperties 2, 3, and all subproperties beyond 3 map to columns 0, 1, 2, etc. of the CSV file. The range list may also include individual subproperty names. For example, "Temperature, Pressure, 0-1" specifies that the subproperties "Temperature" and "Pressure", then subproperties 0 and 1 define columns 0-3 of the CSV file. For convenience, you can specify an empty string to specify all subproperties of the container define the columns in order. That is, an empty string is equivalent to "0-". Get the prototype associated with this CsvFileInputRecordStream. True if there is a record prototype associated with this CsvFileInputRecordStream. Otherwise, returns false. A container defining the prototype for this stream. The name and type of each subproperty correspond to the name and type of the column in the CSV file with the same index as the subproperty. This parameter is reserved for future use. Read the record prototype from the CSV file, and set it. A container defining the prototype for this stream. The name and type of each subproperty correspond to the name and type of the column in the CSV file with the same index as the subproperty. This parameter is reserved for future use. (Value: 0) (Value: 1) (Value: 2) (Value: 4) (Value: 8) (Value: 10) These constants represent the values you can use with the changedProperties parameter of the LabVIEWNXGModule.HavePropertiesChanged method. Use these constants with the bitwise-OR operator on the value returned in the changedProperties parameter to determine what has changed in module. If the bitwise-OR returns true, then that property or value has changed in the module. (Value: 0x0) None of the validations specified by the options parameter in LabVIEWNXgModule.HavePropertiesChanged failed. (Value: 0x1) The GVI description has changed. (Value: 0x2) The checksum of the GVI has changed. This indicates that the parameters or namespace of the GVI has changed from when the step was last configured. (Value: 0x4) The GVI is broken or not in a runnable state. (Value: 0x8) The GLL specified by the GLL Path property does not match the GLL output path of the component selected in the Module Qualified Name. The GLL specified in the step should exactly match the GLL output determined by the project, target and component selected in the step, if any. A mismatch could mean that two different GVIs are being run when the module is executed in the LabVIEW NXG Development System vs when the module is executed in the Runtime Engine. (Value: 0x10) The GVI selected in the Module Name property is absent in the GLL specified in the step. (Value: 0) (Value: 1) Describes the transition that the profiler event records. (Value:0) (Value: 1) (Value: 2) (Value: 3) (Value: 4) (Value: 5) Specifies the internal startup options you can set through the EngineInitializationSettings.SetInternalStartupOption method. (Value: 0x1) This option is reserved for internal use by National Instruments. Specifying this option in a user-built application has no effect. These constants represent the values you can use with the options parameter of the LabVIEWNXGModule.HavePropertiesChanged method. Use the bitwise-OR operator to specify more than one option. (Value: 0x0) Perform validations for all the options. (Value: 0x1) Validate if GVI description changed. (Value: 0x2) Validate that the checksum of the GVI matches the checksum value stored in the module. Checksum changes indicate that the parameters or namespace of the GVI has changed from when the module was configured/last reloaded. (Value: 0x4) Validate if GVI is broken. (Value: 0x8) Validate that the GLL configured in the GLL Path property of the module matches the output path specified in the LabVIEW NXG component (.gcomp) selected in the step. (Value: 0x10) Validate that the GVI specified in the module is contained in the component(.gcomp) specified in the Module Qualified Name. Use these constants with the Engine.ProfilerOptions property to specify the type of data that profiling collects. (Value: 0x100) Include module paths and environments in the profile. (Value: 0x200) Include module input values in the profile. (Value: 0x0) No data is excluded from the profile. (Value: 0x8) Exclude unloaded modules from the profile. (Value: 0x20) Exclude synchronization objects from the profile. (Value: 0x1) Exclude Step types from the profile. (Value: 0x10) Exclude steps from the profile. (Value: 0x2) Exclude Step modules from the profile. (Value: 0x40) Exclude process models from the profile. (Value: 0x80) Exclude location information from the profile. (Value: 0x4) Exclude loaded modules from the profile. (Value: 0x400) Include module output values in the profile. (Value: -1) (Value: 0x2) (Value: 0x1) Use the UIStyle class to configure style settings for dialogs and controls TestStand displays. Use the UIStyle class to configure style settings for dialogs and controls TestStand displays. Use the UIStyle class to configure style settings for dialogs and controls TestStand displays. Returns the name of the font. Returns the name of the font. Returns the size of the font. Returns the size of the font. Returns the background color. Returns the background color. Returns the foreground color. Returns the foreground color. Returns the background color for an item you select in the TestStand Sequence Editor or a TestStand User Interface. Returns the background color for an item you select in the TestStand Sequence Editor or a TestStand User Interface. Returns the foreground color for an item you select in the TestStand Sequence Editor or a TestStand User Interface. Returns the foreground color for an item you select in the TestStand Sequence Editor or a TestStand User Interface. These constants represent the options for the Engine.RegisterSequenceToExecuteOnCrash method. (Value: 0x0) No options. (Value: 0x1) Load the sequence file while registering for crash recovery callback. Use these constants to specify different methods of opening files. (Value: 0x2) Append to the end of an existing file. (Value 0x0) No options. (Value 0x1) Overwrite an existing file, deleting its contents. (Value 0x4) Create a new file it does not exist. If the file already exists, attempt to make the file name unique. The algorithm for creating a unique filename depends on the specific function being invoked.