3. Windows SDK
API Calling Convention
In previous releases, the API functions use __cdecl calling convention. In this release, the API func-
tions use __stdcall calling convention. The reason for the change is to allow application development
using Visual Basic. Visual Basic programs can only access exported DLL functions using __stdcall
calling convention. Because of the calling convention change, you must recompile your existing appli-
cations in order to use the new SDK. The current release provides all the API functions that are avail-
able in previous releases with the exact function signature. In other word, only new API functions are
added but existing API functions are never taken away. Hence, the recompilation of your application
should be successful without any code change.
If you cannot recompile or you don’t have the source code to recompile, you must use a WinRT based
software release (release 8.0.0 or earlier). Please do not install the driver and new SDK.
NoSync Read Time Functions
The major and minor time are held in two 32-bit registers. In previous releases, the read time API func-
tions bcReadBinTime() and bcReadDecTime() do not use synchronization primitives to protect the
two separate 32-bit register reads. This caused occasional problems when two quick consecutive
calls of read time functions returned out of sync time values. In this release, the above two functions
and the two newly added functions bcReadBinTimeEx() and bcReadDecTimeEx() use a shared crit-
ical section to protect the two 32-bit register reads. This ensures the two successive calls of read
time functions return correct time values.
However, the addition of critical section introduces a slight per call delay. Sometimes, the added
delay is not desirable for applications that manage the time value synchronization problem them-
selves. For this reason, four additional API functions bcReadBinTimeNoSync(), bcRead-
BinTimeExNoSync(), bcReadDecTimeNoSync() and bcReadDecTimeExNoSync() are added that do
not use any critical section object. The bcReadBinTimeNoSync() and bcReadDecTimeNoSync() are
the same as bcReadBinTime() and bcReadDecTime() respectively from the previous releases. You
now have choices to decide which function to use in your application per your need.
3.3. Installation
Hardware and driver installation
You must install the TFP hardware and the appropriate driver software before you proceed to the Soft-
ware Developer's Kit Installation. Please refer to the Section 1 of this manual for the hardware and
driver software installation instruction.
Software developer's kit installation
Installation of the Software Developer's Kit is handled by executing the installer program “bc635_
637PCI_SDK_Setup.exe”. You must accept the license agreement and follow the instruction on the
screen to install the Software Developer's Kit.
- 104 -
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com