Call Executable Step Type Support for 64-bit TestStand

When you migrate from 32-bit TestStand to 64-bit TestStand or when you need to simultaneously support the 32-bit architecture and the 64-bit architecture, you must consider how to set the Process Handle Location option on the Wait Options tab of the Call Executable edit tab in the TestStand Sequence Editor or on the Wait Options tab of the Configure Call Executable dialog box in a TestStand User Interface. The Process Handle Location option stores a process handle as a pointer-sized value. 32-bit TestStand expects this expression to be of type Object Reference or Number with the default representation (double). 64-bit TestStand expects this expression to be of type Object Reference.

Use the Step.ProcessHandle Call Executable step type property, which is a Number with the default (double) representation, only for backward compatibility. For new code and code that needs to be 64-bit compatible, use the Step.ProcessHandlePtr property instead. The Step.ProcessHandlePtr Call Executable step type property is an Object Reference variable that can store a pointer-sized integer regardless of the bitness of TestStand. When you pass this value into a code module, you can use the pointer/handle type for C/C++, the IntPtr type for the .NET Adapter, or use the expression functions UInt64 or Float64 to convert the value to a 64-bit number for 64-bit TestStand or to a 32-bit number for 32-bit TestStand as needed.