Some TestStand 2013 or earlier API methods and properties represents pointers or pointer-sized values as 32-bit integral data types, usually long, which does not work for 64-bit applications. The following table lists obsolete properties and methods and the corresponding TestStand properties and methods that support 32-bit applications and 64-bit applications.

Table 36. NI TestStand
Class Obsolete (32-bit only) Property or Method 32-bit TestStand and 64-bit TestStand Property or Method
Engine LargeImageList LargeImageListEx
Engine RegisterUIMessageCallback RegisterUIMessageCallbackEx
Engine SmallImageList SmallImageListEx
Station Options DefaultCPUAffinityForThreads DefaultCPUAffinityForThreadsEx
InstrSession CloseFunction CloseFunctionEx
InstrSession GetHandle GetHandleEx
Table 37. NI Session Manager
Class Obsolete (32-bit only) Property or Method 32-bit TestStand and 64-bit TestStand Property or Method
Engine LargeImageList LargeImageListEx
Engine RegisterUIMessageCallback RegisterUIMessageCallbackEx
Engine SmallImageList SmallImageListEx
Station Options DefaultCPUAffinityForThreads DefaultCPUAffinityForThreadsEx
InstrSession CloseFunction CloseFunctionEx
InstrSession GetHandle GetHandleEx

32-bit TestStand supports the obsolete properties and methods for compatibility, but NI recommends using the obsolete API only when you migrate existing 32-bit TestStand systems to 32-bit TestStand. For TestStand 2014 or later applications and for updates to existing systems, use the TestStand API regardless of current requirements for 64-bit support. The obsolete properties and methods return errors when invoked in 64-bit TestStand.

In addition, the following new methods support attaching user-defined pointer-sized values to sessions and function similarly to the existing InstrSession.AttachLong and InstrSession.GetLong methods:

  • InstrSession.AttachLongPtr
  • InstrSession.GetLongPtr

Continue to use the InstrSession.AttachLong and InstrSession.GetLong methods with values that are 32-bits regardless of architecture.