diff --git a/Cpp/examples/c_cpp/build_all_examples.bat b/Cpp/examples/c_cpp/build_all_examples.bat
deleted file mode 100644
index a02ff2aa1b9db9bc3c8f5e5245d32c2155a22e5d..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/build_all_examples.bat
+++ /dev/null
@@ -1,82 +0,0 @@
-@echo off
-
-rem This script checks all subdirectories for .vcproj files and tries to build
-rem each project as 32bit and 64bit application, both debug and release.
-
-setlocal EnableDelayedExpansion
-
-set LIST=
-
-rem Konvertierung vcproj -> vcxproj:
-rem devenv /Upgrade xyz.vcproj
-rem danach gibt es Linkerfehler, weil die Libs falsch eingebunden sind.
-rem dagegen hilft sed:
-rem sed -i "s/CustomBuild/Library/" %%P
-rem danach sind noch die Ausgabepfade Murks
-rem wieder sed:
-rem sed -i "/<Link>/{n;s/.*/      <OutputFile>$(TargetPath)<\/OutputFile>/ }" %%P
-
-rem ältere msbuild Versionen geben komische Fehler
-set MSBUILD="C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe"
-
-rem loop over all directories
-FOR /F %%D in ('dir /A:D /B') DO (
-    pushd %%D
-
-    rem loop over all .vcproj files in directory
-    FOR /F %%P in ('dir /B *.vcxproj 2^>nul') DO (
-        rem vcbuild /r /platform:Win32 %%P Debug
-        rem 
-        %MSBUILD% /target:Rebuild /property:Configuration=Debug;Platform=x86 %%P
-        if ERRORLEVEL 1 (
-            echo.
-            echo ERROR: %%D/%%P Win32 Debug FAILED
-            set LIST=!LIST! "%%D/%%P Win32 Debug" 
-        )
-        rem vcbuild /r /platform:Win32 %%P Release
-        rem sed -i "s/CustomBuild/Library/" %%P
-        rem sed -i "/<Link>/{n;s/.*/      <OutputFile>$(TargetPath)<\/OutputFile>/ }" %%P
-        %MSBUILD% /target:Rebuild /property:Configuration=Release;Platform=x86 %%P
-        if ERRORLEVEL 1 (
-            echo.
-            echo ERROR: %%D/%%P Win32 Release FAILED
-            set LIST=!LIST! "%%D/%%P Win32 Release" 
-        )
-        rem vcbuild /r /platform:x64   %%P Debug
-        rem sed -i "s/CustomBuild/Library/" %%P
-        rem sed -i "/<Link>/{n;s/.*/      <OutputFile>$(TargetPath)<\/OutputFile>/ }" %%P
-        %MSBUILD% /target:Rebuild /property:Configuration=Debug;Platform=x64 %%P
-        if ERRORLEVEL 1 (
-            echo.
-            echo ERROR: %%D/%%P x64 Debug FAILED
-            set LIST=!LIST! "%%D/%%P x64 Debug" 
-        )
-        rem vcbuild /r /platform:x64   %%P Release
-        rem sed -i "s/CustomBuild/Library/" %%P
-        rem sed -i "/<Link>/{n;s/.*/      <OutputFile>$(TargetPath)<\/OutputFile>/ }" %%P
-        %MSBUILD% /target:Rebuild /property:Configuration=Release;Platform=x64 %%P
-        if ERRORLEVEL 1 (
-            echo.
-            echo ERROR: %%D/%%P x64 Release FAILED
-            set LIST=!LIST! "%%D/%%P x64 Release" 
-        )
-    )
-
-    popd
-)
-
-echo.
-echo *****************************************
-IF DEFINED LIST (
-    echo The following examples failed to compile:
-    echo.
-    FOR %%a in (%LIST%) DO echo %%a
-    echo.
-    pause
-    exit /B 1
-) ELSE (
-    echo All examples compiled successfully
-    echo.
-    exit /B 0
-)
-
diff --git a/Cpp/examples/c_cpp/build_all_examples.sh b/Cpp/examples/c_cpp/build_all_examples.sh
deleted file mode 100644
index f75f82a2c20923bcc094cb98ad16ecaf1bad2a14..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/build_all_examples.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/sh
-
-LIST_OF_FAILED=()
-
-# ***** compile + error check *****
-compile_and_check() # (path, makefile-name)
-    {
-    echo
-    echo
-    echo "***** Compiling `pwd $1`/"$1
-    make -f $1 clean
-    if [ $? != 0 ]; then
-        LIST_OF_FAILED[${#LIST_OF_FAILED[*]}]="$(pwd $1)/$1"
-        return 1
-    fi
-    make -f $1
-    if [ $? != 0 ]; then
-        LIST_OF_FAILED[${#LIST_OF_FAILED[*]}]="$(pwd $1)/$1"
-        return 1
-    fi
-    make -f $1 clean
-    return $?
-    }
-
-# check C++ examples
-for i in `find . -type d -not -iwholename '*.svn*' -not -iwholename '*cuda*'`; do
-    pushd $i
-    for j in `ls makefile*`; do
-        compile_and_check $j
-    done
-    popd
-done
-
-echo
-echo "##########################################################################"
-echo Failed Builds:
-if [ ${#LIST_OF_FAILED[*]} -gt 0 ]; then
-    echo $LIST_OF_FAILED
-else
-    echo "    None"
-fi
diff --git a/Cpp/examples/c_cpp/c_header/SpcStdNT.lib b/Cpp/examples/c_cpp/c_header/SpcStdNT.lib
deleted file mode 100644
index 50f6693e5246032570317a8b12db430d42499262..0000000000000000000000000000000000000000
Binary files a/Cpp/examples/c_cpp/c_header/SpcStdNT.lib and /dev/null differ
diff --git a/Cpp/examples/c_cpp/c_header/dlltyp.h b/Cpp/examples/c_cpp/c_header/dlltyp.h
deleted file mode 100644
index f80693dc605bcca33193d004abdf8a6a44bbc4c0..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/c_header/dlltyp.h
+++ /dev/null
@@ -1,397 +0,0 @@
-#ifndef DLLTYP_H
-#define DLLTYP_H
-
-
-
-/*
-**************************************************************************
-
-dlltyp.h                                           (c) Spectrum GmbH, 2006
-
-**************************************************************************
-
-definitions common for all Spectrum drivers and card types. This header 
-tries to examine the type of compiler and then defines common data types 
-that have the same length under all compilers and operating systems. 
-
-This header should be the first header to include in all C/C++ projects
-
-**************************************************************************
-
-Please do not change this file as it's continuously updated with new 
-driver versions. If you need other settings for your special compiler 
-type please add these settings in an extra header file
-  
-**************************************************************************
-*/
-
-// ----- some global definitions for the drivers -----
-#define MAXBRD          64
-#define SPCM_MAXDEMO    100
-
-
-
-/*
-**************************************************************************
-this part now tries to examine the compiler type and sets one of the
-defines that is used later for the type definition
-**************************************************************************
-*/
-
-// ----- Borland C+ compiler. If the version is > 0x410 it's the C++ Builder and the same types can be used as for Visual C++ -----
-#ifdef __BORLANDC__
-#   if (__BCPLUSPLUS__>0x410)
-#       define VC_WINNT
-#   elif defined(_Windows)
-#       define BC_WIN31
-#   else
-#       define BC_DOS
-#   endif
-#endif
-
-// ----- Microsoft Visual C++ compiler, either as std_call or as c_call -----
-#ifdef _WINSTDCALL
-#   ifdef _MSC_VER
-#       ifdef _WINNT
-#           define VC_STDCALLNT
-#       else
-#           define VC_STDCALL95
-#       endif
-#   endif
-#elif defined(_MSC_VER)
-#   ifdef _WIN32
-#       ifdef _WINNT
-#           define VC_WINNT
-#       else
-#           define VC_WIN95
-#       endif
-#   else
-#       define VC_WIN31
-#   endif
-#endif
-#if defined (_WIN32) || defined (_WIN64)
-#   define _WIN // analog to _LINUX
-#endif
-
-// ----- GCC in various environments
-#if defined (__GNUC__)
-#   if defined (__MINGW32__)
-#       define _GCCWIN
-#   elif defined (__CYGWIN__)
-#       define _GCCWIN
-#   elif defined (__QNX__)
-#       define _QNX
-#   elif !defined(__vxworks)
-#       define _LINUX
-#   endif
-#endif
-
-// VxWorks
-#ifdef __vxworks
-#   define _VXWORKS
-#endif
-
-
-// ----- LabWindows/CVI
-#ifdef _CVI_
-#   define _LWCVI
-#endif
-
-// ----- 64 Bit Linux (in addition to _LINUX) -----
-#if defined (__x86_64__) || defined (__amd64__) || defined (__aarch64__)
-#   if defined (_LINUX)
-#       define _LINUX64
-#   endif
-#endif
-
-
-
-/*
-**************************************************************************
-now we hopefully know the compiler type and define all the types matching
-this compiler and the platform
-**************************************************************************
-*/
-
-// ----- Borland C++ for DOS (only used with older drivers) -----
-#ifdef BC_DOS
-#   define int16   int
-#   define uint16  unsigned int
-#   define int8    char
-#   define uint8   unsigned char
-#   define int32   long int
-#   define uint32  unsigned long int
-#   define dataptr void huge*
-#   define ptr8    char huge*
-#   define uptr8   unsigned char huge*
-#   define ptr16   int huge*
-#   define uptr16  unsigned int huge*
-#   define ptr32   long int huge*
-#   define uptr32  unsigned long int huge*
-#   define bool    int8
-#   define true    1
-#   define false   0
-#   define EXP     extern "C" _export int16
-#   define EXPC    extern  _export int16
-#   define IMP     extern "C" _import int16
-#   define HEAD    extern "C" int16
-#endif
-
-// ----- Borland C++ for Windows 3.1/3.11 (only used with older drivers) -----
-#ifdef BC_WIN31
-#   define int16   int
-#   define uint16  unsigned int
-#   define int8    char
-#   define uint8   unsigned char
-#   define int32   long int
-#   define uint32  unsigned long int
-#   define dataptr void huge*
-#   define ptr8    char huge*
-#   define uptr8   unsigned char huge*
-#   define ptr16   int huge*
-#   define uptr16  unsigned int huge*
-#   define ptr32   long int huge*
-#   define uptr32  unsigned long int huge*
-#   ifdef _EasyWin
-#       define EXP     extern "C" _export int16
-#       define IMP     extern "C" _import int16
-#       define HEAD    extern "C" int16
-#   else
-#       define EXP     extern "C" _export int16 FAR PASCAL
-#       define EXPC    extern     _export int16 FAR PASCAL
-#       define IMP     extern "C" _import int16 FAR PASCAL
-#       define HEAD    extern "C" int16 FAR PASCAL
-#   endif
-#endif
-
-// ----- Visual C++ for Windows 3.1/3.11 (only used with older drivers) -----
-#ifdef VC_WIN31
-#   define int8    char
-#   define uint8   unsigned char
-#   define int16   short int
-#   define uint16  unsigned short int
-#   define int32   long int
-#   define uint32  unsigned long int
-#   define dataptr void huge*
-#   define ptr8    char*
-#   define uptr8   unsigned char*
-#   define ptr16   short int*
-#   define uptr16  unsigned short int*
-#   define ptr32   long int*
-#   define uptr32  unsigned long int*
-#   define EXP     extern "C" __declspec (dllexport) int16
-#   define IMP     extern "C" __declspec (dllimport) int16
-#   define HEAD    extern "C" __declspec (dllexport) int16
-#endif
-
-// ----- Visual C++ / Borland C++ Builder for Windows 32 bit starting with Windows 95 -----
-#if defined(VC_WIN95) || defined(VC_WINNT)
-#   ifndef NO_WTYPES_IN_DLLTYP
-#       include <wtypes.h>
-#   endif
-#   define int8    char
-#   define uint8   unsigned char
-#   define int16   short int
-#   define uint16  unsigned short int
-#   define int32   long int
-#   define uint32  unsigned long int
-#   define int64   __int64
-#   define uint64  unsigned int64
-#   define dataptr void*
-#   define ptr8    char*
-#   define uptr8   unsigned char*
-#   define ptr16   short int*
-#   define uptr16  unsigned short int*
-#   define ptr32   long int*
-#   define uptr32  unsigned long int*
-#   ifndef __cplusplus
-#       define bool int8
-#       define true 1
-#       define false 0
-#   endif
-#   define drv_handle  void*
-
-#   ifdef __cplusplus
-#       define EXP     extern "C" __declspec (dllexport) int16
-#       define EXPC    extern     __declspec (dllexport) int16
-#       define IMP     extern "C" __declspec (dllimport) int16
-#       define HEAD    extern "C" __declspec (dllexport) int16
-
-#       define SPCM_EXPORT extern "C" __declspec (dllexport) 
-#       define SPCM_IMPORT extern "C" __declspec (dllimport) 
-#   else
-#       define EXP     extern __declspec (dllexport) int16
-#       define EXPC    extern     __declspec (dllexport) int16
-#       define IMP     extern __declspec (dllimport) int16
-#       define HEAD    extern __declspec (dllexport) int16
-
-#       define SPCM_EXPORT extern __declspec (dllexport) 
-#       define SPCM_IMPORT extern __declspec (dllimport) 
-#   endif
-#endif
-
-// ----- Visual C++ using standard calls for all windows 32 bit platforms -----
-#if defined(VC_STDCALL95) || defined(VC_STDCALLNT)
-#   ifndef NO_WTYPES_IN_DLLTYP
-#       include <wtypes.h>
-#   endif
-#   define int8    char
-#   define uint8   unsigned char
-#   define int16   short int
-#   define uint16  unsigned short int
-#   define int32   long int
-#   define uint32  unsigned long int
-#   define int64   __int64
-#   define uint64  unsigned __int64
-#   define dataptr void*
-#   define ptr8    char*
-#   define uptr8   unsigned char*
-#   define ptr16   short int*
-#   define uptr16  unsigned short int*
-#   define ptr32   long int*
-#   define uptr32  unsigned long int*
-#   ifndef __cplusplus
-#       define bool int8
-#       define true 1
-#       define false 0
-#   endif
-#   define drv_handle  void*
-#   define EXP     extern "C" __declspec (dllexport) int16 _stdcall
-#   define EXPC    extern     __declspec (dllexport) int16 _stdcall
-#   define IMP     extern "C" __declspec (dllimport) int16 _stdcall
-#   define HEAD    extern "C" __declspec (dllexport) int16 _stdcall
-
-#   define SPCM_EXPORT extern "C" __declspec (dllexport) 
-#   define SPCM_IMPORT extern "C" __declspec (dllimport) 
-#endif
-
-// ----- Linux -----
-#if defined (_LINUX) || defined (_QNX)
-#   if defined (__aarch64__)
-#       define int8 signed char // on Jetson "char" is unsigned
-#   else
-#       define int8 char
-#   endif
-#   define int16 short int
-#   define int32 int
-#   define int64 long long
-#   define uint8 unsigned char
-#   define uint16 unsigned short int
-#   define uint32 unsigned int
-#   define uint64 unsigned long long
-#   define dataptr void *
-#   define ptr8 int8*
-#   define ptr16 int16*
-#   define ptr32 int32*
-#   define uptr8 uint8*
-#   define uptr16 uint16*
-#   define uptr32 uint32*
-#   if !defined(bool)  && !defined(__cplusplus)
-#       define bool int8
-#       define true 1
-#       define false 0
-#   endif
-#   define drv_handle void*
-#   define EXPC int16
-#   define HEAD int16
-#   define SPEC_IOC_MAGIC 's'
-#   define SPEC_IOC_MAXNR 6
-#   define GETPARAM  _IOR(SPEC_IOC_MAGIC,1,int32[2])
-#   define SETPARAM  _IOW(SPEC_IOC_MAGIC,2,int32[2])
-#   define GETCH     _IOR(SPEC_IOC_MAGIC,3,int32[1])
-#   define SETCH     _IOW(SPEC_IOC_MAGIC,4,int32[1])
-    typedef struct {int32 lReg; void* pvAdr;} _SETGETADR ;
-#   define SETADR    _IOW(SPEC_IOC_MAGIC,5,_SETGETADR)
-#   define GETADR    _IOR(SPEC_IOC_MAGIC,6,_SETGETADR)
-
-#   ifdef __cplusplus
-#       define SPCM_IMPORT extern "C"
-#       if __GNUC__ >= 4
-#           define SPCM_EXPORT extern "C" __attribute__ ((visibility ("default")))
-#       else
-#           define SPCM_EXPORT extern "C"
-#       endif
-#   else
-#       define SPCM_IMPORT
-#       define SPCM_EXPORT extern "C"
-#   endif
-#   define _stdcall
-#endif
-
-// ----- LabWindows/CVI -----
-#if defined(_LWCVI)
-#   define int8    char
-#   define uint8   unsigned char
-#   define int16   short int
-#   define uint16  unsigned short int
-#   define int32   long int
-#   define uint32  unsigned long int
-#   define int64   __int64
-#   define uint64  unsigned int64
-#   define dataptr void*
-#   define ptr8    char*
-#   define uptr8   unsigned char*
-#   define ptr16   short int*
-#   define uptr16  unsigned short int*
-#   define ptr32   long int*
-#   define uptr32  unsigned long int*
-#   define drv_handle  void*
-#   define bool    int8
-#   define true    1
-#   define false   0
-#   define SPCM_EXPORT extern "C" __declspec (dllexport)
-#   define SPCM_IMPORT 
-#    define _stdcall __stdcall
-#endif
-
-// ----- Gnu C Windows -----
-#if defined (_GCCWIN)
-typedef char int8;
-typedef short int int16;
-typedef int int32;
-typedef long long int64;
-typedef unsigned char uint8;
-typedef unsigned short int uint16;
-typedef unsigned long int uint32;
-typedef unsigned long long uint64;
-typedef void* dataptr;
-typedef int8* ptr8;
-typedef int16* ptr16;
-typedef int32* ptr32;
-typedef uint8* uptr8;
-typedef uint16* uptr16;
-typedef uint32* uptr32;
-#   if !defined(bool) && !defined(__cplusplus)
-        typedef int8 bool;
-#       define true 1
-#       define false 0
-#   endif
-typedef void* drv_handle;
-typedef int16 EXPC;
-typedef int16 HEAD;
-#   ifdef __cplusplus
-#       define SPCM_IMPORT extern "C"
-#       if __GNUC__ >= 4
-#           define SPCM_EXPORT extern "C" __attribute__ ((visibility ("default")))
-#       else
-#           define SPCM_EXPORT extern "C"
-#       endif
-#   else
-#       define SPCM_IMPORT
-#       define SPCM_EXPORT extern "C"
-#   endif
-#endif
-
-// --- define data structure for segment statistic mode
-typedef struct
-    {
-    int64  llAvrg;
-    int16  nMin;
-    int16  nMax;
-    uint32 dwMinPos;
-    uint32 dwMaxPos;
-    uint32 _Unused;
-    uint64 qw_Timestamp;
-    } SPCM_SEGSTAT_STRUCT_CHx;
-
-#endif
diff --git a/Cpp/examples/c_cpp/c_header/errors.h b/Cpp/examples/c_cpp/c_header/errors.h
deleted file mode 100644
index 6a733be4604357cc2d3351707f4fb20a0edd26fa..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/c_header/errors.h
+++ /dev/null
@@ -1,12 +0,0 @@
-// ***********************************************************************
-// errors.h: Old Spectrum error code header file. Has been changed in may
-//           2004 to spcerr.h because errors.h has already been in use by
-//           windows. 
-//           Please change the include section of your project to include
-//           spcerr.h directly.
-// ***********************************************************************
-
-
-#pragma message ("*** Please change include path from errors.h to spcerr.h ***")
-
-#include "spcerr.h"
diff --git a/Cpp/examples/c_cpp/c_header/readme.txt b/Cpp/examples/c_cpp/c_header/readme.txt
deleted file mode 100644
index 0f2ebceb1bf87aa82ab71791e7b04b11e906c07d..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/c_header/readme.txt
+++ /dev/null
@@ -1,71 +0,0 @@
-**************************************************************************
-c_header directory                                       (c) Spectrum GmbH
-**************************************************************************
-
-The directory contains all header and library files for all Spectrum
-drivers for ISA, PCI, PCI-X, PCIe, cPCI and PXI cards.
-
-**************************************************************************
-
-
-
-Common header files used by all drivers
----------------------------------------
-
-dlltyp.h: definitions common for all Spectrum drivers and card types. This
-		header tries to examine the type of compiler and then defines common
-		data types that have the same length under all compilers and all
-		operating systems.
-
-regs.h: software register and constants definition for all Spectrum
-		drivers.
-
-spcerr.h: error codes of all Spectrum drivers. Until may 2004 this file was
-		errors.h. Name has been changed because errors.h has been already in
-		use by windows.
-
-
-
-Library and Header files of driver for ISA/PCI/MI/MC/MX cards
--------------------------------------------------------------
-
-spcioctl.inc:	linux include file to access driver functions via kernel
-		calls. Is needed by all linux based programs that access one of the
-		ISA/PCI/MI/MC/MX Spectrum cards
-
-errors.h: former error file. Thsi file is just included because of
-		compatibility reasons with old projects. Please use spcerr.h
-
-spectrum.h: header file that contains all the prototypes of the driver
-		functions
-
-spectrum.lib:	library file for Microsoft Visual C++ for the spectrum
-		driver DLL. Calling type is c-call.
-
-SpcStdNT.lib: library file for other compilers for the spectrum
-		driver DLL. Calling type is stdcall.
-
-spclib_bcc.lib: library for Borland C++ Builder for the spectrum
-		driver DLL.
-
-
-
-Library and Header files of driver for SPCM driver based cards
--------------------------------------------------------------
-
-spcm_drv.h: header file that contains all the prototypes of the
-		driver functions of the spcm driver
-
-spcm_win32_msvcpp.lib: library file for the Microsoft Visual C++
-		compiler. Calling type is stdcall.
-
-spcm_win32_bcppb.lib: library file for the Borland C++ Builder
-		compiler
-
-spcm_win32_cvi.lib: library file for National Instruments
-		LabWindows/CVI compiler
-
-spectrum_comp.lib: library file of the compatibility DLL that
-		simulates MI cards when findng M2i cards. Please include
-		this file instead of spectrum.lib for all projects that
-		should use M2i cards with the MI software interface
diff --git a/Cpp/examples/c_cpp/c_header/regs.h b/Cpp/examples/c_cpp/c_header/regs.h
deleted file mode 100644
index 0171a6d390bd9aa09709b29f25f6868f890115ca..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/c_header/regs.h
+++ /dev/null
@@ -1,3688 +0,0 @@
-// ***********************************************************************
-//
-// regs.h                                          (c) Spectrum GmbH, 2006
-//
-// ***********************************************************************
-//
-// software register and constants definition for all Spectrum drivers. 
-// Please stick to the card manual to see which of the inhere defined 
-// registers are used on your hardware.
-//
-// ***********************************************************************
-
-
-
-// ***********************************************************************
-// macros for kilo, Mega or Giga as standard version or binary (_B) (2^x)
-// ***********************************************************************
-
-#define KILO(k)     ((uint64) 1000 * (k))
-#define MEGA(m)     ((uint64) 1000 * 1000 * (m))
-#define GIGA(g)     ((uint64) 1000 * 1000 * 1000 * (g))
-#define KILO_B(k)   ((uint64) 1024 * (k))
-#define MEGA_B(m)   ((uint64) 1024 * 1024 * (m))
-#define GIGA_B(g)   ((uint64) 1024 * 1024 * 1024 * (g))
-
-
-
-
-// ***********************************************************************
-// card types
-// ***********************************************************************
-
-#define TYP_PCIDEVICEID             0x00000000l
-
-// ***** Board Types ***************
-#define TYP_EVAL                    0x00000010l
-#define TYP_RSDLGA                  0x00000014l
-#define TYP_GMG                     0x00000018l
-#define TYP_VAN8                    0x00000020l
-#define TYP_VAC                     0x00000028l
-
-#define TYP_PCIAUTOINSTALL          0x000000FFl
-
-#define TYP_DAP116                  0x00000100l
-#define TYP_PAD82                   0x00000200l
-#define TYP_PAD82a                  0x00000210l
-#define TYP_PAD82b                  0x00000220l
-#define TYP_PCI212                  0x00000300l
-#define TYP_PAD1232a                0x00000400l
-#define TYP_PAD1232b                0x00000410l
-#define TYP_PAD1232c                0x00000420l
-#define TYP_PAD1616a                0x00000500l
-#define TYP_PAD1616b                0x00000510l
-#define TYP_PAD1616c                0x00000520l
-#define TYP_PAD1616d                0x00000530l
-#define TYP_PAD52                   0x00000600l
-#define TYP_PAD242                  0x00000700l
-#define TYP_PCK400                  0x00000800l
-#define TYP_PAD164_2M               0x00000900l
-#define TYP_PAD164_5M               0x00000910l
-#define TYP_PCI208                  0x00001000l
-#define TYP_CPCI208                 0x00001001l
-#define TYP_PCI412                  0x00001100l
-#define TYP_PCIDIO32                0x00001200l
-#define TYP_PCI248                  0x00001300l
-#define TYP_PADCO                   0x00001400l
-#define TYP_TRS582                  0x00001500l
-#define TYP_PCI258                  0x00001600l
-
-
-// ------ series and familiy identifiers -----
-#define TYP_SERIESMASK              0x00FF0000l     // the series (= type of base card), e.g. MI.xxxx
-#define TYP_VERSIONMASK             0x0000FFFFl     // the version, e.g. XX.3012
-#define TYP_FAMILYMASK              0x0000FF00l     // the family, e.g. XX.30xx
-#define TYP_TYPEMASK                0x000000FFl     // the type, e.g. XX.xx12
-#define TYP_SPEEDMASK               0x000000F0l     // the speed grade, e.g. XX.xx1x
-#define TYP_CHMASK                  0x0000000Fl     // the channel/modules, e.g. XX.xxx2
-
-#define TYP_MISERIES                0x00000000l
-#define TYP_MCSERIES                0x00010000l
-#define TYP_MXSERIES                0x00020000l
-#define TYP_M2ISERIES               0x00030000l
-#define TYP_M2IEXPSERIES            0x00040000l
-#define TYP_M3ISERIES               0x00050000l
-#define TYP_M3IEXPSERIES            0x00060000l
-#define TYP_M4IEXPSERIES            0x00070000l
-#define TYP_M4XEXPSERIES            0x00080000l
-#define TYP_M2PEXPSERIES            0x00090000l
-#define TYP_M5IEXPSERIES            0x000A0000l
-
-
-
-// ----- MI.20xx, MC.20xx, MX.20xx -----
-#define TYP_MI2020                  0x00002020l
-#define TYP_MI2021                  0x00002021l
-#define TYP_MI2025                  0x00002025l
-#define TYP_MI2030                  0x00002030l
-#define TYP_MI2031                  0x00002031l
-
-#define TYP_M2I2020                 0x00032020l
-#define TYP_M2I2021                 0x00032021l
-#define TYP_M2I2025                 0x00032025l
-#define TYP_M2I2030                 0x00032030l
-#define TYP_M2I2031                 0x00032031l
-
-#define TYP_M2I2020EXP              0x00042020l
-#define TYP_M2I2021EXP              0x00042021l
-#define TYP_M2I2025EXP              0x00042025l
-#define TYP_M2I2030EXP              0x00042030l
-#define TYP_M2I2031EXP              0x00042031l
-
-#define TYP_MC2020                  0x00012020l
-#define TYP_MC2021                  0x00012021l
-#define TYP_MC2025                  0x00012025l
-#define TYP_MC2030                  0x00012030l
-#define TYP_MC2031                  0x00012031l
-
-#define TYP_MX2020                  0x00022020l
-#define TYP_MX2025                  0x00022025l
-#define TYP_MX2030                  0x00022030l
-
-// ----- M3i.21xx, M3i.21xx-Exp (8 bit A/D) -----
-#define TYP_M3I2120                 0x00052120l     // 1x500M
-#define TYP_M3I2122                 0x00052122l     // 1x500M & 2x250M
-#define TYP_M3I2130                 0x00052130l     // 1x1G
-#define TYP_M3I2132                 0x00052132l     // 1x1G & 2x500M
-
-#define TYP_M3I2120EXP              0x00062120l     // 1x500M
-#define TYP_M3I2122EXP              0x00062122l     // 1x500M & 2x250M
-#define TYP_M3I2130EXP              0x00062130l     // 1x1G
-#define TYP_M3I2132EXP              0x00062132l     // 1x1G & 2x500M
-
-// ----- M4i.22xx-x8 (8 bit A/D) -----
-#define TYP_M4I22XX_X8              0x00072200l
-#define TYP_M4I2210_X8              0x00072210l     // 1x1.25G
-#define TYP_M4I2211_X8              0x00072211l     // 2x1.25G
-#define TYP_M4I2212_X8              0x00072212l     // 4x1.25G
-#define TYP_M4I2220_X8              0x00072220l     // 1x2.5G
-#define TYP_M4I2221_X8              0x00072221l     // 2x2.5G
-#define TYP_M4I2223_X8              0x00072223l     // 1x2.5G & 2x1.25G
-#define TYP_M4I2230_X8              0x00072230l     // 1x5G
-#define TYP_M4I2233_X8              0x00072233l     // 1x5G & 2x2.5G 
-#define TYP_M4I2234_X8              0x00072234l     // 1x5G & 2x2.5G & 4x1.25G
-#define TYP_M4I2280_X8              0x00072280l     // customer specific variant
-#define TYP_M4I2281_X8              0x00072281l     // customer specific variant
-#define TYP_M4I2283_X8              0x00072283l     // customer specific variant
-#define TYP_M4I2290_X8              0x00072290l     // customer specific variant
-#define TYP_M4I2293_X8              0x00072293l     // customer specific variant
-#define TYP_M4I2294_X8              0x00072294l     // customer specific variant
-
-// ----- M4x.22xx-x8 (8 bit A/D) -----
-#define TYP_M4X22XX_X4              0x00082200l
-#define TYP_M4X2210_X4              0x00082210l     // 1x1.25G
-#define TYP_M4X2211_X4              0x00082211l     // 2x1.25G
-#define TYP_M4X2212_X4              0x00082212l     // 4x1.25G
-#define TYP_M4X2220_X4              0x00082220l     // 1x2.5G
-#define TYP_M4X2221_X4              0x00082221l     // 2x2.5G
-#define TYP_M4X2223_X4              0x00082223l     // 1x2.5G & 2x1.25G
-#define TYP_M4X2230_X4              0x00082230l     // 1x5G
-#define TYP_M4X2233_X4              0x00082233l     // 1x5G & 2x2.5G 
-#define TYP_M4X2234_X4              0x00082234l     // 1x5G & 2x2.5G & 4x1.25G
-
-// ----- M4i.23xx-x8 (7 bit A/D) -----
-#define TYP_M4I23XX_X8              0x00072300l
-#define TYP_M4I2320_X8              0x00072320l     // 1x2.5G
-#define TYP_M4I2321_X8              0x00072321l     // 2x2.5G
-#define TYP_M4I2323_X8              0x00072323l     // 1x2.5G & 2x1.25G
-#define TYP_M4I2330_X8              0x00072330l     // 1x5G
-#define TYP_M4I2333_X8              0x00072333l     // 1x5G & 2x2.5G 
-#define TYP_M4I2334_X8              0x00072334l     // 1x5G & 2x2.5G & 4x1.25G
-
-// ----- MI.30xx, MC.30xx, MX.30xx -----
-#define TYP_MI3010                  0x00003010l
-#define TYP_MI3011                  0x00003011l
-#define TYP_MI3012                  0x00003012l
-#define TYP_MI3013                  0x00003013l
-#define TYP_MI3014                  0x00003014l
-#define TYP_MI3015                  0x00003015l
-#define TYP_MI3016                  0x00003016l
-#define TYP_MI3020                  0x00003020l
-#define TYP_MI3021                  0x00003021l
-#define TYP_MI3022                  0x00003022l
-#define TYP_MI3023                  0x00003023l
-#define TYP_MI3024                  0x00003024l
-#define TYP_MI3025                  0x00003025l
-#define TYP_MI3026                  0x00003026l
-#define TYP_MI3027                  0x00003027l
-#define TYP_MI3031                  0x00003031l
-#define TYP_MI3033                  0x00003033l
-
-#define TYP_M2I3010                 0x00033010l
-#define TYP_M2I3011                 0x00033011l
-#define TYP_M2I3012                 0x00033012l
-#define TYP_M2I3013                 0x00033013l
-#define TYP_M2I3014                 0x00033014l
-#define TYP_M2I3015                 0x00033015l
-#define TYP_M2I3016                 0x00033016l
-#define TYP_M2I3020                 0x00033020l
-#define TYP_M2I3021                 0x00033021l
-#define TYP_M2I3022                 0x00033022l
-#define TYP_M2I3023                 0x00033023l
-#define TYP_M2I3024                 0x00033024l
-#define TYP_M2I3025                 0x00033025l
-#define TYP_M2I3026                 0x00033026l
-#define TYP_M2I3027                 0x00033027l
-#define TYP_M2I3031                 0x00033031l
-#define TYP_M2I3033                 0x00033033l
-
-#define TYP_M2I3010EXP              0x00043010l
-#define TYP_M2I3011EXP              0x00043011l
-#define TYP_M2I3012EXP              0x00043012l
-#define TYP_M2I3013EXP              0x00043013l
-#define TYP_M2I3014EXP              0x00043014l
-#define TYP_M2I3015EXP              0x00043015l
-#define TYP_M2I3016EXP              0x00043016l
-#define TYP_M2I3020EXP              0x00043020l
-#define TYP_M2I3021EXP              0x00043021l
-#define TYP_M2I3022EXP              0x00043022l
-#define TYP_M2I3023EXP              0x00043023l
-#define TYP_M2I3024EXP              0x00043024l
-#define TYP_M2I3025EXP              0x00043025l
-#define TYP_M2I3026EXP              0x00043026l
-#define TYP_M2I3027EXP              0x00043027l
-#define TYP_M2I3031EXP              0x00043031l
-#define TYP_M2I3033EXP              0x00043033l
-
-#define TYP_MC3010                  0x00013010l
-#define TYP_MC3011                  0x00013011l
-#define TYP_MC3012                  0x00013012l
-#define TYP_MC3013                  0x00013013l
-#define TYP_MC3014                  0x00013014l
-#define TYP_MC3015                  0x00013015l
-#define TYP_MC3016                  0x00013016l
-#define TYP_MC3020                  0x00013020l
-#define TYP_MC3021                  0x00013021l
-#define TYP_MC3022                  0x00013022l
-#define TYP_MC3023                  0x00013023l
-#define TYP_MC3024                  0x00013024l
-#define TYP_MC3025                  0x00013025l
-#define TYP_MC3026                  0x00013026l
-#define TYP_MC3027                  0x00013027l
-#define TYP_MC3031                  0x00013031l
-#define TYP_MC3033                  0x00013033l
-
-#define TYP_MX3010                  0x00023010l
-#define TYP_MX3011                  0x00023011l
-#define TYP_MX3012                  0x00023012l
-#define TYP_MX3020                  0x00023020l
-#define TYP_MX3021                  0x00023021l
-#define TYP_MX3022                  0x00023022l
-#define TYP_MX3031                  0x00023031l
-
-
-
-// ----- MI.31xx, MC.31xx, MX.31xx -----
-#define TYP_MI3110                  0x00003110l
-#define TYP_MI3111                  0x00003111l
-#define TYP_MI3112                  0x00003112l
-#define TYP_MI3120                  0x00003120l
-#define TYP_MI3121                  0x00003121l
-#define TYP_MI3122                  0x00003122l
-#define TYP_MI3130                  0x00003130l
-#define TYP_MI3131                  0x00003131l
-#define TYP_MI3132                  0x00003132l
-#define TYP_MI3140                  0x00003140l
-
-#define TYP_M2I3110                 0x00033110l
-#define TYP_M2I3111                 0x00033111l
-#define TYP_M2I3112                 0x00033112l
-#define TYP_M2I3120                 0x00033120l
-#define TYP_M2I3121                 0x00033121l
-#define TYP_M2I3122                 0x00033122l
-#define TYP_M2I3130                 0x00033130l
-#define TYP_M2I3131                 0x00033131l
-#define TYP_M2I3132                 0x00033132l
-
-#define TYP_M2I3110EXP              0x00043110l
-#define TYP_M2I3111EXP              0x00043111l
-#define TYP_M2I3112EXP              0x00043112l
-#define TYP_M2I3120EXP              0x00043120l
-#define TYP_M2I3121EXP              0x00043121l
-#define TYP_M2I3122EXP              0x00043122l
-#define TYP_M2I3130EXP              0x00043130l
-#define TYP_M2I3131EXP              0x00043131l
-#define TYP_M2I3132EXP              0x00043132l
-
-#define TYP_MC3110                  0x00013110l
-#define TYP_MC3111                  0x00013111l
-#define TYP_MC3112                  0x00013112l
-#define TYP_MC3120                  0x00013120l
-#define TYP_MC3121                  0x00013121l
-#define TYP_MC3122                  0x00013122l
-#define TYP_MC3130                  0x00013130l
-#define TYP_MC3131                  0x00013131l
-#define TYP_MC3132                  0x00013132l
-
-#define TYP_MX3110                  0x00023110l
-#define TYP_MX3111                  0x00023111l
-#define TYP_MX3120                  0x00023120l
-#define TYP_MX3121                  0x00023121l
-#define TYP_MX3130                  0x00023130l
-#define TYP_MX3131                  0x00023131l
-
-
-
-// ----- M3i.32xx, M3i.32xx-Exp (12 bit A/D) -----
-#define TYP_M3I3220                 0x00053220l     // 1x250M
-#define TYP_M3I3221                 0x00053221l     // 2x250M
-#define TYP_M3I3240                 0x00053240l     // 1x500M
-#define TYP_M3I3242                 0x00053242l     // 1x500M & 2x250M
-
-#define TYP_M3I3220EXP              0x00063220l     // 1x250M
-#define TYP_M3I3221EXP              0x00063221l     // 2x250M
-#define TYP_M3I3240EXP              0x00063240l     // 1x500M
-#define TYP_M3I3242EXP              0x00063242l     // 1x500M & 2x250M
-
-// ----- M5i.33xx-x4 (12 bit A/D) -----
-#define TYP_M5I33XX_X16             0x000A3300      // generic
-#define TYP_M5I3321_X16             0x000A3321      // 2x3.2G 12bit
-#define TYP_M5I3330_X16             0x000A3330      // 1x6.4G 12bit
-#define TYP_M5I3337_X16             0x000A3337      // 1x6.4G 2x3.2G 12bit
-#define TYP_M5I3350_X16             0x000A3350      // 1x10G 12bit
-#define TYP_M5I3357_X16             0x000A3357      // 1x10G 2x5G 12bit
-
-// ----- MI.40xx, MC.40xx, MX.40xx -----
-#define TYP_MI4020                  0x00004020l
-#define TYP_MI4021                  0x00004021l
-#define TYP_MI4022                  0x00004022l
-#define TYP_MI4030                  0x00004030l
-#define TYP_MI4031                  0x00004031l
-#define TYP_MI4032                  0x00004032l
-
-#define TYP_M2I4020                 0x00034020l
-#define TYP_M2I4021                 0x00034021l
-#define TYP_M2I4022                 0x00034022l
-#define TYP_M2I4028                 0x00034028l
-#define TYP_M2I4030                 0x00034030l
-#define TYP_M2I4031                 0x00034031l
-#define TYP_M2I4032                 0x00034032l
-#define TYP_M2I4038                 0x00034038l
-
-#define TYP_M2I4020EXP              0x00044020l
-#define TYP_M2I4021EXP              0x00044021l
-#define TYP_M2I4022EXP              0x00044022l
-#define TYP_M2I4028EXP              0x00044028l
-#define TYP_M2I4030EXP              0x00044030l
-#define TYP_M2I4031EXP              0x00044031l
-#define TYP_M2I4032EXP              0x00044032l
-#define TYP_M2I4038EXP              0x00044038l
-
-#define TYP_MC4020                  0x00014020l
-#define TYP_MC4021                  0x00014021l
-#define TYP_MC4022                  0x00014022l
-#define TYP_MC4030                  0x00014030l
-#define TYP_MC4031                  0x00014031l
-#define TYP_MC4032                  0x00014032l
-
-#define TYP_MX4020                  0x00024020l
-#define TYP_MX4021                  0x00024021l
-#define TYP_MX4030                  0x00024030l
-#define TYP_MX4031                  0x00024031l
-
-
-
-// ----- M3i.41xx, M3i.41xx-Exp (14 bit A/D) -----
-#define TYP_M3I4110                 0x00054110l     // 1x100M
-#define TYP_M3I4111                 0x00054111l     // 2x100M
-#define TYP_M3I4120                 0x00054120l     // 1x250M
-#define TYP_M3I4121                 0x00054121l     // 2x250M
-#define TYP_M3I4140                 0x00054140l     // 1x400M
-#define TYP_M3I4142                 0x00054142l     // 1x400M & 2x250M
-
-#define TYP_M3I4110EXP              0x00064110l     // 1x100M
-#define TYP_M3I4111EXP              0x00064111l     // 2x100M
-#define TYP_M3I4120EXP              0x00064120l     // 1x250M
-#define TYP_M3I4121EXP              0x00064121l     // 2x250M
-#define TYP_M3I4140EXP              0x00064140l     // 1x400M
-#define TYP_M3I4142EXP              0x00064142l     // 1x400M & 2x250M
-
-// ----- M4i.44xx-x8 (generic) -----
-#define TYP_M4I44XX_X8              0x00074400      // 
-
-#define TYP_M4I4410_X8              0x00074410      // 2x130M 16bit
-#define TYP_M4I4411_X8              0x00074411      // 4x130M 16bit
-#define TYP_M4I4420_X8              0x00074420      // 2x250M 16bit
-#define TYP_M4I4421_X8              0x00074421      // 4x250M 16bit
-#define TYP_M4I4450_X8              0x00074450      // 2x500M 14bit
-#define TYP_M4I4451_X8              0x00074451      // 4x500M 14bit
-#define TYP_M4I4470_X8              0x00074470      // 2x180M 16bit
-#define TYP_M4I4471_X8              0x00074471      // 4x180M 16bit
-#define TYP_M4I4480_X8              0x00074480      // 2x400M 14bit
-#define TYP_M4I4481_X8              0x00074481      // 4x400M 14bit
-
-// ----- M4x.44xx-x4 (14/16 bit A/D) -----
-#define TYP_M4X44XX_X4              0x00084400      // generic
-#define TYP_M4X4410_X4              0x00084410      // 2x130M 16bit
-#define TYP_M4X4411_X4              0x00084411      // 4x130M 16bit
-#define TYP_M4X4420_X4              0x00084420      // 2x250M 16bit
-#define TYP_M4X4421_X4              0x00084421      // 4x250M 16bit
-#define TYP_M4X4450_X4              0x00084450      // 2x500M 14bit
-#define TYP_M4X4451_X4              0x00084451      // 4x500M 14bit
-#define TYP_M4X4470_X4              0x00084470      // 2x180M 16bit
-#define TYP_M4X4471_X4              0x00084471      // 4x180M 16bit
-#define TYP_M4X4480_X4              0x00084480      // 2x400M 14bit
-#define TYP_M4X4481_X4              0x00084481      // 4x400M 14bit
-
-
-// ----- MI.45xx, MC.45xx, MX.45xx -----
-#define TYP_MI4520                  0x00004520l
-#define TYP_MI4521                  0x00004521l
-#define TYP_MI4530                  0x00004530l
-#define TYP_MI4531                  0x00004531l
-#define TYP_MI4540                  0x00004540l
-#define TYP_MI4541                  0x00004541l
-
-#define TYP_M2I4520                 0x00034520l
-#define TYP_M2I4521                 0x00034521l
-#define TYP_M2I4530                 0x00034530l
-#define TYP_M2I4531                 0x00034531l
-#define TYP_M2I4540                 0x00034540l
-#define TYP_M2I4541                 0x00034541l
-
-#define TYP_MC4520                  0x00014520l
-#define TYP_MC4521                  0x00014521l
-#define TYP_MC4530                  0x00014530l
-#define TYP_MC4531                  0x00014531l
-#define TYP_MC4540                  0x00014540l
-#define TYP_MC4541                  0x00014541l
-
-#define TYP_MX4520                  0x00024520l
-#define TYP_MX4530                  0x00024530l
-#define TYP_MX4540                  0x00024540l
-
-
-
-// ----- MI.46xx, MC.46xx, MX.46xx -----
-#define TYP_MI4620                  0x00004620l
-#define TYP_MI4621                  0x00004621l
-#define TYP_MI4622                  0x00004622l
-#define TYP_MI4630                  0x00004630l
-#define TYP_MI4631                  0x00004631l
-#define TYP_MI4632                  0x00004632l
-#define TYP_MI4640                  0x00004640l
-#define TYP_MI4641                  0x00004641l
-#define TYP_MI4642                  0x00004642l
-#define TYP_MI4650                  0x00004650l
-#define TYP_MI4651                  0x00004651l
-#define TYP_MI4652                  0x00004652l
-
-#define TYP_M2I4620                 0x00034620l
-#define TYP_M2I4621                 0x00034621l
-#define TYP_M2I4622                 0x00034622l
-#define TYP_M2I4630                 0x00034630l
-#define TYP_M2I4631                 0x00034631l
-#define TYP_M2I4632                 0x00034632l
-#define TYP_M2I4640                 0x00034640l
-#define TYP_M2I4641                 0x00034641l
-#define TYP_M2I4642                 0x00034642l
-#define TYP_M2I4650                 0x00034650l
-#define TYP_M2I4651                 0x00034651l
-#define TYP_M2I4652                 0x00034652l
-
-#define TYP_M2I4620EXP              0x00044620l
-#define TYP_M2I4621EXP              0x00044621l
-#define TYP_M2I4622EXP              0x00044622l
-#define TYP_M2I4630EXP              0x00044630l
-#define TYP_M2I4631EXP              0x00044631l
-#define TYP_M2I4632EXP              0x00044632l
-#define TYP_M2I4640EXP              0x00044640l
-#define TYP_M2I4641EXP              0x00044641l
-#define TYP_M2I4642EXP              0x00044642l
-#define TYP_M2I4650EXP              0x00044650l
-#define TYP_M2I4651EXP              0x00044651l
-#define TYP_M2I4652EXP              0x00044652l
-
-#define TYP_MC4620                  0x00014620l
-#define TYP_MC4621                  0x00014621l
-#define TYP_MC4622                  0x00014622l
-#define TYP_MC4630                  0x00014630l
-#define TYP_MC4631                  0x00014631l
-#define TYP_MC4632                  0x00014632l
-#define TYP_MC4640                  0x00014640l
-#define TYP_MC4641                  0x00014641l
-#define TYP_MC4642                  0x00014642l
-#define TYP_MC4650                  0x00014650l
-#define TYP_MC4651                  0x00014651l
-#define TYP_MC4652                  0x00014652l
-
-#define TYP_MX4620                  0x00024620l
-#define TYP_MX4621                  0x00024621l
-#define TYP_MX4630                  0x00024630l
-#define TYP_MX4631                  0x00024631l
-#define TYP_MX4640                  0x00024640l
-#define TYP_MX4641                  0x00024641l
-#define TYP_MX4650                  0x00024650l
-#define TYP_MX4651                  0x00024651l
-
-
-
-// ----- MI.47xx, MC.47xx, MX.47xx -----
-#define TYP_MI4710                  0x00004710l
-#define TYP_MI4711                  0x00004711l
-#define TYP_MI4720                  0x00004720l
-#define TYP_MI4721                  0x00004721l
-#define TYP_MI4730                  0x00004730l
-#define TYP_MI4731                  0x00004731l
-#define TYP_MI4740                  0x00004740l
-#define TYP_MI4741                  0x00004741l
-
-#define TYP_M2I4710                 0x00034710l
-#define TYP_M2I4711                 0x00034711l
-#define TYP_M2I4720                 0x00034720l
-#define TYP_M2I4721                 0x00034721l
-#define TYP_M2I4730                 0x00034730l
-#define TYP_M2I4731                 0x00034731l
-#define TYP_M2I4740                 0x00034740l
-#define TYP_M2I4741                 0x00034741l
-
-#define TYP_M2I4710EXP              0x00044710l
-#define TYP_M2I4711EXP              0x00044711l
-#define TYP_M2I4720EXP              0x00044720l
-#define TYP_M2I4721EXP              0x00044721l
-#define TYP_M2I4730EXP              0x00044730l
-#define TYP_M2I4731EXP              0x00044731l
-#define TYP_M2I4740EXP              0x00044740l
-#define TYP_M2I4741EXP              0x00044741l
-
-#define TYP_MC4710                  0x00014710l
-#define TYP_MC4711                  0x00014711l
-#define TYP_MC4720                  0x00014720l
-#define TYP_MC4721                  0x00014721l
-#define TYP_MC4730                  0x00014730l
-#define TYP_MC4731                  0x00014731l
-
-#define TYP_MX4710                  0x00024710l
-#define TYP_MX4720                  0x00024720l
-#define TYP_MX4730                  0x00024730l
-
-
-
-// ----- M3i.48xx, M3i.48xx-Exp (16 bit A/D) -----
-#define TYP_M3I4830                 0x00054830l     
-#define TYP_M3I4831                 0x00054831l    
-#define TYP_M3I4840                 0x00054840l     
-#define TYP_M3I4841                 0x00054841l    
-#define TYP_M3I4860                 0x00054860l     
-#define TYP_M3I4861                 0x00054861l    
-
-#define TYP_M3I4830EXP              0x00064830l     
-#define TYP_M3I4831EXP              0x00064831l    
-#define TYP_M3I4840EXP              0x00064840l     
-#define TYP_M3I4841EXP              0x00064841l    
-#define TYP_M3I4860EXP              0x00064860l     
-#define TYP_M3I4861EXP              0x00064861l    
-
-
-
-// ----- MI.46xx, MC.46xx, MX.46xx -----
-#define TYP_MI4911                  0x00004911l
-#define TYP_MI4912                  0x00004912l
-#define TYP_MI4931                  0x00004931l
-#define TYP_MI4932                  0x00004932l
-#define TYP_MI4960                  0x00004960l
-#define TYP_MI4961                  0x00004961l
-#define TYP_MI4963                  0x00004963l
-#define TYP_MI4964                  0x00004964l
-
-#define TYP_MC4911                  0x00014911l
-#define TYP_MC4912                  0x00014912l
-#define TYP_MC4931                  0x00014931l
-#define TYP_MC4932                  0x00014932l
-#define TYP_MC4960                  0x00014960l
-#define TYP_MC4961                  0x00014961l
-#define TYP_MC4963                  0x00014963l
-#define TYP_MC4964                  0x00014964l
-
-#define TYP_MX4911                  0x00024911l
-#define TYP_MX4931                  0x00024931l
-#define TYP_MX4960                  0x00024960l
-#define TYP_MX4963                  0x00024963l
-
-#define TYP_M2I4911                 0x00034911l
-#define TYP_M2I4912                 0x00034912l
-#define TYP_M2I4931                 0x00034931l
-#define TYP_M2I4932                 0x00034932l
-#define TYP_M2I4960                 0x00034960l
-#define TYP_M2I4961                 0x00034961l
-#define TYP_M2I4963                 0x00034963l
-#define TYP_M2I4964                 0x00034964l
-
-#define TYP_M2I4911EXP              0x00044911l
-#define TYP_M2I4912EXP              0x00044912l
-#define TYP_M2I4931EXP              0x00044931l
-#define TYP_M2I4932EXP              0x00044932l
-#define TYP_M2I4960EXP              0x00044960l
-#define TYP_M2I4961EXP              0x00044961l
-#define TYP_M2I4963EXP              0x00044963l
-#define TYP_M2I4964EXP              0x00044964l
-
-// ----- M2p.59xx-x4 -----
-#define TYP_M2P59XX_X4              0x00095900l      // generic
-#define TYP_M2P5911_X4              0x00095911l
-#define TYP_M2P5912_X4              0x00095912l
-#define TYP_M2P5913_X4              0x00095913l
-#define TYP_M2P5916_X4              0x00095916l
-#define TYP_M2P5920_X4              0x00095920l
-#define TYP_M2P5921_X4              0x00095921l
-#define TYP_M2P5922_X4              0x00095922l
-#define TYP_M2P5923_X4              0x00095923l
-#define TYP_M2P5926_X4              0x00095926l
-#define TYP_M2P5930_X4              0x00095930l
-#define TYP_M2P5931_X4              0x00095931l
-#define TYP_M2P5932_X4              0x00095932l
-#define TYP_M2P5933_X4              0x00095933l
-#define TYP_M2P5936_X4              0x00095936l
-#define TYP_M2P5940_X4              0x00095940l
-#define TYP_M2P5941_X4              0x00095941l
-#define TYP_M2P5942_X4              0x00095942l
-#define TYP_M2P5943_X4              0x00095943l
-#define TYP_M2P5946_X4              0x00095946l
-#define TYP_M2P5960_X4              0x00095960l
-#define TYP_M2P5961_X4              0x00095961l
-#define TYP_M2P5962_X4              0x00095962l
-#define TYP_M2P5966_X4              0x00095966l
-#define TYP_M2P5968_X4              0x00095968l
-
-
-// ----- MI.60xx, MC.60xx, MX.60xx -----
-#define TYP_MI6010                  0x00006010l
-#define TYP_MI6011                  0x00006011l
-#define TYP_MI6012                  0x00006012l
-#define TYP_MI6021                  0x00006021l
-#define TYP_MI6022                  0x00006022l
-#define TYP_MI6030                  0x00006030l
-#define TYP_MI6031                  0x00006031l
-#define TYP_MI6033                  0x00006033l
-#define TYP_MI6034                  0x00006034l
-
-#define TYP_M2I6010                 0x00036010l
-#define TYP_M2I6011                 0x00036011l
-#define TYP_M2I6012                 0x00036012l
-#define TYP_M2I6021                 0x00036021l
-#define TYP_M2I6022                 0x00036022l
-#define TYP_M2I6030                 0x00036030l
-#define TYP_M2I6031                 0x00036031l
-#define TYP_M2I6033                 0x00036033l
-#define TYP_M2I6034                 0x00036034l
-
-#define TYP_M2I6010EXP              0x00046010l
-#define TYP_M2I6011EXP              0x00046011l
-#define TYP_M2I6012EXP              0x00046012l
-#define TYP_M2I6021EXP              0x00046021l
-#define TYP_M2I6022EXP              0x00046022l
-#define TYP_M2I6030EXP              0x00046030l
-#define TYP_M2I6031EXP              0x00046031l
-#define TYP_M2I6033EXP              0x00046033l
-#define TYP_M2I6034EXP              0x00046034l
-
-#define TYP_MC6010                  0x00016010l
-#define TYP_MC6011                  0x00016011l
-#define TYP_MC6012                  0x00016012l
-#define TYP_MC6021                  0x00016021l
-#define TYP_MC6022                  0x00016022l
-#define TYP_MC6030                  0x00016030l
-#define TYP_MC6031                  0x00016031l
-#define TYP_MC6033                  0x00016033l
-#define TYP_MC6034                  0x00016034l
-
-#define TYP_MX6010                  0x00026010l
-#define TYP_MX6011                  0x00026011l
-#define TYP_MX6021                  0x00026021l
-#define TYP_MX6030                  0x00026030l
-#define TYP_MX6033                  0x00026033l
-
-
-
-// ----- MI.61xx, MC.61xx, MX.61xx -----
-#define TYP_MI6105                  0x00006105l
-#define TYP_MI6110                  0x00006110l
-#define TYP_MI6111                  0x00006111l
-
-#define TYP_M2I6105                 0x00036105l
-#define TYP_M2I6110                 0x00036110l
-#define TYP_M2I6111                 0x00036111l
-
-#define TYP_M2I6105EXP              0x00046105l
-#define TYP_M2I6110EXP              0x00046110l
-#define TYP_M2I6111EXP              0x00046111l
-
-#define TYP_MC6110                  0x00016110l
-#define TYP_MC6111                  0x00016111l
-
-#define TYP_MX6110                  0x00026110l
-
-// ----- M2p.65xx-x4 -----
-#define TYP_M2P65XX_X4              0x00096500l      // generic
-#define TYP_M2P6522_X4              0x00096522l      // 4 ch @   40 MS/s (1x4) (low voltage)
-#define TYP_M2P6523_X4              0x00096523l      // 8 ch @   40 MS/s (low voltage)
-#define TYP_M2P6530_X4              0x00096530l      // 1 ch @   40 MS/s
-#define TYP_M2P6531_X4              0x00096531l      // 2 ch @   40 MS/s
-#define TYP_M2P6532_X4              0x00096532l      // 4 ch @   40 MS/s (1x4)
-#define TYP_M2P6536_X4              0x00096536l      // 4 ch @   40 MS/s (2x2)
-#define TYP_M2P6533_X4              0x00096533l      // 8 ch @   40 MS/s
-#define TYP_M2P6540_X4              0x00096540l      // 1 ch @   40 MS/s (high voltage)
-#define TYP_M2P6541_X4              0x00096541l      // 2 ch @   40 MS/s (high voltage)
-#define TYP_M2P6546_X4              0x00096546l      // 4 ch @   40 MS/s (2x2) (high voltage)
-#define TYP_M2P6560_X4              0x00096560l      // 1 ch @  125 MS/s
-#define TYP_M2P6561_X4              0x00096561l      // 2 ch @  125 MS/s
-#define TYP_M2P6562_X4              0x00096562l      // 4 ch @  125 MS/s (1x4)
-#define TYP_M2P6566_X4              0x00096566l      // 4 ch @  125 MS/s (2x2)
-#define TYP_M2P6568_X4              0x00096568l      // 8 ch @  125/80 MS/s
-#define TYP_M2P6570_X4              0x00096570l      // 1 ch @  125 MS/s (high voltage)
-#define TYP_M2P6571_X4              0x00096571l      // 2 ch @  125 MS/s (high voltage)
-#define TYP_M2P6576_X4              0x00096576l      // 4 ch @  125 MS/s (2x2) (high voltage)
-
-// ----- M4i.66xx-x8 (16 bit D/A) -----
-// ----- M4i.66xx-x8 (generic) -----
-#define TYP_M4I66XX_X8              0x00076600
-
-#define TYP_M4I6620_X8              0x00076620      // 1 ch @  625 MS/s
-#define TYP_M4I6621_X8              0x00076621      // 2 ch @  625 MS/s
-#define TYP_M4I6622_X8              0x00076622      // 4 ch @  625 MS/s
-#define TYP_M4I6630_X8              0x00076630      // 1 ch @ 1250 MS/s
-#define TYP_M4I6631_X8              0x00076631      // 2 ch @ 1250 MS/s
-
-// ----- M4x.66xx-x8 (16 bit D/A) -----
-// ----- M4x.66xx-x8 (generic) -----
-#define TYP_M4X66XX_X4              0x00086600
-
-#define TYP_M4X6620_X4              0x00086620      // 1 ch @  625 MS/s
-#define TYP_M4X6621_X4              0x00086621      // 2 ch @  625 MS/s
-#define TYP_M4X6622_X4              0x00086622      // 4 ch @  625 MS/s
-#define TYP_M4X6630_X4              0x00086630      // 1 ch @ 1250 MS/s
-#define TYP_M4X6631_X4              0x00086631      // 2 ch @ 1250 MS/s
-
-// ----- MI.70xx, MC.70xx, MX.70xx -----
-#define TYP_MI7005                  0x00007005l
-#define TYP_MI7010                  0x00007010l
-#define TYP_MI7011                  0x00007011l
-#define TYP_MI7020                  0x00007020l
-#define TYP_MI7021                  0x00007021l
-
-#define TYP_M2I7005                 0x00037005l
-#define TYP_M2I7010                 0x00037010l
-#define TYP_M2I7011                 0x00037011l
-#define TYP_M2I7020                 0x00037020l
-#define TYP_M2I7021                 0x00037021l
-
-#define TYP_M2I7005EXP              0x00047005l
-#define TYP_M2I7010EXP              0x00047010l
-#define TYP_M2I7011EXP              0x00047011l
-#define TYP_M2I7020EXP              0x00047020l
-#define TYP_M2I7021EXP              0x00047021l
-
-#define TYP_MC7005                  0x00017005l
-#define TYP_MC7010                  0x00017010l
-#define TYP_MC7011                  0x00017011l
-#define TYP_MC7020                  0x00017020l
-#define TYP_MC7021                  0x00017021l
-
-#define TYP_MX7005                  0x00027005l
-#define TYP_MX7010                  0x00027010l
-#define TYP_MX7011                  0x00027011l
-
-
-
-// ----- MI.72xx, MC.72xx, MX.72xx -----
-#define TYP_MI7210                  0x00007210l
-#define TYP_MI7211                  0x00007211l
-#define TYP_MI7220                  0x00007220l
-#define TYP_MI7221                  0x00007221l
-
-#define TYP_M2I7210                 0x00037210l
-#define TYP_M2I7211                 0x00037211l
-#define TYP_M2I7220                 0x00037220l
-#define TYP_M2I7221                 0x00037221l
-
-#define TYP_M2I7210EXP              0x00047210l
-#define TYP_M2I7211EXP              0x00047211l
-#define TYP_M2I7220EXP              0x00047220l
-#define TYP_M2I7221EXP              0x00047221l
-
-#define TYP_MC7210                  0x00017210l
-#define TYP_MC7211                  0x00017211l
-#define TYP_MC7220                  0x00017220l
-#define TYP_MC7221                  0x00017221l
-
-#define TYP_MX7210                  0x00027210l
-#define TYP_MX7220                  0x00027220l
-
-// ----- M2p.75xx-x4 -----
-#define TYP_M2P75XX_X4              0x00097500l      // generic
-#define TYP_M2P7515_X4              0x00097515l
-
-// ----- M4i.77xx-x8  -----
-#define TYP_M4I77XX_X8              0x00077700 // generic
-#define TYP_M4I7710_X8              0x00077710 // single-ended
-#define TYP_M4I7720_X8              0x00077720 // single-ended
-#define TYP_M4I7730_X8              0x00077730 // single-ended
-#define TYP_M4I7725_X8              0x00077725 // differential
-#define TYP_M4I7735_X8              0x00077735 // differential
-
-// ----- M4x.77xx-x8  -----
-#define TYP_M4X77XX_X4              0x00087700 // generic
-#define TYP_M4X7710_X4              0x00087710 // single-ended
-#define TYP_M4X7720_X4              0x00087720 // single-ended
-#define TYP_M4X7730_X4              0x00087730 // single-ended
-#define TYP_M4X7725_X4              0x00087725 // differential
-#define TYP_M4X7735_X4              0x00087735 // differential
-
-// ----- MX.90xx -----
-#define TYP_MX9010                  0x00029010l
-
-
-
-// ***********************************************************************
-// software registers
-// ***********************************************************************
-
-
-// ***** PCI Features Bits (MI/MC/MX and prior cards) *********
-#define PCIBIT_MULTI                0x00000001
-#define PCIBIT_DIGITAL              0x00000002
-#define PCIBIT_CH0DIGI              0x00000004
-#define PCIBIT_EXTSAM               0x00000008
-#define PCIBIT_3CHANNEL             0x00000010
-#define PCIBIT_GATE                 0x00000020
-#define PCIBIT_SLAVE                0x00000040
-#define PCIBIT_MASTER               0x00000080
-#define PCIBIT_DOUBLEMEM            0x00000100
-#define PCIBIT_SYNC                 0x00000200
-#define PCIBIT_TIMESTAMP            0x00000400
-#define PCIBIT_STARHUB              0x00000800
-#define PCIBIT_CA                   0x00001000
-#define PCIBIT_XIO                  0x00002000
-#define PCIBIT_AMPLIFIER            0x00004000
-#define PCIBIT_DIFFMODE             0x00008000
-
-#define PCIBIT_ELISA                0x10000000
-
-
-// ***** PCI features starting with M2i card series *****
-#define SPCM_FEAT_MULTI             0x00000001      // multiple recording
-#define SPCM_FEAT_GATE              0x00000002      // gated sampling
-#define SPCM_FEAT_DIGITAL           0x00000004      // additional synchronous digital inputs or outputs
-#define SPCM_FEAT_TIMESTAMP         0x00000008      // timestamp
-#define SPCM_FEAT_STARHUB5          0x00000020      // starhub for  5 cards installed (M2i + M2i-Exp)
-#define SPCM_FEAT_STARHUB4          0x00000020      // starhub for  4 cards installed (M3i + M3i-Exp)
-#define SPCM_FEAT_STARHUB6_EXTM     0x00000020      // starhub for  6 cards installed as card extension or piggy back (M2p)
-#define SPCM_FEAT_STARHUB8_EXTM     0x00000020      // starhub for  8 cards installed as card extension or piggy back (M4i-Exp)
-#define SPCM_FEAT_STARHUB16         0x00000040      // starhub for 16 cards installed (M2i, M2i-exp)
-#define SPCM_FEAT_STARHUB16_EXTM    0x00000040      // starhub for 16 cards installed as card extension or piggy back (M2p)
-#define SPCM_FEAT_STARHUB8          0x00000040      // starhub for  8 cards installed (M3i + M3i-Exp, M5i)
-#define SPCM_FEAT_STARHUBXX_MASK    0x00000060      // mask to detect one of the above installed starhub
-#define SPCM_FEAT_ABA               0x00000080      // ABA mode installed
-#define SPCM_FEAT_BASEXIO           0x00000100      // extra I/O on base card installed
-#define SPCM_FEAT_AMPLIFIER_10V     0x00000200      // external amplifier for 60/61
-#define SPCM_FEAT_STARHUBSYSMASTER  0x00000400      // system starhub master installed
-#define SPCM_FEAT_DIFFMODE          0x00000800      // Differential mode installed
-#define SPCM_FEAT_SEQUENCE          0x00001000      // Sequence programming mode for generator cards
-#define SPCM_FEAT_AMPMODULE_10V     0x00002000      // amplifier module for 60/61
-#define SPCM_FEAT_STARHUBSYSSLAVE   0x00004000      // system starhub slave installed
-#define SPCM_FEAT_NETBOX            0x00008000      // card is part of netbox
-#define SPCM_FEAT_REMOTESERVER      0x00010000      // remote server can be used with this card
-#define SPCM_FEAT_SCAPP             0x00020000      // SCAPP option (CUDA RDMA)
-#define SPCM_FEAT_DIG16_SMB         0x00040000      // M2p: 16 additional digital inputs or outputs (via SMB connectors) 
-#define SPCM_FEAT_DIG8_SMA          0x00040000      // M4i:  8 additional digital inputs or 6 additional outputs (via SMA connectors) 
-#define SPCM_FEAT_DIG16_FX2         0x00080000      // M2p: 16 additional digital inputs or outputs (via FX2 connector)
-#define SPCM_FEAT_DIGITALBWFILTER   0x00100000      // Digital BW filter is available
-#define SPCM_FEAT_CUSTOMMOD_MASK    0xF0000000      // mask for custom modification code, meaning of code depends on type and customer
-
-
-// ***** Extended Features starting with M4i *****
-#define SPCM_FEAT_EXTFW_SEGSTAT     0x00000001        // segment (Multiple Recording, ABA) statistics like average, min/max
-#define SPCM_FEAT_EXTFW_SEGAVERAGE  0x00000002        // average of multiple segments (Multiple Recording, ABA) 
-#define SPCM_FEAT_EXTFW_BOXCAR      0x00000004        // boxcar averaging (high-res mode)
-#define SPCM_FEAT_EXTFW_PULSEGEN    0x00000008        // pulse generators on XIO lines available
-
-
-// ***** Error Request *************
-#define ERRORTEXTLEN                200
-#define SPC_LASTERRORTEXT           999996l
-#define SPC_LASTERRORVALUE          999997l
-#define SPC_LASTERRORREG            999998l
-#define SPC_LASTERRORCODE           999999l     // Reading this reset the internal error-memory.
-
-// ***** constants to use with the various _ACDC registers *****
-#define COUPLING_DC 0
-#define COUPLING_AC 1
-
-
-// ***** Register and Command Structure
-#define SPC_COMMAND                 0l
-#define     SPC_RESET               0l
-#define     SPC_SOFTRESET           1l
-#define     SPC_WRITESETUP          2l
-#define     SPC_START               10l
-#define     SPC_STARTANDWAIT        11l
-#define     SPC_FIFOSTART           12l
-#define     SPC_FIFOWAIT            13l
-#define     SPC_FIFOSTARTNOWAIT     14l
-#define     SPC_FORCETRIGGER        16l
-#define     SPC_STOP                20l
-#define     SPC_FLUSHFIFOBUFFER     21l
-#define     SPC_POWERDOWN           30l
-#define     SPC_SYNCMASTER          100l
-#define     SPC_SYNCTRIGGERMASTER   101l
-#define     SPC_SYNCMASTERFIFO      102l
-#define     SPC_SYNCSLAVE           110l
-#define     SPC_SYNCTRIGGERSLAVE    111l
-#define     SPC_SYNCSLAVEFIFO       112l
-#define     SPC_NOSYNC              120l
-#define     SPC_SYNCSTART           130l
-#define     SPC_SYNCCALCMASTER      140l
-#define     SPC_SYNCCALCMASTERFIFO  141l
-#define     SPC_PXIDIVIDERRESET     150l
-#define     SPC_RELAISON            200l
-#define     SPC_RELAISOFF           210l
-#define     SPC_ADJUSTSTART         300l
-#define     SPC_FIFO_BUFREADY0      400l
-#define     SPC_FIFO_BUFREADY1      401l
-#define     SPC_FIFO_BUFREADY2      402l
-#define     SPC_FIFO_BUFREADY3      403l
-#define     SPC_FIFO_BUFREADY4      404l
-#define     SPC_FIFO_BUFREADY5      405l
-#define     SPC_FIFO_BUFREADY6      406l
-#define     SPC_FIFO_BUFREADY7      407l
-#define     SPC_FIFO_BUFREADY8      408l
-#define     SPC_FIFO_BUFREADY9      409l
-#define     SPC_FIFO_BUFREADY10     410l
-#define     SPC_FIFO_BUFREADY11     411l
-#define     SPC_FIFO_BUFREADY12     412l
-#define     SPC_FIFO_BUFREADY13     413l
-#define     SPC_FIFO_BUFREADY14     414l
-#define     SPC_FIFO_BUFREADY15     415l
-#define     SPC_FIFO_AUTOBUFSTART   500l
-#define     SPC_FIFO_AUTOBUFEND     510l
-
-#define SPC_STATUS                  10l
-#define     SPC_RUN                 0l
-#define     SPC_TRIGGER             10l
-#define     SPC_READY               20l
-
-
-
-// commands for M2 cards
-#define SPC_M2CMD                   100l                // write a command
-#define     M2CMD_CARD_RESET            0x00000001l     // hardware reset   
-#define     M2CMD_CARD_WRITESETUP       0x00000002l     // write setup only
-#define     M2CMD_CARD_START            0x00000004l     // start of card (including writesetup)
-#define     M2CMD_CARD_ENABLETRIGGER    0x00000008l     // enable trigger engine
-#define     M2CMD_CARD_FORCETRIGGER     0x00000010l     // force trigger
-#define     M2CMD_CARD_DISABLETRIGGER   0x00000020l     // disable trigger engine again (multi or gate)
-#define     M2CMD_CARD_STOP             0x00000040l     // stop run
-#define     M2CMD_CARD_FLUSHFIFO        0x00000080l     // flush fifos to memory
-#define     M2CMD_CARD_INVALIDATEDATA   0x00000100l     // current data in memory is invalidated, next data transfer start will wait until new data is available
-#define     M2CMD_CARD_INTERNALRESET    0x00000200l     // INTERNAL reset command
-
-#define     M2CMD_ALL_STOP              0x00440060l     // stops card and all running transfers
-
-#define     M2CMD_CARD_WAITPREFULL      0x00001000l     // wait until pretrigger is full
-#define     M2CMD_CARD_WAITTRIGGER      0x00002000l     // wait for trigger recognition
-#define     M2CMD_CARD_WAITREADY        0x00004000l     // wait for card ready
-
-#define     M2CMD_DATA_STARTDMA         0x00010000l     // start of DMA transfer for data
-#define     M2CMD_DATA_WAITDMA          0x00020000l     // wait for end of data transfer / next block ready
-#define     M2CMD_DATA_STOPDMA          0x00040000l     // abort the data transfer
-#define     M2CMD_DATA_POLL             0x00080000l     // transfer data using single access and polling
-
-#define     M2CMD_EXTRA_STARTDMA        0x00100000l     // start of DMA transfer for extra (ABA + timestamp) data
-#define     M2CMD_EXTRA_WAITDMA         0x00200000l     // wait for end of extra (ABA + timestamp) data transfer / next block ready
-#define     M2CMD_EXTRA_STOPDMA         0x00400000l     // abort the extra (ABA + timestamp) data transfer
-#define     M2CMD_EXTRA_POLL            0x00800000l     // transfer data using single access and polling
-
-#define     M2CMD_DATA_SGFLUSH          0x01000000l     // flush incomplete pages from sg list
-
-
-// status for M2 cards (bitmask)
-#define SPC_M2STATUS                110l                // read the current status
-#define     M2STAT_NONE                 0x00000000l     // status empty
-#define     M2STAT_CARD_PRETRIGGER      0x00000001l     // pretrigger area is full
-#define     M2STAT_CARD_TRIGGER         0x00000002l     // trigger recognized
-#define     M2STAT_CARD_READY           0x00000004l     // card is ready, run finished
-#define     M2STAT_CARD_SEGMENT_PRETRG  0x00000008l     // since M4i: at muliple-recording: pretrigger area of a segment is full
-
-#define     M2STAT_DATA_BLOCKREADY      0x00000100l     // next data block is available
-#define     M2STAT_DATA_END             0x00000200l     // data transfer has ended
-#define     M2STAT_DATA_OVERRUN         0x00000400l     // FIFO overrun (record) or underrun (replay)
-#define     M2STAT_DATA_ERROR           0x00000800l     // internal error
-
-#define     M2STAT_EXTRA_BLOCKREADY     0x00001000l     // next extra data (ABA and timestamp) block is available
-#define     M2STAT_EXTRA_END            0x00002000l     // extra data (ABA and timestamp) transfer has ended
-#define     M2STAT_EXTRA_OVERRUN        0x00004000l     // FIFO overrun
-#define     M2STAT_EXTRA_ERROR          0x00008000l     // internal error
-
-#define     M2STAT_TSCNT_OVERRUN        0x00010000l     // timestamp counter overrun
-
-#define     M2STAT_INTERNALMASK         0xff000000l     // mask for internal status signals
-#define     M2STAT_INTERNAL_SYSLOCK     0x02000000l
-
-
-
-// buffer control registers for samples data
-#define SPC_DATA_AVAIL_USER_LEN     200l                // number of bytes available for user (valid data if READ, free buffer if WRITE)
-#define SPC_DATA_AVAIL_USER_POS     201l                // the current byte position where the available user data starts
-#define SPC_DATA_AVAIL_CARD_LEN     202l                // number of bytes available for card (free buffer if READ, filled data if WRITE)
-#define SPC_DATA_OUTBUFSIZE         209l                // output buffer size in bytes
-
-// buffer control registers for extra data (ABA slow data, timestamps)
-#define SPC_ABA_AVAIL_USER_LEN      210l                // number of bytes available for user (valid data if READ, free buffer if WRITE)
-#define SPC_ABA_AVAIL_USER_POS      211l                // the current byte position where the available user data starts
-#define SPC_ABA_AVAIL_CARD_LEN      212l                // number of bytes available for card (free buffer if READ, filled data if WRITE)
-
-#define SPC_TS_AVAIL_USER_LEN       220l                // number of bytes available for user (valid data if READ, free buffer if WRITE)
-#define SPC_TS_AVAIL_USER_POS       221l                // the current byte position where the available user data starts
-#define SPC_TS_AVAIL_CARD_LEN       222l                // number of bytes available for card (free buffer if READ, filled data if WRITE)
-
-
-
-// Installation
-#define SPC_VERSION                 1000l
-#define SPC_ISAADR                  1010l
-#define SPC_INSTMEM                 1020l
-#define SPC_INSTSAMPLERATE          1030l
-#define SPC_BRDTYP                  1040l
-
-// MI/MC/MX type information (internal use)
-#define SPC_MIINST_MODULES          1100l
-#define SPC_MIINST_CHPERMODULE      1110l
-#define SPC_MIINST_BYTESPERSAMPLE   1120l
-#define SPC_MIINST_BITSPERSAMPLE    1125l
-#define SPC_MIINST_MAXADCVALUE      1126l
-#define SPC_MIINST_MINADCLOCK       1130l
-#define SPC_MIINST_MAXADCLOCK       1140l
-#define SPC_MIINST_MINEXTCLOCK      1145l
-#define SPC_MIINST_MAXEXTCLOCK      1146l
-#define SPC_MIINST_MINSYNCCLOCK     1147l
-#define SPC_MIINST_MINEXTREFCLOCK   1148l
-#define SPC_MIINST_MAXEXTREFCLOCK   1149l
-#define SPC_MIINST_QUARZ            1150l
-#define SPC_MIINST_QUARZ2           1151l
-#define SPC_MIINST_MINEXTCLOCK1     1152l
-#define SPC_MIINST_FLAGS            1160l
-#define SPC_MIINST_FIFOSUPPORT      1170l
-#define SPC_MIINST_ISDEMOCARD       1175l
-
-// Driver information
-#define SPC_GETDRVVERSION           1200l
-#define SPC_GETKERNELVERSION        1210l
-#define SPC_GETDRVTYPE              1220l
-#define     DRVTYP_DOS              0l
-#define     DRVTYP_LINUX32          1l
-#define     DRVTYP_VXD              2l
-#define     DRVTYP_NTLEGACY         3l
-#define     DRVTYP_WDM32            4l
-#define     DRVTYP_WDM64            5l
-#define     DRVTYP_WOW64            6l
-#define     DRVTYP_LINUX64          7l
-#define     DRVTYP_QNX32            8l
-#define     DRVTYP_QNX64            9l
-#define SPC_GETCOMPATIBILITYVERSION 1230l
-#define SPC_GETMINDRVVERSION        1240l
-
-// PCI, CompactPCI and PXI Installation Information
-#define SPC_PCITYP                  2000l
-
-// ***** available card function types *****
-#define SPC_FNCTYPE                 2001l
-#define     SPCM_TYPE_AI            0x01
-#define     SPCM_TYPE_AO            0x02
-#define     SPCM_TYPE_DI            0x04
-#define     SPCM_TYPE_DO            0x08
-#define     SPCM_TYPE_DIO           0x10
-
-#define SPC_PCIVERSION              2010l
-#define SPC_PCIEXTVERSION           2011l
-#define SPC_PCIMODULEVERSION        2012l
-#define SPC_PCIMODULEBVERSION       2013l
-#define SPC_BASEPCBVERSION          2014l
-#define SPC_MODULEPCBVERSION        2015l
-#define SPC_MODULEAPCBVERSION       2015l
-#define SPC_MODULEBPCBVERSION       2016l
-#define SPC_EXTPCBVERSION           2017l
-#define SPC_PCIDIGVERSION           2018l
-#define SPC_DIGPCBVERSION           2019l
-#define SPC_PCIDATE                 2020l
-#define SPC_CALIBDATE               2025l
-#define SPC_CALIBDATEONBOARD        2026l
-#define SPC_PCISERIALNR             2030l
-#define SPC_PCISERIALNO             2030l
-#define SPC_PCIHWBUSNO              2040l
-#define SPC_PCIHWDEVNO              2041l
-#define SPC_PCIHWFNCNO              2042l
-#define SPC_PCIHWSLOTNO             2043l
-#define SPC_PCIEXPGENERATION        2050l
-#define SPC_PCIEXPLANES             2051l
-#define SPC_PCIEXPPAYLOAD           2052l
-#define SPC_PCIEXPREADREQUESTSIZE   2053l
-#define SPC_PCIEXPREADCOMPLBOUNDARY 2054l
-#define SPC_PXIHWSLOTNO             2055l
-#define SPC_PCISAMPLERATE           2100l
-#define SPC_PCIMEMSIZE              2110l
-#define SPC_PCIFEATURES             2120l
-#define SPC_PCIEXTFEATURES          2121l
-#define SPC_PCIINFOADR              2200l
-#define SPC_PCIINTERRUPT            2300l
-#define SPC_PCIBASEADR0             2400l
-#define SPC_PCIBASEADR1             2401l
-#define SPC_PCIREGION0              2410l
-#define SPC_PCIREGION1              2411l
-#define SPC_READTRGLVLCOUNT         2500l
-#define SPC_READIRCOUNT             3000l
-#define SPC_READUNIPOLAR0           3010l
-#define SPC_READUNIPOLAR1           3020l
-#define SPC_READUNIPOLAR2           3030l
-#define SPC_READUNIPOLAR3           3040l
-#define SPC_READMAXOFFSET           3100l
-
-#define SPC_READAIFEATURES          3101l
-#define     SPCM_AI_TERM            0x00000001  // input termination available
-#define     SPCM_AI_SE              0x00000002  // single-ended mode available
-#define     SPCM_AI_DIFF            0x00000004  // differential mode available
-#define     SPCM_AI_OFFSPERCENT     0x00000008  // offset programming is done in percent of input range
-#define     SPCM_AI_OFFSMV          0x00000010  // offset programming is done in mV absolut
-#define     SPCM_AI_OVERRANGEDETECT 0x00000020  // overrange detection is programmable
-#define     SPCM_AI_DCCOUPLING      0x00000040  // DC coupling available
-#define     SPCM_AI_ACCOUPLING      0x00000080  // AC coupling available
-#define     SPCM_AI_LOWPASS         0x00000100  // selectable low pass
-#define     SPCM_AI_ACDC_OFFS_COMP  0x00000200  // AC/DC offset compensation
-#define     SPCM_AI_DIFFMUX         0x00000400  // differential mode (two channels combined to one) available
-#define     SPCM_AI_GLOBALLOWPASS   0x00000800  // globally selectable low pass (all channels same setting)
-#define     SPCM_AI_AUTOCALOFFS     0x00001000  // automatic offset calibration in hardware
-#define     SPCM_AI_AUTOCALGAIN     0x00002000  // automatic gain calibration in hardware
-#define     SPCM_AI_AUTOCALOFFSNOIN 0x00004000  // automatic offset calibration with open inputs
-#define     SPCM_AI_HIGHIMP         0x00008000  // high impedance available
-#define     SPCM_AI_LOWIMP          0x00010000  // low impedance available (50 ohm)
-#define     SPCM_AI_DIGITALLOWPASS  0x00020000  // selectable digital low pass filter
-#define     SPCM_AI_INDIVPULSEWIDTH 0x00100000  // individual pulsewidth per channel available
-
-#define SPC_READAOFEATURES          3102l
-#define     SPCM_AO_SE              0x00000002  // single-ended mode available
-#define     SPCM_AO_DIFF            0x00000004  // differential mode available
-#define     SPCM_AO_PROGFILTER      0x00000008  // programmable filters available
-#define     SPCM_AO_PROGOFFSET      0x00000010  // programmable offset available
-#define     SPCM_AO_PROGGAIN        0x00000020  // programmable gain available
-#define     SPCM_AO_PROGSTOPLEVEL   0x00000040  // programmable stop level available
-#define     SPCM_AO_DOUBLEOUT       0x00000080  // double out mode available
-#define     SPCM_AO_ENABLEOUT       0x00000100  // outputs can be disabled/enabled
-
-#define SPC_READDIFEATURES          3103l
-#define     SPCM_DI_TERM            0x00000001  // input termination available
-#define     SPCM_DI_SE              0x00000002  // single-ended mode available
-#define     SPCM_DI_DIFF            0x00000004  // differential mode available
-#define     SPCM_DI_PROGTHRESHOLD   0x00000008  // programmable threshold available
-#define     SPCM_DI_HIGHIMP         0x00000010  // high impedance available
-#define     SPCM_DI_LOWIMP          0x00000020  // low impedance available
-#define     SPCM_DI_INDIVPULSEWIDTH 0x00100000  // individual pulsewidth per channel available
-#define     SPCM_DI_IOCHANNEL       0x00200000  // connected with DO channel
-
-#define SPC_READDOFEATURES          3104l
-#define     SPCM_DO_SE              0x00000002  // single-ended mode available
-#define     SPCM_DO_DIFF            0x00000004  // differential mode available
-#define     SPCM_DO_PROGSTOPLEVEL   0x00000008  // programmable stop level available
-#define     SPCM_DO_PROGOUTLEVELS   0x00000010  // programmable output levels (low + high) available
-#define     SPCM_DO_ENABLEMASK      0x00000020  // individual enable mask for each output channel
-#define     SPCM_DO_IOCHANNEL       0x00200000  // connected with DI channel
-
-#define SPC_READCHGROUPING          3110l
-#define SPC_READAIPATHCOUNT         3120l       // number of available analog input paths
-#define SPC_READAIPATH              3121l       // the current path for which all the settings are read
-
-#define SPCM_CUSTOMMOD              3130l
-#define     SPCM_CUSTOMMOD_BASE_MASK    0x000000FF
-#define     SPCM_CUSTOMMOD_MODULE_MASK  0x0000FF00
-#define     SPCM_CUSTOMMOD_STARHUB_MASK 0x00FF0000
-
-#define SPC_READRANGECH0_0          3200l
-#define SPC_READRANGECH0_1          3201l
-#define SPC_READRANGECH0_2          3202l
-#define SPC_READRANGECH0_3          3203l
-#define SPC_READRANGECH0_4          3204l
-#define SPC_READRANGECH0_5          3205l
-#define SPC_READRANGECH0_6          3206l
-#define SPC_READRANGECH0_7          3207l
-#define SPC_READRANGECH0_8          3208l
-#define SPC_READRANGECH0_9          3209l
-#define SPC_READRANGECH1_0          3300l
-#define SPC_READRANGECH1_1          3301l
-#define SPC_READRANGECH1_2          3302l
-#define SPC_READRANGECH1_3          3303l
-#define SPC_READRANGECH1_4          3304l
-#define SPC_READRANGECH1_5          3305l
-#define SPC_READRANGECH1_6          3306l
-#define SPC_READRANGECH1_7          3307l
-#define SPC_READRANGECH1_8          3308l
-#define SPC_READRANGECH1_9          3309l
-#define SPC_READRANGECH2_0          3400l
-#define SPC_READRANGECH2_1          3401l
-#define SPC_READRANGECH2_2          3402l
-#define SPC_READRANGECH2_3          3403l
-#define SPC_READRANGECH3_0          3500l
-#define SPC_READRANGECH3_1          3501l
-#define SPC_READRANGECH3_2          3502l
-#define SPC_READRANGECH3_3          3503l
-
-#define SPC_READRANGEMIN0           4000l
-#define SPC_READRANGEMIN99          4099l
-#define SPC_READRANGEMAX0           4100l
-#define SPC_READRANGEMAX99          4199l
-#define SPC_READOFFSMIN0            4200l
-#define SPC_READOFFSMIN99           4299l
-#define SPC_READOFFSMAX0            4300l
-#define SPC_READOFFSMAX99           4399l
-#define SPC_PCICOUNTER              9000l
-#define SPC_BUFFERPOS               9010l
-
-#define SPC_READAOGAINMIN           9100l
-#define SPC_READAOGAINMAX           9110l
-#define SPC_READAOOFFSETMIN         9120l
-#define SPC_READAOOFFSETMAX         9130l
-
-#define SPC_CARDMODE                9500l       // card modes as listed below
-#define SPC_AVAILCARDMODES          9501l       // list with available card modes
-
-// card modes
-#define     SPC_REC_STD_SINGLE          0x00000001  // singleshot recording to memory
-#define     SPC_REC_STD_MULTI           0x00000002  // multiple records to memory on each trigger event
-#define     SPC_REC_STD_GATE            0x00000004  // gated recording to memory on gate signal
-#define     SPC_REC_STD_ABA             0x00000008  // ABA: A slowly to extra FIFO, B to memory on each trigger event 
-#define     SPC_REC_STD_SEGSTATS        0x00010000  // segment information stored on each trigger segment -> stored in on-board memory
-#define     SPC_REC_STD_AVERAGE         0x00020000  // multiple records summed to average memory on each trigger event -> stored in on-board memory
-#define     SPC_REC_STD_AVERAGE_16BIT   0x00080000  // multiple records summed to average memory on each trigger event -> stored in on-board memory
-#define     SPC_REC_STD_BOXCAR          0x00800000  // boxcar averaging
-
-#define     SPC_REC_FIFO_SINGLE         0x00000010  // singleshot to FIFO on trigger event
-#define     SPC_REC_FIFO_MULTI          0x00000020  // multiple records to FIFO on each trigger event
-#define     SPC_REC_FIFO_GATE           0x00000040  // gated sampling to FIFO on gate signal
-#define     SPC_REC_FIFO_ABA            0x00000080  // ABA: A slowly to extra FIFO, B to FIFO on each trigger event
-#define     SPC_REC_FIFO_SEGSTATS       0x00100000  // segment information stored on each trigger segment -> streamed to host
-#define     SPC_REC_FIFO_AVERAGE        0x00200000  // multiple records summed to average memory on each trigger event -> streamed to host
-#define     SPC_REC_FIFO_AVERAGE_16BIT  0x00400000  // multiple records summed to average memory on each trigger event -> streamed to host
-#define     SPC_REC_FIFO_BOXCAR         0x01000000  // boxcar averaging FIFO mode
-#define     SPC_REC_FIFO_SINGLE_MONITOR 0x02000000  // like SPC_REC_FIFO_SINGLE but with additional slow A data stream for monitoring
-
-#define     SPC_REP_STD_SINGLE          0x00000100  // single replay from memory on trigger event 
-#define     SPC_REP_STD_MULTI           0x00000200  // multiple replay from memory on each trigger event
-#define     SPC_REP_STD_GATE            0x00000400  // gated replay from memory on gate signal
-
-#define     SPC_REP_FIFO_SINGLE         0x00000800  // single replay from FIFO on trigger event
-#define     SPC_REP_FIFO_MULTI          0x00001000  // multiple replay from FIFO on each trigger event
-#define     SPC_REP_FIFO_GATE           0x00002000  // gated replay from FIFO on gate signal
-
-#define     SPC_REP_STD_CONTINUOUS      0x00004000  // continuous replay started by one trigger event
-#define     SPC_REP_STD_SINGLERESTART   0x00008000  // single replays on every detected trigger event
-#define     SPC_REP_STD_SEQUENCE        0x00040000  // sequence mode replay
-
-// Waveforms for demo cards
-#define SPC_DEMOWAVEFORM            9600l
-#define SPC_AVAILDEMOWAVEFORMS      9601l
-#define     SPCM_DEMOWAVEFORM_SINE      0x00000001
-#define     SPCM_DEMOWAVEFORM_RECT      0x00000002
-#define     SPCM_DEMOWAVEFORM_TRIANGLE  0x00000004
-
-
-// Memory
-#define SPC_MEMSIZE                 10000l
-#define SPC_SEGMENTSIZE             10010l
-#define SPC_LOOPS                   10020l
-#define SPC_PRETRIGGER              10030l
-#define SPC_ABADIVIDER              10040l
-#define SPC_AVERAGES                10050l
-#define SPC_BOX_AVERAGES            10060l
-#define SPC_SEGSPLIT_START          10070l
-#define SPC_SEGSPLIT_PAUSE          10071l
-#define SPC_POSTTRIGGER             10100l
-#define SPC_STARTOFFSET             10200l
-
-// Memory info (depends on mode and channelenable)
-#define SPC_AVAILMEMSIZE_MIN        10201l
-#define SPC_AVAILMEMSIZE_MAX        10202l
-#define SPC_AVAILMEMSIZE_STEP       10203l
-#define SPC_AVAILPOSTTRIGGER_MIN    10204l
-#define SPC_AVAILPOSTTRIGGER_MAX    10205l
-#define SPC_AVAILPOSTTRIGGER_STEP   10206l
-
-#define SPC_AVAILABADIVIDER_MIN     10207l
-#define SPC_AVAILABADIVIDER_MAX     10208l
-#define SPC_AVAILABADIVIDER_STEP    10209l
-
-#define SPC_AVAILLOOPS_MIN          10210l
-#define SPC_AVAILLOOPS_MAX          10211l
-#define SPC_AVAILLOOPS_STEP         10212l
-
-#define SPC_AVAILAVERAGES_MIN       10220l
-#define SPC_AVAILAVERAGES_MAX       10221l
-#define SPC_AVAILAVERAGES_STEP      10222l
-
-#define SPC_AVAILAVRGSEGSIZE_MIN    10223l
-#define SPC_AVAILAVRGSEGSIZE_MAX    10224l
-#define SPC_AVAILAVRGSEGSIZE_STEP   10225l
-
-#define SPC_AVAILAVERAGES16BIT_MIN     10226l
-#define SPC_AVAILAVERAGES16BIT_MAX     10227l
-#define SPC_AVAILAVERAGES16BIT_STEP    10228l
-
-#define SPC_AVAILAVRG16BITSEGSIZE_MIN  10229l
-#define SPC_AVAILAVRG16BITSEGSIZE_MAX  10230l
-#define SPC_AVAILAVRG16BITSEGSIZE_STEP 10231l
-
-#define SPC_AVAILBOXCARAVERAGES_MIN         10232l
-#define SPC_AVAILBOXCARAVERAGES_MAX         10233l
-#define SPC_AVAILBOXCARAVERAGES_STEPFACTOR  10234l
-
-
-// Channels
-#define SPC_CHENABLE                11000l
-#define SPC_CHCOUNT                 11001l
-#define SPC_CHMODACOUNT             11100l
-#define SPC_CHMODBCOUNT             11101l
-
-
-// ----- channel enable flags for A/D and D/A boards (MI/MC/MX series) -----
-//       and all cards on M2i series
-#define     CHANNEL0                0x00000001
-#define     CHANNEL1                0x00000002
-#define     CHANNEL2                0x00000004
-#define     CHANNEL3                0x00000008
-#define     CHANNEL4                0x00000010
-#define     CHANNEL5                0x00000020
-#define     CHANNEL6                0x00000040
-#define     CHANNEL7                0x00000080
-#define     CHANNEL8                0x00000100
-#define     CHANNEL9                0x00000200
-#define     CHANNEL10               0x00000400
-#define     CHANNEL11               0x00000800
-#define     CHANNEL12               0x00001000
-#define     CHANNEL13               0x00002000
-#define     CHANNEL14               0x00004000
-#define     CHANNEL15               0x00008000
-#define     CHANNEL16               0x00010000
-#define     CHANNEL17               0x00020000
-#define     CHANNEL18               0x00040000
-#define     CHANNEL19               0x00080000
-#define     CHANNEL20               0x00100000
-#define     CHANNEL21               0x00200000
-#define     CHANNEL22               0x00400000
-#define     CHANNEL23               0x00800000
-#define     CHANNEL24               0x01000000
-#define     CHANNEL25               0x02000000
-#define     CHANNEL26               0x04000000
-#define     CHANNEL27               0x08000000
-#define     CHANNEL28               0x10000000
-#define     CHANNEL29               0x20000000
-#define     CHANNEL30               0x40000000
-#define     CHANNEL31               0x80000000
-// CHANNEL32 up to CHANNEL63 are placed in the upper 32 bit of a 64 bit word (M2i only)
-
-
-// ----- old digital i/o settings for 16 bit implementation (MI/MC/MX series)  -----
-#define     CH0_8BITMODE            65536l  // for MI.70xx only
-#define     CH0_16BIT               1l
-#define     CH0_32BIT               3l
-#define     CH1_16BIT               4l
-#define     CH1_32BIT               12l
-
-// ----- new digital i/o settings for 8 bit implementation (MI/MC/MX series) -----
-#define     MOD0_8BIT               1l
-#define     MOD0_16BIT              3l
-#define     MOD0_32BIT              15l
-#define     MOD1_8BIT               16l
-#define     MOD1_16BIT              48l
-#define     MOD1_32BIT              240l
-
-#define SPC_CHROUTE0                11010l
-#define SPC_CHROUTE1                11020l
-
-#define SPC_BITENABLE               11030l
-
-
-
-// ----- Clock Settings -----
-#define SPC_SAMPLERATE              20000l
-#define SPC_SYNCCLOCK               20005l
-#define SPC_SAMPLERATE2             20010l
-#define SPC_SR2                     20020l
-#define SPC_PLL_ENABLE              20030l
-#define SPC_PLL_ISLOCKED            20031l
-#define SPC_CLOCKDIV                20040l
-#define SPC_INTCLOCKDIV             20041l
-#define SPC_PXICLOCKDIV             20042l
-#define SPC_PLL_R                   20060l
-#define SPC_PLL_F                   20061l
-#define SPC_PLL_S                   20062l
-#define SPC_PLL_DIV                 20063l
-#define SPC_PXI_CLK_OUT             20090l
-#define SPC_EXTERNALCLOCK           20100l
-#define SPC_EXTERNOUT               20110l
-#define SPC_CLOCKOUT                20110l
-#define SPC_CLOCKOUTFREQUENCY       20111l
-#define SPC_CLOCK50OHM              20120l
-#define SPC_CLOCK110OHM             20120l
-#define SPC_CLOCK75OHM              20120l
-#define SPC_STROBE75OHM             20121l
-#define SPC_EXTERNRANGE             20130l
-#define SPC_EXTRANGESHDIRECT        20131l
-#define     EXRANGE_NONE            0l
-#define     EXRANGE_NOPLL           1l
-#define     EXRANGE_SINGLE          2l
-#define     EXRANGE_BURST_S         4l
-#define     EXRANGE_BURST_M         8l
-#define     EXRANGE_BURST_L         16l
-#define     EXRANGE_BURST_XL        32l
-#define     EXRANGE_LOW             64l
-#define     EXRANGE_HIGH            128l
-#define     EXRANGE_LOW_DPS         256l            // digital phase synchronization
-#define SPC_REFERENCECLOCK          20140l
-#define     REFCLOCK_PXI            -1l
-
-// ----- new clock registers starting with M2i cards -----
-#define SPC_CLOCKMODE               20200l      // clock mode as listed below
-#define SPC_AVAILCLOCKMODES         20201l      // returns all available clock modes
-#define     SPC_CM_INTPLL           0x00000001      // use internal PLL
-#define     SPC_CM_QUARTZ1          0x00000002      // use plain quartz1 (with divider)
-#define     SPC_CM_QUARTZ2          0x00000004      // use plain quartz2 (with divider)
-#define     SPC_CM_EXTERNAL         0x00000008      // use external clock directly
-#define     SPC_CM_EXTERNAL0        0x00000008      // use external clock0 directly (identical value to SPC_CM_EXTERNAL)
-#define     SPC_CM_EXTDIVIDER       0x00000010      // use external clock with programmed divider
-#define     SPC_CM_EXTREFCLOCK      0x00000020      // external reference clock fed in (defined with SPC_REFERENCECLOCK)
-#define     SPC_CM_PXIREFCLOCK      0x00000040      // PXI reference clock
-#define     SPC_CM_SHDIRECT         0x00000080      // Star-hub direct clock (not synchronised)
-#define     SPC_CM_QUARTZ2_DIRSYNC  0x00000100      // use plain quartz2 (with divider) and put the Q2 clock on the star-hub module
-#define     SPC_CM_QUARTZ1_DIRSYNC  0x00000200      // use plain quartz1 (with divider) and put the Q1 clock on the star-hub module
-#define     SPC_CM_EXTERNAL1        0x00000400      // use external clock1 directly
-// ----- internal use only! -----
-#define     SPC_CM_SYNCINT          0x01000000
-#define     SPC_CM_SYNCEXT          0x02000000
-
-#define SPC_CLOCK_READFEATURES      20205l
-#define SPC_CLOCK_READFEATURES0     20205l
-#define SPC_CLOCK_READFEATURES1     20206l
-#define     SPCM_CKFEAT_TERM            0x00000001
-#define     SPCM_CKFEAT_HIGHIMP         0x00000002
-#define     SPCM_CKFEAT_DCCOUPLING      0x00000004
-#define     SPCM_CKFEAT_ACCOUPLING      0x00000008
-#define     SPCM_CKFEAT_SE              0x00000010
-#define     SPCM_CKFEAT_DIFF            0x00000020
-#define     SPCM_CKFEAT_PROGEDGE        0x00000040
-#define     SPCM_CKFEAT_LEVELPROG       0x00000100
-#define     SPCM_CKFEAT_PROGTHRESHOLD   0x00000200
-#define     SPCM_CKFEAT_PROGDELAY       0x00000400
-
-#define SPC_BURSTSYSCLOCKMODE       20210l
-#define SPC_SYNCMASTERSYSCLOCKMODE  20211l
-#define SPC_CLOCK_SETUP_CHANGED     20212l
-
-// clock delay if available
-#define SPC_CLOCK_AVAILDELAY_MIN    20220l
-#define SPC_CLOCK_AVAILDELAY_MAX    20221l
-#define SPC_CLOCK_AVAILDELAY_STEP   20222l
-#define SPC_CLOCK_DELAY             20223l
-
-// clock edges
-#define SPC_AVAILCLOCKEDGES         20224l
-#define     SPCM_EDGE_FALLING       0x00000001 // Originally SPCM_RISING_EDGE  : name and value of constant intentionally changed with driver versions greater than V5.24. See hardware manual for details.
-#define     SPCM_EDGE_RISING        0x00000002 // Originally SPCM_FALLING_EDGE : name and value of constant intentionally changed with driver versions greater than V5.24. See hardware manual for details.
-#define     SPCM_BOTH_EDGES         0x00000004
-#define     SPCM_EDGES_BOTH         0x00000004 //Just added for good measure to match naming scheme of above SPCM_EDGE_FALLING and SPCM_EDGE_RISING constants.
-#define SPC_CLOCK_EDGE              20225l
-
-// mux definitions for channel routing
-#define SPC_CHANNELMUXINFO          20300l
-#define     SPCM_MUX_NONE            0x00000000  // nothing is interlaced
-#define     SPCM_MUX_MUXONMOD        0x00000001  // data on module is multiplexed, only one channel can have full speed
-#define     SPCM_MUX_INVERTCLKONMOD  0x00000002  // two channels on one module run with inverted clock
-#define     SPCM_MUX_DLY             0x00000003  // delay cable between modules, one channel can have full interlace speed
-#define     SPCM_MUX_DLYANDMUXONMOD  0x00000004  // delay cable between modules and multplexing on module
-#define     SPCM_MUX_MUXBETWEENMODS  0x00000005  // multiplexed between modules (fastest sampling rate only with one module)
-#define     SPCM_MUX_MUXONMOD2CH     0x00000006  // data on module is multiplexed, only two channel can have full speed
-#define     SPCM_MUX_MAX4CH          0x00000007  // only four channels can have full speed, independent of distribution on modules
-
-
-// ----- In/Out Range -----
-#define SPC_OFFS0                   30000l
-#define SPC_AMP0                    30010l
-#define SPC_ACDC0                   30020l
-#define SPC_ACDC_OFFS_COMPENSATION0 30021l
-#define SPC_50OHM0                  30030l
-#define SPC_DIFF0                   30040l
-#define SPC_DOUBLEOUT0              30041l
-#define SPC_DIGITAL0                30050l
-#define SPC_110OHM0                 30060l
-#define SPC_110OHM0L                30060l
-#define SPC_75OHM0                  30060l
-#define SPC_INOUT0                  30070l
-#define SPC_FILTER0                 30080l
-#define SPC_BANKSWITCH0             30081l
-#define SPC_PATH0                   30090l
-#define SPC_ENABLEOUT0              30091l
-
-#define SPC_OFFS1                   30100l
-#define SPC_AMP1                    30110l
-#define SPC_ACDC1                   30120l
-#define SPC_ACDC_OFFS_COMPENSATION1 30121l
-#define SPC_50OHM1                  30130l
-#define SPC_DIFF1                   30140l
-#define SPC_DOUBLEOUT1              30141l
-#define SPC_DIGITAL1                30150l
-#define SPC_110OHM1                 30160l
-#define SPC_110OHM0H                30160l
-#define SPC_75OHM1                  30160l
-#define SPC_INOUT1                  30170l
-#define SPC_FILTER1                 30180l
-#define SPC_BANKSWITCH1             30181l
-#define SPC_PATH1                   30190l
-#define SPC_ENABLEOUT1              30191l
-
-#define SPC_OFFS2                   30200l
-#define SPC_AMP2                    30210l
-#define SPC_ACDC2                   30220l
-#define SPC_ACDC_OFFS_COMPENSATION2 30221l
-#define SPC_50OHM2                  30230l
-#define SPC_DIFF2                   30240l
-#define SPC_DOUBLEOUT2              30241l
-#define SPC_110OHM2                 30260l
-#define SPC_110OHM1L                30260l
-#define SPC_75OHM2                  30260l
-#define SPC_INOUT2                  30270l
-#define SPC_FILTER2                 30280l
-#define SPC_BANKSWITCH2             30281l
-#define SPC_PATH2                   30290l
-#define SPC_ENABLEOUT2              30291l
-
-#define SPC_OFFS3                   30300l
-#define SPC_AMP3                    30310l
-#define SPC_ACDC3                   30320l
-#define SPC_ACDC_OFFS_COMPENSATION3 30321l
-#define SPC_50OHM3                  30330l
-#define SPC_DIFF3                   30340l
-#define SPC_DOUBLEOUT3              30341l
-#define SPC_110OHM3                 30360l
-#define SPC_110OHM1H                30360l
-#define SPC_75OHM3                  30360l
-#define SPC_INOUT3                  30370l
-#define SPC_FILTER3                 30380l
-#define SPC_BANKSWITCH3             30381l
-#define SPC_PATH3                   30390l
-#define SPC_ENABLEOUT3              30391l
-
-#define SPC_OFFS4                   30400l
-#define SPC_AMP4                    30410l
-#define SPC_ACDC4                   30420l
-#define SPC_50OHM4                  30430l
-#define SPC_DIFF4                   30440l
-#define SPC_DOUBLEOUT4              30441l
-#define SPC_FILTER4                 30480l
-#define SPC_ENABLEOUT4              30491l
-#define SPC_PATH4                   30490l
-
-#define SPC_OFFS5                   30500l
-#define SPC_AMP5                    30510l
-#define SPC_ACDC5                   30520l
-#define SPC_50OHM5                  30530l
-#define SPC_DIFF5                   30540l
-#define SPC_DOUBLEOUT5              30541l
-#define SPC_FILTER5                 30580l
-#define SPC_ENABLEOUT5              30591l
-#define SPC_PATH5                   30590l
-
-#define SPC_OFFS6                   30600l
-#define SPC_AMP6                    30610l
-#define SPC_ACDC6                   30620l
-#define SPC_50OHM6                  30630l
-#define SPC_DIFF6                   30640l
-#define SPC_DOUBLEOUT6              30641l
-#define SPC_FILTER6                 30680l
-#define SPC_ENABLEOUT6              30691l
-#define SPC_PATH6                   30690l
-
-#define SPC_OFFS7                   30700l
-#define SPC_AMP7                    30710l
-#define SPC_ACDC7                   30720l
-#define SPC_50OHM7                  30730l
-#define SPC_DIFF7                   30740l
-#define SPC_DOUBLEOUT7              30741l
-#define SPC_FILTER7                 30780l
-#define SPC_ENABLEOUT7              30791l
-#define SPC_PATH7                   30790l
-
-#define SPC_OFFS8                   30800l
-#define SPC_AMP8                    30810l
-#define SPC_ACDC8                   30820l
-#define SPC_50OHM8                  30830l
-#define SPC_DIFF8                   30840l
-#define SPC_PATH8                   30890l
-
-#define SPC_OFFS9                   30900l
-#define SPC_AMP9                    30910l
-#define SPC_ACDC9                   30920l
-#define SPC_50OHM9                  30930l
-#define SPC_DIFF9                   30940l
-#define SPC_PATH9                   30990l
-
-#define SPC_OFFS10                  31000l
-#define SPC_AMP10                   31010l
-#define SPC_ACDC10                  31020l
-#define SPC_50OHM10                 31030l
-#define SPC_DIFF10                  31040l
-#define SPC_PATH10                  31090l
-
-#define SPC_OFFS11                  31100l
-#define SPC_AMP11                   31110l
-#define SPC_ACDC11                  31120l
-#define SPC_50OHM11                 31130l
-#define SPC_DIFF11                  31140l
-#define SPC_PATH11                  31190l
-
-#define SPC_OFFS12                  31200l
-#define SPC_AMP12                   31210l
-#define SPC_ACDC12                  31220l
-#define SPC_50OHM12                 31230l
-#define SPC_DIFF12                  31240l
-#define SPC_PATH12                  31290l
-
-#define SPC_OFFS13                  31300l
-#define SPC_AMP13                   31310l
-#define SPC_ACDC13                  31320l
-#define SPC_50OHM13                 31330l
-#define SPC_DIFF13                  31340l
-#define SPC_PATH13                  31390l
-
-#define SPC_OFFS14                  31400l
-#define SPC_AMP14                   31410l
-#define SPC_ACDC14                  31420l
-#define SPC_50OHM14                 31430l
-#define SPC_DIFF14                  31440l
-#define SPC_PATH14                  31490l
-
-#define SPC_OFFS15                  31500l
-#define SPC_AMP15                   31510l
-#define SPC_ACDC15                  31520l
-#define SPC_50OHM15                 31530l
-#define SPC_DIFF15                  31540l
-#define SPC_PATH15                  31590l
-
-#define SPC_110OHMTRIGGER           30400l
-#define SPC_110OHMCLOCK             30410l
-
-
-#define   AMP_BI200                 200l
-#define   AMP_BI500                 500l
-#define   AMP_BI1000                1000l
-#define   AMP_BI2000                2000l
-#define   AMP_BI2500                2500l
-#define   AMP_BI4000                4000l
-#define   AMP_BI5000                5000l
-#define   AMP_BI10000               10000l
-#define   AMP_UNI400                100400l
-#define   AMP_UNI1000               101000l
-#define   AMP_UNI2000               102000l
-
-
-// ----- Trigger Settings -----
-#define SPC_TRIGGERMODE             40000l
-#define SPC_TRIG_OUTPUT             40100l
-#define SPC_TRIGGEROUT              40100l
-#define SPC_TRIG_TERM               40110l
-#define SPC_TRIG_TERM0              40110l
-#define SPC_TRIGGER50OHM            40110l
-#define SPC_TRIGGER110OHM0          40110l
-#define SPC_TRIGGER75OHM0           40110l
-#define SPC_TRIG_TERM1              40111l
-#define SPC_TRIGGER110OHM1          40111l
-#define SPC_TRIG_EXT0_ACDC          40120l
-#define SPC_TRIG_EXT1_ACDC          40121l
-#define SPC_TRIG_EXT2_ACDC          40122l
-
-#define SPC_TRIGGERMODE0            40200l
-#define SPC_TRIGGERMODE1            40201l
-#define SPC_TRIGGERMODE2            40202l
-#define SPC_TRIGGERMODE3            40203l
-#define SPC_TRIGGERMODE4            40204l
-#define SPC_TRIGGERMODE5            40205l
-#define SPC_TRIGGERMODE6            40206l
-#define SPC_TRIGGERMODE7            40207l
-#define SPC_TRIGGERMODE8            40208l
-#define SPC_TRIGGERMODE9            40209l
-#define SPC_TRIGGERMODE10           40210l
-#define SPC_TRIGGERMODE11           40211l
-#define SPC_TRIGGERMODE12           40212l
-#define SPC_TRIGGERMODE13           40213l
-#define SPC_TRIGGERMODE14           40214l
-#define SPC_TRIGGERMODE15           40215l
-
-#define     TM_SOFTWARE             0l
-#define     TM_NOTRIGGER            10l
-#define     TM_CHXPOS               10000l
-#define     TM_CHXPOS_LP            10001l
-#define     TM_CHXPOS_SP            10002l
-#define     TM_CHXPOS_GS            10003l
-#define     TM_CHXPOS_SS            10004l
-#define     TM_CHXNEG               10010l
-#define     TM_CHXNEG_LP            10011l
-#define     TM_CHXNEG_SP            10012l
-#define     TM_CHXNEG_GS            10013l
-#define     TM_CHXNEG_SS            10014l
-#define     TM_CHXOFF               10020l
-#define     TM_CHXBOTH              10030l
-#define     TM_CHXWINENTER          10040l
-#define     TM_CHXWINENTER_LP       10041l
-#define     TM_CHXWINENTER_SP       10042l
-#define     TM_CHXWINLEAVE          10050l
-#define     TM_CHXWINLEAVE_LP       10051l
-#define     TM_CHXWINLEAVE_SP       10052l
-#define     TM_CHXLOW               10060l
-#define     TM_CHXHIGH              10061l
-#define     TM_CHXINWIN             10062l
-#define     TM_CHXOUTWIN            10063l
-#define     TM_CHXSPIKE             10064l
-
-
-#define     TM_CH0POS               10000l
-#define     TM_CH0NEG               10010l
-#define     TM_CH0OFF               10020l
-#define     TM_CH0BOTH              10030l
-#define     TM_CH1POS               10100l
-#define     TM_CH1NEG               10110l
-#define     TM_CH1OFF               10120l
-#define     TM_CH1BOTH              10130l
-#define     TM_CH2POS               10200l
-#define     TM_CH2NEG               10210l
-#define     TM_CH2OFF               10220l
-#define     TM_CH2BOTH              10230l
-#define     TM_CH3POS               10300l
-#define     TM_CH3NEG               10310l
-#define     TM_CH3OFF               10320l
-#define     TM_CH3BOTH              10330l
-
-#define     TM_TTLPOS               20000l
-#define     TM_TTLHIGH_LP           20001l
-#define     TM_TTLHIGH_SP           20002l
-#define     TM_TTLNEG               20010l
-#define     TM_TTLLOW_LP            20011l
-#define     TM_TTLLOW_SP            20012l
-#define     TM_TTL                  20020l
-#define     TM_TTLBOTH              20030l
-#define     TM_TTLBOTH_LP           20031l
-#define     TM_TTLBOTH_SP           20032l
-#define     TM_CHANNEL              20040l
-#define     TM_TTLHIGH              20050l
-#define     TM_TTLLOW               20051l
-#define     TM_PATTERN              21000l
-#define     TM_PATTERN_LP           21001l
-#define     TM_PATTERN_SP           21002l
-#define     TM_PATTERNANDEDGE       22000l
-#define     TM_PATTERNANDEDGE_LP    22001l
-#define     TM_PATTERNANDEDGE_SP    22002l
-#define     TM_GATELOW              30000l
-#define     TM_GATEHIGH             30010l
-#define     TM_GATEPATTERN          30020l
-#define     TM_CHOR                 35000l
-#define     TM_CHAND                35010l
-#define     TM_CHORTTLPOS           35020l
-#define     TM_CHORTTLNEG           35021l
-
-#define SPC_PXITRGOUT               40300l
-#define     PTO_OFF                  0l
-#define     PTO_LINE0                1l
-#define     PTO_LINE1                2l
-#define     PTO_LINE2                3l
-#define     PTO_LINE3                4l
-#define     PTO_LINE4                5l
-#define     PTO_LINE5                6l
-#define     PTO_LINE6                7l
-#define     PTO_LINE7                8l
-#define     PTO_LINESTAR             9l
-#define SPC_PXITRGOUT_AVAILABLE     40301l  // bitmap register
-
-#define SPC_PXISTARTRG_DIVRST_OUT   40302l  // bitmap register
-#define SPC_PXISTARTRG_DIVRST_OUT_AVAILABLE   40303l
-#define SPC_PXISTARTRG_OUT          40304l  // bitmap register
-#define     PSTO_LINESTAR0           0x00000001
-#define     PSTO_LINESTAR1           0x00000002
-#define     PSTO_LINESTAR2           0x00000004
-#define     PSTO_LINESTAR3           0x00000008
-#define     PSTO_LINESTAR4           0x00000010
-#define     PSTO_LINESTAR5           0x00000020
-#define     PSTO_LINESTAR6           0x00000040
-#define     PSTO_LINESTAR7           0x00000080
-#define     PSTO_LINESTAR8           0x00000100
-#define     PSTO_LINESTAR9           0x00000200
-#define     PSTO_LINESTAR10          0x00000400
-#define     PSTO_LINESTAR11          0x00000800
-#define     PSTO_LINESTAR12          0x00001000
-#define     PSTO_LINE0               0x00010000
-#define     PSTO_LINE1               0x00020000
-#define     PSTO_LINE2               0x00040000
-#define     PSTO_LINE3               0x00080000
-#define     PSTO_LINE4               0x00100000
-#define     PSTO_LINE5               0x00200000
-#define     PSTO_LINE6               0x00400000
-#define     PSTO_LINE7               0x00800000
-#define SPC_PXISTARTRG_OUT_AVAILABLE          40305l
-
-#define SPC_PXITRGIN                40310l  // bitmap register
-#define     PTI_OFF                  0l
-#define     PTI_LINE0                1l
-#define     PTI_LINE1                2l
-#define     PTI_LINE2                4l
-#define     PTI_LINE3                8l
-#define     PTI_LINE4                16l
-#define     PTI_LINE5                32l
-#define     PTI_LINE6                64l
-#define     PTI_LINE7                128l
-#define     PTI_LINESTAR             256l
-#define SPC_PXITRGIN_AVAILABLE      40311l  // bitmap register
-#define SPC_PXI_DIVIDER_RESET_IN            40320l
-#define SPC_PXI_DIVIDER_RESET_IN_AVAILABLE  40321l
-
-
-// new registers of M2i driver
-#define SPC_TRIG_AVAILORMASK        40400l
-#define SPC_TRIG_ORMASK             40410l
-#define SPC_TRIG_AVAILANDMASK       40420l
-#define SPC_TRIG_ANDMASK            40430l
-#define     SPC_TMASK_NONE          0x00000000
-#define     SPC_TMASK_SOFTWARE      0x00000001
-#define     SPC_TMASK_EXT0          0x00000002
-#define     SPC_TMASK_EXT1          0x00000004
-#define     SPC_TMASK_EXT2          0x00000008
-#define     SPC_TMASK_EXT3          0x00000010
-#define     SPC_TMASK_EXT4          0x00000020
-#define     SPC_TMASK_XIO0          0x00000100
-#define     SPC_TMASK_XIO1          0x00000200
-#define     SPC_TMASK_XIO2          0x00000400
-#define     SPC_TMASK_XIO3          0x00000800
-#define     SPC_TMASK_XIO4          0x00001000
-#define     SPC_TMASK_XIO5          0x00002000
-#define     SPC_TMASK_XIO6          0x00004000
-#define     SPC_TMASK_XIO7          0x00008000
-#define     SPC_TMASK_PXI0          0x00100000
-#define     SPC_TMASK_PXI1          0x00200000
-#define     SPC_TMASK_PXI2          0x00400000
-#define     SPC_TMASK_PXI3          0x00800000
-#define     SPC_TMASK_PXI4          0x01000000
-#define     SPC_TMASK_PXI5          0x02000000
-#define     SPC_TMASK_PXI6          0x04000000
-#define     SPC_TMASK_PXI7          0x08000000
-#define     SPC_TMASK_PXISTAR       0x10000000
-#define     SPC_TMASK_PXIDSTARB     0x20000000
-
-#define SPC_TRIG_CH_AVAILORMASK0    40450l
-#define SPC_TRIG_CH_AVAILORMASK1    40451l
-#define SPC_TRIG_CH_ORMASK0         40460l
-#define SPC_TRIG_CH_ORMASK1         40461l
-#define SPC_TRIG_CH_AVAILANDMASK0   40470l
-#define SPC_TRIG_CH_AVAILANDMASK1   40471l
-#define SPC_TRIG_CH_ANDMASK0        40480l 
-#define SPC_TRIG_CH_ANDMASK1        40481l 
-#define     SPC_TMASK0_NONE         0x00000000
-#define     SPC_TMASK0_CH0          0x00000001
-#define     SPC_TMASK0_CH1          0x00000002
-#define     SPC_TMASK0_CH2          0x00000004
-#define     SPC_TMASK0_CH3          0x00000008
-#define     SPC_TMASK0_CH4          0x00000010
-#define     SPC_TMASK0_CH5          0x00000020
-#define     SPC_TMASK0_CH6          0x00000040
-#define     SPC_TMASK0_CH7          0x00000080
-#define     SPC_TMASK0_CH8          0x00000100
-#define     SPC_TMASK0_CH9          0x00000200
-#define     SPC_TMASK0_CH10         0x00000400
-#define     SPC_TMASK0_CH11         0x00000800
-#define     SPC_TMASK0_CH12         0x00001000
-#define     SPC_TMASK0_CH13         0x00002000
-#define     SPC_TMASK0_CH14         0x00004000
-#define     SPC_TMASK0_CH15         0x00008000
-#define     SPC_TMASK0_CH16         0x00010000
-#define     SPC_TMASK0_CH17         0x00020000
-#define     SPC_TMASK0_CH18         0x00040000
-#define     SPC_TMASK0_CH19         0x00080000
-#define     SPC_TMASK0_CH20         0x00100000
-#define     SPC_TMASK0_CH21         0x00200000
-#define     SPC_TMASK0_CH22         0x00400000
-#define     SPC_TMASK0_CH23         0x00800000
-#define     SPC_TMASK0_CH24         0x01000000
-#define     SPC_TMASK0_CH25         0x02000000
-#define     SPC_TMASK0_CH26         0x04000000
-#define     SPC_TMASK0_CH27         0x08000000
-#define     SPC_TMASK0_CH28         0x10000000
-#define     SPC_TMASK0_CH29         0x20000000
-#define     SPC_TMASK0_CH30         0x40000000
-#define     SPC_TMASK0_CH31         0x80000000
-
-#define     SPC_TMASK1_NONE         0x00000000
-#define     SPC_TMASK1_CH32         0x00000001
-#define     SPC_TMASK1_CH33         0x00000002
-#define     SPC_TMASK1_CH34         0x00000004
-#define     SPC_TMASK1_CH35         0x00000008
-#define     SPC_TMASK1_CH36         0x00000010
-#define     SPC_TMASK1_CH37         0x00000020
-#define     SPC_TMASK1_CH38         0x00000040
-#define     SPC_TMASK1_CH39         0x00000080
-#define     SPC_TMASK1_CH40         0x00000100
-#define     SPC_TMASK1_CH41         0x00000200
-#define     SPC_TMASK1_CH42         0x00000400
-#define     SPC_TMASK1_CH43         0x00000800
-#define     SPC_TMASK1_CH44         0x00001000
-#define     SPC_TMASK1_CH45         0x00002000
-#define     SPC_TMASK1_CH46         0x00004000
-#define     SPC_TMASK1_CH47         0x00008000
-#define     SPC_TMASK1_CH48         0x00010000
-#define     SPC_TMASK1_CH49         0x00020000
-#define     SPC_TMASK1_CH50         0x00040000
-#define     SPC_TMASK1_CH51         0x00080000
-#define     SPC_TMASK1_CH52         0x00100000
-#define     SPC_TMASK1_CH53         0x00200000
-#define     SPC_TMASK1_CH54         0x00400000
-#define     SPC_TMASK1_CH55         0x00800000
-#define     SPC_TMASK1_CH56         0x01000000
-#define     SPC_TMASK1_CH57         0x02000000
-#define     SPC_TMASK1_CH58         0x04000000
-#define     SPC_TMASK1_CH59         0x08000000
-#define     SPC_TMASK1_CH60         0x10000000
-#define     SPC_TMASK1_CH61         0x20000000
-#define     SPC_TMASK1_CH62         0x40000000
-#define     SPC_TMASK1_CH63         0x80000000
-
-#define SPC_TRIG_EXT_AVAILMODES     40500l
-#define SPC_TRIG_EXT0_AVAILMODES    40500l
-#define SPC_TRIG_EXT1_AVAILMODES    40501l
-#define SPC_TRIG_EXT2_AVAILMODES    40502l
-#define SPC_TRIG_EXT0_AVAILMODESOR  40503l
-#define SPC_TRIG_EXT1_AVAILMODESOR  40504l
-#define SPC_TRIG_EXT2_AVAILMODESOR  40505l
-#define SPC_TRIG_EXT0_AVAILMODESAND 40506l
-#define SPC_TRIG_EXT1_AVAILMODESAND 40507l
-#define SPC_TRIG_EXT2_AVAILMODESAND 40508l
-#define SPC_TRIG_EXT3_AVAILMODESAND 40509l
-#define SPC_TRIG_EXT0_MODE          40510l
-#define SPC_TRIG_EXT1_MODE          40511l
-#define SPC_TRIG_EXT2_MODE          40512l
-#define SPC_TRIG_EXT3_MODE          40513l
-#define SPC_TRIG_EXT3_AVAILMODES    40514l
-#define SPC_TRIG_EXT3_AVAILMODESOR  40515l
-#define SPC_TRIG_EXT4_AVAILMODES    40516l
-#define SPC_TRIG_EXT4_AVAILMODESOR  40517l
-#define SPC_TRIG_EXT4_AVAILMODESAND 40518l
-#define SPC_TRIG_EXT4_MODE          40519l
-
-#define SPC_TRIG_EXT0_READFEATURES  40520l
-#define SPC_TRIG_EXT1_READFEATURES  40521l
-#define SPC_TRIG_EXT2_READFEATURES  40522l
-#define SPC_TRIG_EXT3_READFEATURES  40523l
-#define SPC_TRIG_EXT4_READFEATURES  40524l
-#define     SPCM_TRFEAT_TERM            0x00000001
-#define     SPCM_TRFEAT_HIGHIMP         0x00000002
-#define     SPCM_TRFEAT_DCCOUPLING      0x00000004
-#define     SPCM_TRFEAT_ACCOUPLING      0x00000008
-#define     SPCM_TRFEAT_SE              0x00000010
-#define     SPCM_TRFEAT_DIFF            0x00000020
-#define     SPCM_TRFEAT_LEVELPROG       0x00000100
-#define     SPCM_TRFEAT_PROGTHRESHOLD   0x00000200
-
-// legacy constants: not enough contiguous constants possible for X4..X19
-#define SPC_LEGACY_X0_READFEATURES  40530l
-#define SPC_LEGACY_X1_READFEATURES  40531l
-#define SPC_LEGACY_X2_READFEATURES  40532l
-#define SPC_LEGACY_X3_READFEATURES  40533l
-
-// legacy constants: not enough contiguous constants possible for X4..X19
-#define SPC_LEGACY_X0_TERM          40535l
-#define SPC_LEGACY_X1_TERM          40536l
-#define SPC_LEGACY_X2_TERM          40537l
-#define SPC_LEGACY_X3_TERM          40538l
-
-#define SPC_TRIG_XIO_AVAILMODES     40550l
-#define SPC_TRIG_XIO_AVAILMODESOR   40551l
-#define SPC_TRIG_XIO_AVAILMODESAND  40552l
-#define SPC_TRIG_XIO0_MODE          40560l
-#define SPC_TRIG_XIO1_MODE          40561l
-#define     SPC_TM_MODEMASK         0x00FFFFFF
-#define     SPC_TM_NONE             0x00000000
-#define     SPC_TM_POS              0x00000001
-#define     SPC_TM_NEG              0x00000002
-#define     SPC_TM_BOTH             0x00000004
-#define     SPC_TM_HIGH             0x00000008
-#define     SPC_TM_LOW              0x00000010
-#define     SPC_TM_WINENTER         0x00000020
-#define     SPC_TM_WINLEAVE         0x00000040
-#define     SPC_TM_INWIN            0x00000080
-#define     SPC_TM_OUTSIDEWIN       0x00000100
-#define     SPC_TM_SPIKE            0x00000200
-#define     SPC_TM_PATTERN          0x00000400
-#define     SPC_TM_STEEPPOS         0x00000800
-#define     SPC_TM_STEEPNEG         0x00001000
-#define     SPC_TM_EXTRAMASK        0xFF000000
-#define     SPC_TM_REARM            0x01000000
-#define     SPC_TM_PW_SMALLER       0x02000000
-#define     SPC_TM_PW_GREATER       0x04000000
-#define     SPC_TM_DOUBLEEDGE       0x08000000
-#define     SPC_TM_PULSESTRETCH     0x10000000
-#define     SPC_TM_HYSTERESIS       0x20000000
-
-#define SPC_TRIG_PATTERN_AVAILMODES 40580l
-#define SPC_TRIG_PATTERN_MODE       40590l
-
-#define SPC_TRIG_CH_AVAILMODES      40600l
-#define SPC_TRIG_CH_AVAILMODESOR    40601l
-#define SPC_TRIG_CH_AVAILMODESAND   40602l
-#define SPC_TRIG_CH0_MODE           40610l
-#define SPC_TRIG_CH1_MODE           40611l
-#define SPC_TRIG_CH2_MODE           40612l
-#define SPC_TRIG_CH3_MODE           40613l
-#define SPC_TRIG_CH4_MODE           40614l
-#define SPC_TRIG_CH5_MODE           40615l
-#define SPC_TRIG_CH6_MODE           40616l
-#define SPC_TRIG_CH7_MODE           40617l
-#define SPC_TRIG_CH8_MODE           40618l
-#define SPC_TRIG_CH9_MODE           40619l
-#define SPC_TRIG_CH10_MODE          40620l
-#define SPC_TRIG_CH11_MODE          40621l
-#define SPC_TRIG_CH12_MODE          40622l
-#define SPC_TRIG_CH13_MODE          40623l
-#define SPC_TRIG_CH14_MODE          40624l
-#define SPC_TRIG_CH15_MODE          40625l
-#define SPC_TRIG_CH16_MODE          40626l
-#define SPC_TRIG_CH17_MODE          40627l
-#define SPC_TRIG_CH18_MODE          40628l
-#define SPC_TRIG_CH19_MODE          40629l
-#define SPC_TRIG_CH20_MODE          40630l
-#define SPC_TRIG_CH21_MODE          40631l
-#define SPC_TRIG_CH22_MODE          40632l
-#define SPC_TRIG_CH23_MODE          40633l
-#define SPC_TRIG_CH24_MODE          40634l
-#define SPC_TRIG_CH25_MODE          40635l
-#define SPC_TRIG_CH26_MODE          40636l
-#define SPC_TRIG_CH27_MODE          40637l
-#define SPC_TRIG_CH28_MODE          40638l
-#define SPC_TRIG_CH29_MODE          40639l
-#define SPC_TRIG_CH30_MODE          40640l
-#define SPC_TRIG_CH31_MODE          40641l
-
-#define SPC_TRIG_CH32_MODE          40642l
-#define SPC_TRIG_CH33_MODE          40643l
-#define SPC_TRIG_CH34_MODE          40644l
-#define SPC_TRIG_CH35_MODE          40645l
-#define SPC_TRIG_CH36_MODE          40646l
-#define SPC_TRIG_CH37_MODE          40647l
-#define SPC_TRIG_CH38_MODE          40648l
-#define SPC_TRIG_CH39_MODE          40649l
-#define SPC_TRIG_CH40_MODE          40650l
-#define SPC_TRIG_CH41_MODE          40651l
-#define SPC_TRIG_CH42_MODE          40652l
-#define SPC_TRIG_CH43_MODE          40653l
-#define SPC_TRIG_CH44_MODE          40654l
-#define SPC_TRIG_CH45_MODE          40655l
-#define SPC_TRIG_CH46_MODE          40656l
-#define SPC_TRIG_CH47_MODE          40657l
-#define SPC_TRIG_CH48_MODE          40658l
-#define SPC_TRIG_CH49_MODE          40659l
-#define SPC_TRIG_CH50_MODE          40660l
-#define SPC_TRIG_CH51_MODE          40661l
-#define SPC_TRIG_CH52_MODE          40662l
-#define SPC_TRIG_CH53_MODE          40663l
-#define SPC_TRIG_CH54_MODE          40664l
-#define SPC_TRIG_CH55_MODE          40665l
-#define SPC_TRIG_CH56_MODE          40666l
-#define SPC_TRIG_CH57_MODE          40667l
-#define SPC_TRIG_CH58_MODE          40668l
-#define SPC_TRIG_CH59_MODE          40669l
-#define SPC_TRIG_CH60_MODE          40670l
-#define SPC_TRIG_CH61_MODE          40671l
-#define SPC_TRIG_CH62_MODE          40672l
-#define SPC_TRIG_CH63_MODE          40673l
-
-
-#define SPC_TRIG_AVAILDELAY         40800l
-#define SPC_TRIG_AVAILDELAY_STEP    40801l
-#define SPC_TRIG_DELAY              40810l
-
-#define SPC_TRIG_AVAILHOLDOFF       40802l
-#define SPC_TRIG_AVAILHOLDOFF_STEP  40803l
-#define SPC_TRIG_HOLDOFF            40811l
-
-#define SPC_SINGLESHOT              41000l
-#define SPC_OUTONTRIGGER            41100l
-#define SPC_RESTARTCONT             41200l
-#define SPC_SINGLERESTART           41300l
-
-#define SPC_TRIGGERLEVEL            42000l
-#define SPC_TRIGGERLEVEL0           42000l
-#define SPC_TRIGGERLEVEL1           42001l
-#define SPC_TRIGGERLEVEL2           42002l
-#define SPC_TRIGGERLEVEL3           42003l
-#define SPC_TRIGGERLEVEL4           42004l
-#define SPC_TRIGGERLEVEL5           42005l
-#define SPC_TRIGGERLEVEL6           42006l
-#define SPC_TRIGGERLEVEL7           42007l
-#define SPC_TRIGGERLEVEL8           42008l
-#define SPC_TRIGGERLEVEL9           42009l
-#define SPC_TRIGGERLEVEL10          42010l
-#define SPC_TRIGGERLEVEL11          42011l
-#define SPC_TRIGGERLEVEL12          42012l
-#define SPC_TRIGGERLEVEL13          42013l
-#define SPC_TRIGGERLEVEL14          42014l
-#define SPC_TRIGGERLEVEL15          42015l
-
-#define SPC_AVAILHIGHLEVEL_MIN      41997l
-#define SPC_AVAILHIGHLEVEL_MAX      41998l
-#define SPC_AVAILHIGHLEVEL_STEP     41999l
-
-#define SPC_HIGHLEVEL0              42000l
-#define SPC_HIGHLEVEL1              42001l
-#define SPC_HIGHLEVEL2              42002l
-#define SPC_HIGHLEVEL3              42003l
-#define SPC_HIGHLEVEL4              42004l
-#define SPC_HIGHLEVEL5              42005l
-#define SPC_HIGHLEVEL6              42006l
-#define SPC_HIGHLEVEL7              42007l
-#define SPC_HIGHLEVEL8              42008l
-#define SPC_HIGHLEVEL9              42009l
-#define SPC_HIGHLEVEL10             42010l
-#define SPC_HIGHLEVEL11             42011l
-#define SPC_HIGHLEVEL12             42012l
-#define SPC_HIGHLEVEL13             42013l
-#define SPC_HIGHLEVEL14             42014l
-#define SPC_HIGHLEVEL15             42015l
-
-#define SPC_AVAILLOWLEVEL_MIN       42097l
-#define SPC_AVAILLOWLEVEL_MAX       42098l
-#define SPC_AVAILLOWLEVEL_STEP      42099l
-
-#define SPC_LOWLEVEL0               42100l
-#define SPC_LOWLEVEL1               42101l
-#define SPC_LOWLEVEL2               42102l
-#define SPC_LOWLEVEL3               42103l
-#define SPC_LOWLEVEL4               42104l
-#define SPC_LOWLEVEL5               42105l
-#define SPC_LOWLEVEL6               42106l
-#define SPC_LOWLEVEL7               42107l
-#define SPC_LOWLEVEL8               42108l
-#define SPC_LOWLEVEL9               42109l
-#define SPC_LOWLEVEL10              42110l
-#define SPC_LOWLEVEL11              42111l
-#define SPC_LOWLEVEL12              42112l
-#define SPC_LOWLEVEL13              42113l
-#define SPC_LOWLEVEL14              42114l
-#define SPC_LOWLEVEL15              42115l
-
-#define SPC_TRIG_CH0_LEVEL0         42200l
-#define SPC_TRIG_CH1_LEVEL0         42201l
-#define SPC_TRIG_CH2_LEVEL0         42202l
-#define SPC_TRIG_CH3_LEVEL0         42203l
-#define SPC_TRIG_CH4_LEVEL0         42204l
-#define SPC_TRIG_CH5_LEVEL0         42205l
-#define SPC_TRIG_CH6_LEVEL0         42206l
-#define SPC_TRIG_CH7_LEVEL0         42207l
-#define SPC_TRIG_CH8_LEVEL0         42208l
-#define SPC_TRIG_CH9_LEVEL0         42209l
-#define SPC_TRIG_CH10_LEVEL0        42210l
-#define SPC_TRIG_CH11_LEVEL0        42211l
-#define SPC_TRIG_CH12_LEVEL0        42212l
-#define SPC_TRIG_CH13_LEVEL0        42213l
-#define SPC_TRIG_CH14_LEVEL0        42214l
-#define SPC_TRIG_CH15_LEVEL0        42215l
-
-#define SPC_TRIG_CH0_LEVEL1         42300l
-#define SPC_TRIG_CH1_LEVEL1         42301l
-#define SPC_TRIG_CH2_LEVEL1         42302l
-#define SPC_TRIG_CH3_LEVEL1         42303l
-#define SPC_TRIG_CH4_LEVEL1         42304l
-#define SPC_TRIG_CH5_LEVEL1         42305l
-#define SPC_TRIG_CH6_LEVEL1         42306l
-#define SPC_TRIG_CH7_LEVEL1         42307l
-#define SPC_TRIG_CH8_LEVEL1         42308l
-#define SPC_TRIG_CH9_LEVEL1         42309l
-#define SPC_TRIG_CH10_LEVEL1        42310l
-#define SPC_TRIG_CH11_LEVEL1        42311l
-#define SPC_TRIG_CH12_LEVEL1        42312l
-#define SPC_TRIG_CH13_LEVEL1        42313l
-#define SPC_TRIG_CH14_LEVEL1        42314l
-#define SPC_TRIG_CH15_LEVEL1        42315l
-
-#define SPC_TRIG_EXT0_LEVEL0        42320l
-#define SPC_TRIG_EXT1_LEVEL0        42321l
-#define SPC_TRIG_EXT2_LEVEL0        42322l
-
-#define SPC_TRIG_EXT0_LEVEL1        42330l
-#define SPC_TRIG_EXT1_LEVEL1        42331l
-#define SPC_TRIG_EXT2_LEVEL1        42332l
-
-#define SPC_TRIG_EXT_AVAIL0_MIN     42340l
-#define SPC_TRIG_EXT_AVAIL0_MAX     42341l
-#define SPC_TRIG_EXT_AVAIL0_STEP    42342l
-
-#define SPC_TRIG_EXT_AVAIL1_MIN     42345l
-#define SPC_TRIG_EXT_AVAIL1_MAX     42346l
-#define SPC_TRIG_EXT_AVAIL1_STEP    42347l
-
-// threshold levels (for 77xx)
-#define SPC_THRESHOLD0              42400l  // threshold level for channel group 0
-#define SPC_THRESHOLD1              42401l  // threshold level for channel group 1
-#define SPC_THRESHOLD2              42402l  // threshold level for channel group 2
-#define SPC_THRESHOLD3              42403l  // threshold level for channel group 3
-#define SPC_CLOCK_THRESHOLD         42410l  // threshold level for clock input
-#define SPC_TRIG_THRESHOLD          42411l  // threshold level for trigger input
-#define SPC_X0X1_THRESHOLD          42412l  // threshold level for X0/X1 input
-#define SPC_STROBE_THRESHOLD        42413l  // threshold level for strobe input
-
-#define SPC_AVAILTHRESHOLD_MIN      42420l
-#define SPC_AVAILTHRESHOLD_MAX      42421l
-#define SPC_AVAILTHRESHOLD_STEP     42422l
-
-#define SPC_AVAILAVRGMODES          42429l
-#define SPC_AVRGMODE_CH0            42430l 
-#define SPC_AVRGMODE_CH1            42431l
-#define SPC_AVRGMODE_CH2            42432l
-#define SPC_AVRGMODE_CH3            42433l
-#define     AVRGMODE_NORMAL           0x0l  // normal block averaging
-#define     AVRGMODE_TDA_HIGH         0x1l  // threshold defined averaging: (samples >  threshhold) will be used, others replaced
-#define     AVRGMODE_TDA_LOW          0x2l  // threshold defined averaging: (samples <= threshhold) will be used, others replaced
-
-#define SPC_TDA_THRESHOLD_CH0       42440l  // threshhold for threshold defined averaging in LSB of ADC
-#define SPC_TDA_THRESHOLD_CH1       42441l
-#define SPC_TDA_THRESHOLD_CH2       42442l
-#define SPC_TDA_THRESHOLD_CH3       42443l
-
-#define SPC_TDA_REPLACEMENT_CH0     42450l  // replacement sample value for threshold defined averaging in LSB of ADC
-#define SPC_TDA_REPLACEMENT_CH1     42451l
-#define SPC_TDA_REPLACEMENT_CH2     42452l
-#define SPC_TDA_REPLACEMENT_CH3     42453l
-
-#define SPC_CLOCK_AVAILTHRESHOLD_MIN  42423l
-#define SPC_CLOCK_AVAILTHRESHOLD_MAX  42424l
-#define SPC_CLOCK_AVAILTHRESHOLD_STEP 42425l
-
-#define SPC_TRIG_AVAILTHRESHOLD_MIN  42426l
-#define SPC_TRIG_AVAILTHRESHOLD_MAX  42427l
-#define SPC_TRIG_AVAILTHRESHOLD_STEP 42428l
-
-#define SPC_TRIGGERPATTERN          43000l
-#define SPC_TRIGGERPATTERN0         43000l
-#define SPC_TRIGGERPATTERN1         43001l
-#define SPC_TRIGGERMASK             43100l
-#define SPC_TRIGGERMASK0            43100l
-#define SPC_TRIGGERMASK1            43101l
-
-#define SPC_PULSEWIDTH              44000l
-#define SPC_PULSEWIDTH0             44000l
-#define SPC_PULSEWIDTH1             44001l
-
-#define SPC_TRIG_CH_AVAILPULSEWIDTH 44100l
-#define SPC_TRIG_CH_PULSEWIDTH      44101l
-#define SPC_TRIG_CH0_PULSEWIDTH     44101l
-#define SPC_TRIG_CH1_PULSEWIDTH     44102l
-#define SPC_TRIG_CH2_PULSEWIDTH     44103l
-#define SPC_TRIG_CH3_PULSEWIDTH     44104l
-#define SPC_TRIG_CH4_PULSEWIDTH     44105l
-#define SPC_TRIG_CH5_PULSEWIDTH     44106l
-#define SPC_TRIG_CH6_PULSEWIDTH     44107l
-#define SPC_TRIG_CH7_PULSEWIDTH     44108l
-#define SPC_TRIG_CH8_PULSEWIDTH     44109l
-#define SPC_TRIG_CH9_PULSEWIDTH     44110l
-#define SPC_TRIG_CH10_PULSEWIDTH    44111l
-#define SPC_TRIG_CH11_PULSEWIDTH    44112l
-#define SPC_TRIG_CH12_PULSEWIDTH    44113l
-#define SPC_TRIG_CH13_PULSEWIDTH    44114l
-#define SPC_TRIG_CH14_PULSEWIDTH    44115l
-#define SPC_TRIG_CH15_PULSEWIDTH    44116l
-
-#define SPC_TRIG_EXT_AVAILPULSEWIDTH 44200l
-#define SPC_TRIG_EXT0_PULSEWIDTH    44210l
-#define SPC_TRIG_EXT1_PULSEWIDTH    44211l
-#define SPC_TRIG_EXT2_PULSEWIDTH    44212l
-#define SPC_TRIG_EXT3_PULSEWIDTH    44213l
-
-// available dividers for MICX
-#define SPC_READCLOCKDIVCOUNT       44300l
-#define SPC_CLOCKDIV0               44301l
-#define SPC_CLOCKDIV1               44302l
-#define SPC_CLOCKDIV2               44303l
-#define SPC_CLOCKDIV3               44304l
-#define SPC_CLOCKDIV4               44305l
-#define SPC_CLOCKDIV5               44306l
-#define SPC_CLOCKDIV6               44307l
-#define SPC_CLOCKDIV7               44308l
-#define SPC_CLOCKDIV8               44309l
-#define SPC_CLOCKDIV9               44310l
-#define SPC_CLOCKDIV10              44311l
-#define SPC_CLOCKDIV11              44312l
-#define SPC_CLOCKDIV12              44313l
-#define SPC_CLOCKDIV13              44314l
-#define SPC_CLOCKDIV14              44315l
-#define SPC_CLOCKDIV15              44316l
-#define SPC_CLOCKDIV16              44317l
-
-#define SPC_READTROFFSET            45000l
-#define SPC_TRIGGEREDGE             46000l
-#define SPC_TRIGGEREDGE0            46000l
-#define SPC_TRIGGEREDGE1            46001l
-#define     TE_POS                  10000l
-#define     TE_NEG                  10010l
-#define     TE_BOTH                 10020l
-#define     TE_NONE                 10030l
-
-
-// ----- Timestamp -----
-#define CH_TIMESTAMP                9999l
-
-#define SPC_TIMESTAMP_CMD           47000l
-#define     TS_RESET                    0l
-#define     TS_MODE_DISABLE             10l
-#define     TS_MODE_STARTRESET          11l
-#define     TS_MODE_STANDARD            12l
-#define     TS_MODE_REFCLOCK            13l
-#define     TS_MODE_TEST5555            90l
-#define     TS_MODE_TESTAAAA            91l
-#define     TS_MODE_ZHTEST              92l
-
-// ----- modes for M2i, M3i, M4i, M4x, M2p hardware (bitmap) -----
-#define SPC_TIMESTAMP_AVAILMODES    47001l
-#define     SPC_TSMODE_DISABLE      0x00000000
-#define     SPC_TS_RESET            0x00000001
-#define     SPC_TSMODE_STANDARD     0x00000002
-#define     SPC_TSMODE_STARTRESET   0x00000004
-#define     SPC_TS_RESET_WAITREFCLK 0x00000008
-#define     SPC_TSCNT_INTERNAL      0x00000100
-#define     SPC_TSCNT_REFCLOCKPOS   0x00000200
-#define     SPC_TSCNT_REFCLOCKNEG   0x00000400
-#define     SPC_TSFEAT_NONE         0x00000000
-#define     SPC_TSFEAT_STORE1STABA  0x00010000
-#define     SPC_TSFEAT_INCRMODE     0x00020000
-#define     SPC_TSFEAT_INCRMODE12   0x00040000
-#define     SPC_TSFEAT_TRGSRC       0x00080000
-
-#define     SPC_TSXIOACQ_DISABLE    0x00000000
-#define     SPC_TSXIOACQ_ENABLE     0x00001000
-#define     SPC_TSXIOINC_ENABLE     0x00002000
-#define     SPC_TSXIOINC12_ENABLE   0x00004000
-
-#define     SPC_TSMODE_MASK         0x000000FF
-#define     SPC_TSCNT_MASK          0x00000F00
-#define     SPC_TSFEAT_MASK         0x000F0000
-
-#define     SPC_TRGSRC_MASK_CH0       0x00000001
-#define     SPC_TRGSRC_MASK_CH1       0x00000002
-#define     SPC_TRGSRC_MASK_CH2       0x00000004
-#define     SPC_TRGSRC_MASK_CH3       0x00000008
-#define     SPC_TRGSRC_MASK_CH4       0x00000010
-#define     SPC_TRGSRC_MASK_CH5       0x00000020
-#define     SPC_TRGSRC_MASK_CH6       0x00000040
-#define     SPC_TRGSRC_MASK_CH7       0x00000080
-#define     SPC_TRGSRC_MASK_EXT0      0x00000100
-#define     SPC_TRGSRC_MASK_EXT1      0x00000200
-#define     SPC_TRGSRC_MASK_FORCE     0x00000400
-// space for digital channels using TSXIOACQ_ENABLE of standard multi-purpose lines
-#define     SPC_TRGSRC_MASK_PXI0      0x00010000
-#define     SPC_TRGSRC_MASK_PXI1      0x00020000
-#define     SPC_TRGSRC_MASK_PXI2      0x00040000
-#define     SPC_TRGSRC_MASK_PXI3      0x00080000
-#define     SPC_TRGSRC_MASK_PXI4      0x00100000
-#define     SPC_TRGSRC_MASK_PXI5      0x00200000
-#define     SPC_TRGSRC_MASK_PXI6      0x00400000
-#define     SPC_TRGSRC_MASK_PXI7      0x00800000
-#define     SPC_TRGSRC_MASK_PXISTAR   0x01000000
-#define     SPC_TRGSRC_MASK_PXIDSTARB 0x02000000
-#define     SPC_TRGSRC_MASK_X0        0x10000000
-#define     SPC_TRGSRC_MASK_X1        0x20000000
-#define     SPC_TRGSRC_MASK_X2        0x40000000
-#define     SPC_TRGSRC_MASK_X3        0x80000000
-// space for more digital channels using TSXIOACQ_ENABLE of additional multi-purpose lines (optional)
-
-
-#define SPC_TIMESTAMP_STATUS        47010l
-#define     TS_FIFO_EMPTY               0l
-#define     TS_FIFO_LESSHALF            1l
-#define     TS_FIFO_MOREHALF            2l
-#define     TS_FIFO_OVERFLOW            3l
-
-#define SPC_TIMESTAMP_COUNT         47020l
-#define SPC_TIMESTAMP_STARTTIME     47030l
-#define SPC_TIMESTAMP_STARTDATE     47031l
-#define SPC_TIMESTAMP_FIFO          47040l
-#define SPC_TIMESTAMP_TIMEOUT       47045l
-
-#define SPC_TIMESTAMP_RESETMODE     47050l
-#define     TS_RESET_POS               10l
-#define     TS_RESET_NEG               20l
-
-
-
-// ----- Extra I/O module -----
-#define SPC_XIO_DIRECTION           47100l
-#define     XD_CH0_INPUT                0l
-#define     XD_CH0_OUTPUT               1l
-#define     XD_CH1_INPUT                0l
-#define     XD_CH1_OUTPUT               2l
-#define     XD_CH2_INPUT                0l
-#define     XD_CH2_OUTPUT               4l
-#define SPC_XIO_DIGITALIO           47110l
-#define SPC_XIO_ANALOGOUT0          47120l
-#define SPC_XIO_ANALOGOUT1          47121l
-#define SPC_XIO_ANALOGOUT2          47122l
-#define SPC_XIO_ANALOGOUT3          47123l
-#define SPC_XIO_WRITEDACS           47130l
-
-
-
-// ----- M3i        multi purpose lines (X0, X1        ) 
-// ----- M4i + M4x  multi purpose lines (X0, X1, X2    ) 
-// ----- M2p        multi purpose lines (X0, X1, X2, X3) and with installed option also (X4 .. X19)
-
-// legacy constants: not enough contiguous constants possible for X4..X19,
-// hence new constants for X-modes (SPCM_X0_MODE.. SPCM_X19_MODE) exist further below
-#define SPCM_LEGACY_X0_MODE         47200l
-#define SPCM_LEGACY_X1_MODE         47201l
-#define SPCM_LEGACY_X2_MODE         47202l
-#define SPCM_LEGACY_X3_MODE         47203l
-#define SPCM_LEGACY_X0_AVAILMODES   47210l
-#define SPCM_LEGACY_X1_AVAILMODES   47211l
-#define SPCM_LEGACY_X2_AVAILMODES   47212l
-#define SPCM_LEGACY_X3_AVAILMODES   47213l
-#define     SPCM_XMODE_DISABLE           0x00000000
-#define     SPCM_XMODE_ASYNCIN           0x00000001  // used as asynchronous input
-#define     SPCM_XMODE_ASYNCOUT          0x00000002  // used as asynchronous output
-#define     SPCM_XMODE_DIGIN             0x00000004  // used as synchronous digital input
-#define     SPCM_XMODE_DIGOUT            0x00000008  // used as synchronous digital output
-#define     SPCM_XMODE_TRIGIN            0x00000010  // used as trigger input
-#define     SPCM_XMODE_TRIGOUT           0x00000020  // used as trigger output
-#define     SPCM_XMODE_OVROUT            0x00000040  // used as ADC overrange output
-#define     SPCM_XMODE_DIGIN2BIT         0x00000080  // used as synchronous digital input, 2bits per channel
-#define     SPCM_XMODE_RUNSTATE          0x00000100  // shows the run state of the card (high = run)
-#define     SPCM_XMODE_ARMSTATE          0x00000200  // shows the arm state (high = armed for trigger of one single card)
-#define     SPCM_XMODE_DIRECTTRIGOUT     0x00000400  // used as direct trigger output (safe mode) 
-#define     SPCM_XMODE_DIRECTTRIGOUT_LR  0x00000800  // used as direct trigger output (low re-arm)
-#define     SPCM_XMODE_REFCLKOUT         0x00001000  // outputs internal or fed in external refclock
-#define     SPCM_XMODE_CONTOUTMARK       0x00002000  // outputs a half posttrigger long HIGH pulse on replay
-#define     SPCM_XMODE_SYSCLKOUT         0x00004000  // outputs internal system clock
-#define     SPCM_XMODE_CLKOUT            0x00008000  // clock output
-#define     SPCM_XMODE_SYNCARMSTATE      0x00010000  // shows the arm state (high = armed for trigger when all cards connected to a Star-Hub are armed)
-#define     SPCM_XMODE_OPTDIGIN2BIT      0x00020000  // used as synchronous digital input from digitaloption, 2bits per channel
-#define     SPCM_XMODE_OPTDIGIN4BIT      0x00040000  // used as synchronous digital input from digitaloption, 4bits per channel
-#define     SPCM_XMODE_PULSEGEN          0x00080000  // output of pulse generator
-#define     SPCM_XMODE_MODEMASK          0x000FFFFF
-
-// additional constants to be combined together with SPCM_XMODE_DIGOUT to select analog channel containing digital data
-#define     SPCM_XMODE_DIGOUTSRC_CH0     0x01000000  // Select Ch0 as source 
-#define     SPCM_XMODE_DIGOUTSRC_CH1     0x02000000  // Select Ch1 as source
-#define     SPCM_XMODE_DIGOUTSRC_CH2     0x04000000  // Select Ch2 as source
-#define     SPCM_XMODE_DIGOUTSRC_CH3     0x08000000  // Select Ch3 as source
-#define     SPCM_XMODE_DIGOUTSRC_CH4     0x10000000  // Select Ch4 as source
-#define     SPCM_XMODE_DIGOUTSRC_CH5     0x20000000  // Select Ch5 as source
-#define     SPCM_XMODE_DIGOUTSRC_CH6     0x40000000  // Select Ch6 as source
-#define     SPCM_XMODE_DIGOUTSRC_CH7     0x80000000  // Select Ch7 as source
-#define     SPCM_XMODE_DIGOUTSRC_CHMASK  0xFF000000
-
-// additional constants to be combined together with SPCM_XMODE_DIGOUT to select digital signal source
-#define     SPCM_XMODE_DIGOUTSRC_BIT15              0x00100000  // Use Bit15 (MSB    ) of selected channel: channel resolution will be reduced to 15 bit
-#define     SPCM_XMODE_DIGOUTSRC_BIT14              0x00200000  // Use Bit14 (MSB - 1) of selected channel: channel resolution will be reduced to 14 bit
-#define     SPCM_XMODE_DIGOUTSRC_BIT13              0x00400000  // Use Bit13 (MSB - 2) of selected channel: channel resolution will be reduced to 13 bit
-#define     SPCM_XMODE_DIGOUTSRC_BIT12              0x00800000  // Use Bit12 (MSB - 3) of selected channel: channel resolution will be reduced to 12 bit
-#define     SPCM_XMODE_DIGOUTSRC_BITMASK            0x00F00000
-// special combinations for M2p.65xx cards with options SPCM_FEAT_DIG16_SMB or SPCM_FEAT_DIG16_FX2
-#define     SPCM_XMODE_DIGOUTSRC_BIT15_downto_0     0x00F00000  // use all   16 bits of selected channel on  (X19..X4)              : channel will only contain digital data
-#define     SPCM_XMODE_DIGOUTSRC_BIT15_downto_8     0x00700000  // use upper  8 bits of selected channel for (X19..X12) or (X11..X4): channel resolution will be reduced to 8 bit
-
-#define SPCM_XX_ASYNCIO             47220l           // asynchronous in/out register
-
-#define SPC_DIGMODE0 47250l
-#define SPC_DIGMODE1 47251l
-#define SPC_DIGMODE2 47252l
-#define SPC_DIGMODE3 47253l
-#define SPC_DIGMODE4 47254l
-#define SPC_DIGMODE5 47255l
-#define SPC_DIGMODE6 47256l
-#define SPC_DIGMODE7 47257l
-#define     SPCM_DIGMODE_OFF 0x00000000
-#define     SPCM_DIGMODE_X0  0x21084000 // (M2P_DIGMODE_X0 << (32 - 5)) | (M2P_DIGMODE_X0 << (32 - 10)) | (M2P_DIGMODE_X0 << (32 - 15)) | (M2P_DIGMODE_X0 << (32 - 20))
-#define     SPCM_DIGMODE_X1  0x294A5000 // (M2P_DIGMODE_X1 << (32 - 5)) | (M2P_DIGMODE_X1 << (32 - 10)) | (M2P_DIGMODE_X1 << (32 - 15)) | (M2P_DIGMODE_X1 << (32 - 20))
-#define     SPCM_DIGMODE_X2  0x318C6000 // (M2P_DIGMODE_X2 << (32 - 5)) | (M2P_DIGMODE_X2 << (32 - 10)) | (M2P_DIGMODE_X2 << (32 - 15)) | (M2P_DIGMODE_X2 << (32 - 20))
-#define     SPCM_DIGMODE_X3  0x39CE7000 // (M2P_DIGMODE_X3 << (32 - 5)) | (M2P_DIGMODE_X3 << (32 - 10)) | (M2P_DIGMODE_X3 << (32 - 15)) | (M2P_DIGMODE_X3 << (32 - 20))
-#define     SPCM_DIGMODE_X4  0x84210001
-#define     SPCM_DIGMODE_X5  0x8c631002
-#define     SPCM_DIGMODE_X6  0x94a52004
-#define     SPCM_DIGMODE_X7  0x9ce73008
-#define     SPCM_DIGMODE_X8  0xa5294010
-#define     SPCM_DIGMODE_X9  0xad6b5020
-#define     SPCM_DIGMODE_X10 0xb5ad6040
-#define     SPCM_DIGMODE_X11 0xbdef7080
-#define     SPCM_DIGMODE_X12 0xc6318100
-#define     SPCM_DIGMODE_X13 0xce739200
-#define     SPCM_DIGMODE_X14 0xd6b5a400
-#define     SPCM_DIGMODE_X15 0xdef7b800
-#define     SPCM_DIGMODE_X16 0xe739c000
-#define     SPCM_DIGMODE_X17 0xef7bd000
-#define     SPCM_DIGMODE_X18 0xf7bde000
-#define     SPCM_DIGMODE_X19 0xfffff000
-
-#define     DIGMODEMASK_BIT15 0xF8000000
-#define     DIGMODEMASK_BIT14 0x07C00000
-#define     DIGMODEMASK_BIT13 0x003E0000
-#define     DIGMODEMASK_BIT12 0x0001F000
-#define     DIGMODEMASK_BIT11 0x00000800 // one bit only for bit 11 downto 0
-#define     DIGMODEMASK_BIT10 0x00000400
-#define     DIGMODEMASK_BIT9  0x00000200
-#define     DIGMODEMASK_BIT8  0x00000100
-#define     DIGMODEMASK_BIT7  0x00000080
-#define     DIGMODEMASK_BIT6  0x00000040
-#define     DIGMODEMASK_BIT5  0x00000020
-#define     DIGMODEMASK_BIT4  0x00000010
-#define     DIGMODEMASK_BIT3  0x00000008
-#define     DIGMODEMASK_BIT2  0x00000004
-#define     DIGMODEMASK_BIT1  0x00000002
-#define     DIGMODEMASK_BIT0  0x00000001
-
-// provided for convenience
-#define SPCM_DIGMODE_CHREPLACE     0xFFBBCFFF
-//#define SPCM_DIGMODE_CHREPLACE    (  (DIGMODEMASK_BIT15 & SPCM_DIGMODE_X19)
-//                                   | (DIGMODEMASK_BIT14 & SPCM_DIGMODE_X18)
-//                                   | (DIGMODEMASK_BIT13 & SPCM_DIGMODE_X17)
-//                                   | (DIGMODEMASK_BIT12 & SPCM_DIGMODE_X16)
-//                                   | (DIGMODEMASK_BIT11 & SPCM_DIGMODE_X15)
-//                                   | (DIGMODEMASK_BIT10 & SPCM_DIGMODE_X14)
-//                                   | (DIGMODEMASK_BIT9  & SPCM_DIGMODE_X13)
-//                                   | (DIGMODEMASK_BIT8  & SPCM_DIGMODE_X12)
-//                                   | (DIGMODEMASK_BIT7  & SPCM_DIGMODE_X11)
-//                                   | (DIGMODEMASK_BIT6  & SPCM_DIGMODE_X10)
-//                                   | (DIGMODEMASK_BIT5  & SPCM_DIGMODE_X9 )
-//                                   | (DIGMODEMASK_BIT4  & SPCM_DIGMODE_X8 )
-//                                   | (DIGMODEMASK_BIT3  & SPCM_DIGMODE_X7 )
-//                                   | (DIGMODEMASK_BIT2  & SPCM_DIGMODE_X6 )
-//                                   | (DIGMODEMASK_BIT1  & SPCM_DIGMODE_X5 )
-//                                   | (DIGMODEMASK_BIT0  & SPCM_DIGMODE_X4 ) )
-//
-
-
-// ----- M4x PXI Trigger lines -----
-#define SPC_PXITRG0_MODE           47300l
-#define SPC_PXITRG1_MODE           47301l
-#define SPC_PXITRG2_MODE           47302l
-#define SPC_PXITRG3_MODE           47303l
-#define SPC_PXITRG4_MODE           47304l
-#define SPC_PXITRG5_MODE           47305l
-#define SPC_PXITRG6_MODE           47306l
-#define SPC_PXITRG7_MODE           47307l
-#define SPC_PXISTAR_MODE           47308l
-#define SPC_PXIDSTARC_MODE         47309l
-#define SPC_PXITRG0_AVAILMODES     47310l
-#define SPC_PXITRG1_AVAILMODES     47311l
-#define SPC_PXITRG2_AVAILMODES     47312l
-#define SPC_PXITRG3_AVAILMODES     47313l
-#define SPC_PXITRG4_AVAILMODES     47314l
-#define SPC_PXITRG5_AVAILMODES     47315l
-#define SPC_PXITRG6_AVAILMODES     47316l
-#define SPC_PXITRG7_AVAILMODES     47317l
-#define SPC_PXISTAR_AVAILMODES     47318l
-#define SPC_PXIDSTARC_AVAILMODES   47319l
-#define SPC_PXITRG_ASYNCIO         47320l          // asynchronous in/out register
-#define     SPCM_PXITRGMODE_DISABLE     0x00000000
-#define     SPCM_PXITRGMODE_IN          0x00000001  // used as input
-#define     SPCM_PXITRGMODE_ASYNCOUT    0x00000002  // used as asynchronous output
-#define     SPCM_PXITRGMODE_RUNSTATE    0x00000004  // shows the run state of the card (high = run)
-#define     SPCM_PXITRGMODE_ARMSTATE    0x00000008  // shows the arm state (high = armed for trigger)
-#define     SPCM_PXITRGMODE_TRIGOUT     0x00000010  // used as trigger output
-#define     SPCM_PXITRGMODE_REFCLKOUT   0x00000020  // outputs PXI refclock (10 MHz)
-#define     SPCM_PXITRGMODE_CONTOUTMARK 0x00000040  // outputs a half posttrigger long HIGH pulse on replay
-
-
-// ----- Star-Hub -----
-// 48000 not usable
-
-#define SPC_STARHUB_STATUS          48010l
-
-#define SPC_STARHUB_ROUTE0          48100l  // Routing Information for Test
-#define SPC_STARHUB_ROUTE99         48199l  // ...
-
-
-// Spcm driver (M2i, M3i, M4i, M4x, M2p) sync setup registers
-#define SPC_SYNC_READ_SYNCCOUNT     48990l  // number of sync'd cards
-#define SPC_SYNC_READ_NUMCONNECTORS 48991l  // number of connectors on starhub
-
-#define SPC_SYNC_READ_CARDIDX0      49000l  // read index of card at location 0 of sync
-#define SPC_SYNC_READ_CARDIDX1      49001l  // ...
-#define SPC_SYNC_READ_CARDIDX2      49002l  // ...
-#define SPC_SYNC_READ_CARDIDX3      49003l  // ...
-#define SPC_SYNC_READ_CARDIDX4      49004l  // ...
-#define SPC_SYNC_READ_CARDIDX5      49005l  // ...
-#define SPC_SYNC_READ_CARDIDX6      49006l  // ...
-#define SPC_SYNC_READ_CARDIDX7      49007l  // ...
-#define SPC_SYNC_READ_CARDIDX8      49008l  // ...
-#define SPC_SYNC_READ_CARDIDX9      49009l  // ...
-#define SPC_SYNC_READ_CARDIDX10     49010l  // ...
-#define SPC_SYNC_READ_CARDIDX11     49011l  // ...
-#define SPC_SYNC_READ_CARDIDX12     49012l  // ...
-#define SPC_SYNC_READ_CARDIDX13     49013l  // ...
-#define SPC_SYNC_READ_CARDIDX14     49014l  // ...
-#define SPC_SYNC_READ_CARDIDX15     49015l  // ...
-
-#define SPC_SYNC_READ_CABLECON0     49100l  // read cable connection of card at location 0 of sync
-#define SPC_SYNC_READ_CABLECON1     49101l  // ...
-#define SPC_SYNC_READ_CABLECON2     49102l  // ...
-#define SPC_SYNC_READ_CABLECON3     49103l  // ...
-#define SPC_SYNC_READ_CABLECON4     49104l  // ...
-#define SPC_SYNC_READ_CABLECON5     49105l  // ...
-#define SPC_SYNC_READ_CABLECON6     49106l  // ...
-#define SPC_SYNC_READ_CABLECON7     49107l  // ...
-#define SPC_SYNC_READ_CABLECON8     49108l  // ...
-#define SPC_SYNC_READ_CABLECON9     49109l  // ...
-#define SPC_SYNC_READ_CABLECON10    49110l  // ...
-#define SPC_SYNC_READ_CABLECON11    49111l  // ...
-#define SPC_SYNC_READ_CABLECON12    49112l  // ...
-#define SPC_SYNC_READ_CABLECON13    49113l  // ...
-#define SPC_SYNC_READ_CABLECON14    49114l  // ...
-#define SPC_SYNC_READ_CABLECON15    49115l  // ...
-
-#define SPC_SYNC_ENABLEMASK         49200l  // synchronisation enable (mask)
-#define SPC_SYNC_NOTRIGSYNCMASK     49210l  // trigger disabled for sync (mask)
-#define SPC_SYNC_CLKMASK            49220l  // clock master (mask)
-#define SPC_SYNC_MODE               49230l  // synchronization mode
-#define SPC_AVAILSYNC_MODES         49231l  // available synchronization modes
-#define     SPC_SYNC_STANDARD         0x00000001  // starhub uses its own clock and trigger sources
-#define     SPC_SYNC_SYSTEMCLOCK      0x00000002  // starhub uses own trigger sources and takes clock from system starhub
-#define     SPC_SYNC_SYSTEMCLOCKTRIG  0x00000004  // starhub takes clock and trigger from system starhub (trigger sampled on rising  clock edge)
-#define     SPC_SYNC_SYSTEMCLOCKTRIGN 0x00000008  // starhub takes clock and trigger from system starhub (trigger sampled on falling clock edge)
-#define SPC_SYNC_SYSTEM_TRIGADJUST  49240l  // Delay value for adjusting trigger position using system starhub
-
-
-// ----- Gain and Offset Adjust DAC's -----
-#define SPC_ADJ_START               50000l
-
-#define SPC_ADJ_LOAD                50000l
-#define SPC_ADJ_SAVE                50010l
-#define     ADJ_DEFAULT                 0l
-#define     ADJ_USER0                   1l
-#define     ADJ_USER1                   2l
-#define     ADJ_USER2                   3l
-#define     ADJ_USER3                   4l
-#define     ADJ_USER4                   5l
-#define     ADJ_USER5                   6l
-#define     ADJ_USER6                   7l
-#define     ADJ_USER7                   8l
-
-#define SPC_ADJ_AUTOADJ             50020l
-#define     ADJ_ALL                     0l
-#define     ADJ_CURRENT                 1l
-#define     ADJ_EXTERNAL                2l
-#define     ADJ_1MOHM                   3l
-
-#define     ADJ_CURRENT_CLOCK           4l
-#define     ADJ_CURRENT_IR              8l
-#define     ADJ_OFFSET_ONLY            16l
-#define     ADJ_SPECIAL_CLOCK          32l
-
-#define SPC_ADJ_SOURCE_CALLBACK     50021l
-#define SPC_ADJ_PROGRESS_CALLBACK   50022l
-
-#define SPC_ADJ_SET                 50030l
-#define SPC_ADJ_FAILMASK            50040l
-
-#define SPC_ADJ_CALIBSOURCE            50050l
-#define        ADJ_CALSRC_GAIN             1l
-#define        ADJ_CALSRC_OFF              0l
-#define        ADJ_CALSRC_GND             -1l
-#define        ADJ_CALSRC_GNDOFFS         -2l
-#define        ADJ_CALSRC_AC              10l
-#define        ADJ_CALSRC_ADC             11l
-
-#define SPC_ADJ_CALIBVALUE0            50060l
-#define SPC_ADJ_CALIBVALUE1            50061l
-#define SPC_ADJ_CALIBVALUE2            50062l
-#define SPC_ADJ_CALIBVALUE3            50063l
-#define SPC_ADJ_CALIBVALUE4            50064l
-#define SPC_ADJ_CALIBVALUE5            50065l
-#define SPC_ADJ_CALIBVALUE6            50066l
-#define SPC_ADJ_CALIBVALUE7            50067l
-
-#define SPC_ADJ_OFFSET_CH0          50900l
-#define SPC_ADJ_OFFSET_CH1          50901l
-#define SPC_ADJ_OFFSET_CH2          50902l
-#define SPC_ADJ_OFFSET_CH3          50903l
-#define SPC_ADJ_OFFSET_CH4          50904l
-#define SPC_ADJ_OFFSET_CH5          50905l
-#define SPC_ADJ_OFFSET_CH6          50906l
-#define SPC_ADJ_OFFSET_CH7          50907l
-#define SPC_ADJ_OFFSET_CH8          50908l
-#define SPC_ADJ_OFFSET_CH9          50909l
-#define SPC_ADJ_OFFSET_CH10         50910l
-#define SPC_ADJ_OFFSET_CH11         50911l
-#define SPC_ADJ_OFFSET_CH12         50912l
-#define SPC_ADJ_OFFSET_CH13         50913l
-#define SPC_ADJ_OFFSET_CH14         50914l
-#define SPC_ADJ_OFFSET_CH15         50915l
-
-#define SPC_ADJ_GAIN_CH0            50916l
-#define SPC_ADJ_GAIN_CH1            50917l
-#define SPC_ADJ_GAIN_CH2            50918l
-#define SPC_ADJ_GAIN_CH3            50919l
-#define SPC_ADJ_GAIN_CH4            50920l
-#define SPC_ADJ_GAIN_CH5            50921l
-#define SPC_ADJ_GAIN_CH6            50922l
-#define SPC_ADJ_GAIN_CH7            50923l
-#define SPC_ADJ_GAIN_CH8            50924l
-#define SPC_ADJ_GAIN_CH9            50925l
-#define SPC_ADJ_GAIN_CH10           50926l
-#define SPC_ADJ_GAIN_CH11           50927l
-#define SPC_ADJ_GAIN_CH12           50928l
-#define SPC_ADJ_GAIN_CH13           50929l
-#define SPC_ADJ_GAIN_CH14           50930l
-#define SPC_ADJ_GAIN_CH15           50931l
-
-#define SPC_ADJ_OFFSET0             51000l
-#define SPC_ADJ_OFFSET999           51999l
-
-#define SPC_ADJ_GAIN0               52000l
-#define SPC_ADJ_GAIN999             52999l
-
-#define SPC_ADJ_CORRECT0            53000l
-#define SPC_ADJ_OFFS_CORRECT0       53000l
-#define SPC_ADJ_CORRECT999          53999l
-#define SPC_ADJ_OFFS_CORRECT999     53999l
-
-#define SPC_ADJ_XIOOFFS0            54000l
-#define SPC_ADJ_XIOOFFS1            54001l
-#define SPC_ADJ_XIOOFFS2            54002l
-#define SPC_ADJ_XIOOFFS3            54003l
-
-#define SPC_ADJ_XIOGAIN0            54010l
-#define SPC_ADJ_XIOGAIN1            54011l
-#define SPC_ADJ_XIOGAIN2            54012l
-#define SPC_ADJ_XIOGAIN3            54013l
-
-#define SPC_ADJ_GAIN_CORRECT0       55000l
-#define SPC_ADJ_GAIN_CORRECT999     55999l
-
-#define SPC_ADJ_OFFSCALIBCORRECT0   56000l
-#define SPC_ADJ_OFFSCALIBCORRECT999 56999l
-
-#define SPC_ADJ_GAINCALIBCORRECT0   57000l
-#define SPC_ADJ_GAINCALIBCORRECT999 57999l
-
-#define SPC_ADJ_ANALOGTRIGGER0      58000l
-#define SPC_ADJ_ANALOGTRIGGER99     58099l
-
-#define SPC_ADJ_CALIBSAMPLERATE0    58100l
-#define SPC_ADJ_CALIBSAMPLERATE99   58199l
-
-#define SPC_ADJ_CALIBSAMPLERATE_GAIN0    58200l
-#define SPC_ADJ_CALIBSAMPLERATE_GAIN99   58299l
-
-#define SPC_ADJ_REFCLOCK            58300l
-#define SPC_ADJ_STARHUB_REFCLOCK    58301l
-
-#define SPC_ADJ_TIMING_CH0          58400l
-#define SPC_ADJ_TIMING_CH1          58401l
-
-#define SPC_ADJ_END                 59999l
-
-
-
-// ----- FIFO Control -----
-#define SPC_FIFO_BUFFERS            60000l          // number of FIFO buffers
-#define SPC_FIFO_BUFLEN             60010l          // len of each FIFO buffer
-#define SPC_FIFO_BUFCOUNT           60020l          // number of FIFO buffers tranfered until now
-#define SPC_FIFO_BUFMAXCNT          60030l          // number of FIFO buffers to be transfered (0=continuous)
-#define SPC_FIFO_BUFADRCNT          60040l          // number of FIFO buffers allowed
-#define SPC_FIFO_BUFREADY           60050l          // fifo buffer ready register (same as SPC_COMMAND + SPC_FIFO_BUFREADY0...)
-#define SPC_FIFO_BUFFILLCNT         60060l          // number of currently filled buffers
-#define SPC_FIFO_BUFADR0            60100l          // adress of FIFO buffer no. 0
-#define SPC_FIFO_BUFADR1            60101l          // ...
-#define SPC_FIFO_BUFADR2            60102l          // ...
-#define SPC_FIFO_BUFADR3            60103l          // ...
-#define SPC_FIFO_BUFADR4            60104l          // ...
-#define SPC_FIFO_BUFADR5            60105l          // ...
-#define SPC_FIFO_BUFADR6            60106l          // ...
-#define SPC_FIFO_BUFADR7            60107l          // ...
-#define SPC_FIFO_BUFADR8            60108l          // ...
-#define SPC_FIFO_BUFADR9            60109l          // ...
-#define SPC_FIFO_BUFADR10           60110l          // ...
-#define SPC_FIFO_BUFADR11           60111l          // ...
-#define SPC_FIFO_BUFADR12           60112l          // ...
-#define SPC_FIFO_BUFADR13           60113l          // ...
-#define SPC_FIFO_BUFADR14           60114l          // ...
-#define SPC_FIFO_BUFADR15           60115l          // ...
-#define SPC_FIFO_BUFADR255          60355l          // last
-
-
-
-// ----- Filter -----
-#define SPC_FILTER                  100000l
-#define SPC_READNUMFILTERS          100001l         // number of programable filters
-#define SPC_FILTERFREQUENCY0        100002l         // frequency of filter 0 (bypass)
-#define SPC_FILTERFREQUENCY1        100003l         // frequency of filter 1
-#define SPC_FILTERFREQUENCY2        100004l         // frequency of filter 2
-#define SPC_FILTERFREQUENCY3        100005l         // frequency of filter 3
-#define SPC_DIGITALBWFILTER         100100l         // enable/disable digital bandwith filter
-
-
-// ----- Pattern -----
-#define SPC_PATTERNENABLE           110000l
-#define SPC_READDIGITAL             110100l
-
-#define SPC_DIGITALMODE0            110200l
-#define SPC_DIGITALMODE1            110201l
-#define SPC_DIGITALMODE2            110202l
-#define SPC_DIGITALMODE3            110203l
-#define SPC_DIGITALMODE4            110204l
-#define SPC_DIGITALMODE5            110205l
-#define SPC_DIGITALMODE6            110206l
-#define SPC_DIGITALMODE7            110207l
-#define     SPC_DIGITALMODE_OFF         0l
-#define     SPC_DIGITALMODE_2BIT        1l
-#define     SPC_DIGITALMODE_4BIT        2l
-#define     SPC_DIGITALMODE_CHREPLACE   3l
-
-
-// ----- Miscellanous -----
-#define SPC_MISCDAC0                200000l
-#define SPC_MISCDAC1                200010l
-#define SPC_FACTORYMODE             200020l
-#define SPC_DIRECTDAC               200030l
-#define SPC_NOTRIGSYNC              200040l
-#define SPC_DSPDIRECT               200100l
-#define SPC_DMAPHYSICALADR          200110l
-#define SPC_MICXCOMP_CLOSEBOARD     200119l
-#define SPC_MICXCOMPATIBILITYMODE   200120l
-#define SPC_TEST_FIFOSPEED          200121l
-#define SPC_RELOADDEMO              200122l
-#define SPC_OVERSAMPLINGFACTOR      200123l
-#define SPC_ISMAPPEDCARD            200124l
-#define     SPCM_NOT_MAPPED             0l
-#define     SPCM_LOCAL_MAPPED           1l
-#define     SPCM_REMOTE_MAPPED          2l
-#define SPC_GETTHREADHANDLE         200130l
-#define SPC_GETKERNELHANDLE         200131l
-#define SPC_XYZMODE                 200200l
-#define SPC_INVERTDATA              200300l
-#define SPC_GATEMARKENABLE          200400l
-#define SPC_GATE_LEN_ALIGNMENT      200401l
-#define SPC_CONTOUTMARK             200450l
-#define SPC_EXPANDINT32             200500l
-#define SPC_NOPRETRIGGER            200600l
-#define SPC_RELAISWAITTIME          200700l
-#define SPC_DACWAITTIME             200710l
-#define SPC_DELAY_US                200720l
-#define SPC_ILAMODE                 200800l
-#define SPC_NMDGMODE                200810l
-#define SPC_CKADHALF_OUTPUT         200820l
-#define SPC_LONGTRIG_OUTPUT         200830l
-#define SPC_STOREMODAENDOFSEGMENT   200840l
-#define SPC_COUNTERMODE             200850l
-#define     SPC_CNTMOD_MASK             0x0000000F
-#define     SPC_CNTMOD_PARALLELDATA     0x00000000
-#define     SPC_CNTMOD_8BITCNT          0x00000001
-#define     SPC_CNTMOD_2x8BITCNT        0x00000002
-#define     SPC_CNTMOD_16BITCNT         0x00000003
-#define     SPC_CNT0_MASK               0x000000F0
-#define     SPC_CNT0_CNTONPOSEDGE       0x00000000
-#define     SPC_CNT0_CNTONNEGEDGE       0x00000010
-#define     SPC_CNT0_RESETHIGHLVL       0x00000000
-#define     SPC_CNT0_RESETLOWLVL        0x00000020
-#define     SPC_CNT0_STOPATMAX          0x00000000
-#define     SPC_CNT0_ROLLOVER           0x00000040
-#define     SPC_CNT1_MASK               0x00000F00
-#define     SPC_CNT1_CNTONPOSEDGE       0x00000000
-#define     SPC_CNT1_CNTONNEGEDGE       0x00000100
-#define     SPC_CNT1_RESETHIGHLVL       0x00000000
-#define     SPC_CNT1_RESETLOWLVL        0x00000200
-#define     SPC_CNT1_STOPATMAX          0x00000000
-#define     SPC_CNT1_ROLLOVER           0x00000400
-#define     SPC_CNTCMD_MASK             0x0000F000
-#define     SPC_CNTCMD_RESETCNT0        0x00001000
-#define     SPC_CNTCMD_RESETCNT1        0x00002000
-#define SPC_ENHANCEDSTATUS          200900l
-#define     SPC_ENHSTAT_OVERRANGE0      0x00000001
-#define     SPC_ENHSTAT_OVERRANGE1      0x00000002
-#define     SPC_ENHSTAT_OVERRANGE2      0x00000004
-#define     SPC_ENHSTAT_OVERRANGE3      0x00000008
-#define     SPC_ENHSTAT_OVERRANGE4      0x00000010
-#define     SPC_ENHSTAT_OVERRANGE5      0x00000020
-#define     SPC_ENHSTAT_OVERRANGE6      0x00000040
-#define     SPC_ENHSTAT_OVERRANGE7      0x00000080
-#define     SPC_ENHSTAT_COMPARATOR0     0x40000000
-#define     SPC_ENHSTAT_COMPARATOR1     0x80000000
-#define     SPC_ENHSTAT_COMPARATOR2     0x20000000
-#define     SPC_ENHSTAT_TRGCOMPARATOR   0x40000000
-#define     SPC_ENHSTAT_CLKCOMPARATOR   0x80000000
-#define SPC_TRIGGERCOUNTER          200905l
-#define SPC_FILLSIZEPROMILLE        200910l
-#define SPC_OVERRANGEBIT            201000l
-#define SPC_2CH8BITMODE             201100l
-#define SPC_12BITMODE               201200l
-#define SPC_HOLDLASTSAMPLE          201300l
-
-#define SPC_DATACONVERSION          201400l
-#define SPC_AVAILDATACONVERSION     201401l
-#define     SPCM_DC_NONE            0x00000000
-#define     SPCM_DC_12BIT_TO_14BIT  0x00000001
-#define     SPCM_DC_16BIT_TO_14BIT  0x00000002
-#define     SPCM_DC_12BIT_TO_16BIT  0x00000004
-#define     SPCM_DC_14BIT_TO_16BIT  0x00000008
-#define     SPCM_DC_15BIT_TO_16BIT  0x00000010
-#define     SPCM_DC_13BIT_TO_16BIT  0x00000020
-#define     SPCM_DC_12BIT_TO_8BIT   0x00000080
-#define     SPCM_DC_14BIT_TO_8BIT   0x00000100
-#define     SPCM_DC_16BIT_TO_8BIT   0x00000200
-#define     SPCM_DC_16BIT_TO_12BIT  0x00000400
-#define     SPCM_DC_TO_OFFSETBINARY 0x00000800
-
-#define SPC_CARDIDENTIFICATION      201500l
-
-#define SPC_HANDSHAKE               201600l
-
-#define SPC_CKSYNC0                 202000l
-#define SPC_CKSYNC1                 202001l
-#define SPC_DISABLEMOD0             203000l
-#define SPC_DISABLEMOD1             203010l
-#define SPC_ENABLEOVERRANGECHECK    204000l
-#define SPC_OVERRANGESTATUS         204010l
-#define SPC_BITMODE                 205000l
-
-#define SPC_READBACK                206000l
-#define SPC_AVAILSTOPLEVEL          206009l
-#define SPC_STOPLEVEL1              206010l
-#define SPC_STOPLEVEL0              206020l
-#define SPC_CH0_STOPLEVEL           206020l
-#define SPC_CH1_STOPLEVEL           206021l
-#define SPC_CH2_STOPLEVEL           206022l
-#define SPC_CH3_STOPLEVEL           206023l
-#define SPC_CH4_STOPLEVEL           206024l
-#define SPC_CH5_STOPLEVEL           206025l
-#define SPC_CH6_STOPLEVEL           206026l
-#define SPC_CH7_STOPLEVEL           206027l
-#define     SPCM_STOPLVL_TRISTATE   0x00000001
-#define     SPCM_STOPLVL_LOW        0x00000002
-#define     SPCM_STOPLVL_HIGH       0x00000004
-#define     SPCM_STOPLVL_HOLDLAST   0x00000008
-#define     SPCM_STOPLVL_ZERO       0x00000010
-#define     SPCM_STOPLVL_CUSTOM     0x00000020
-
-#define SPC_DIFFMODE                206030l
-#define SPC_DACADJUST               206040l
-
-#define SPC_CH0_CUSTOM_STOP         206050l
-#define SPC_CH1_CUSTOM_STOP         206051l
-#define SPC_CH2_CUSTOM_STOP         206052l
-#define SPC_CH3_CUSTOM_STOP         206053l
-#define SPC_CH4_CUSTOM_STOP         206054l
-#define SPC_CH5_CUSTOM_STOP         206055l
-#define SPC_CH6_CUSTOM_STOP         206056l
-#define SPC_CH7_CUSTOM_STOP         206057l
-
-#define SPC_AMP_MODE                207000l
-
-#define SPCM_FW_CTRL                210000l
-#define SPCM_FW_CTRL_GOLDEN         210001l
-#define SPCM_FW_CTRL_ACTIVE         210002l
-#define SPCM_FW_CLOCK               210010l
-#define SPCM_FW_CONFIG              210020l
-#define SPCM_FW_MODULEA             210030l
-#define SPCM_FW_MODULEB             210031l
-#define SPCM_FW_MODULEA_ACTIVE      210032l
-#define SPCM_FW_MODULEB_ACTIVE      210033l
-#define SPCM_FW_MODEXTRA            210050l
-#define SPCM_FW_MODEXTRA_ACTIVE     210052l
-#define SPCM_FW_POWER               210060l
-#define SPCM_FW_POWER_ACTIVE        210062l
-
-#define SPC_MULTI                   220000l
-#define SPC_DOUBLEMEM               220100l
-#define SPC_MULTIMEMVALID           220200l
-#define SPC_BANK                    220300l
-#define SPC_GATE                    220400l
-#define SPC_RELOAD                  230000l
-#define SPC_USEROUT                 230010l
-#define SPC_WRITEUSER0              230100l
-#define SPC_WRITEUSER1              230110l
-#define SPC_READUSER0               230200l
-#define SPC_READUSER1               230210l
-#define SPC_MUX                     240000l
-#define SPC_ADJADC                  241000l
-#define SPC_ADJOFFS0                242000l
-#define SPC_ADJOFFS1                243000l
-#define SPC_ADJGAIN0                244000l
-#define SPC_ADJGAIN1                245000l
-#define SPC_READEPROM               250000l
-#define SPC_WRITEEPROM              250010l
-#define SPC_DIRECTIO                260000l
-#define SPC_DIRECT_MODA             260010l
-#define SPC_DIRECT_MODB             260020l
-#define SPC_DIRECT_EXT0             260030l
-#define SPC_DIRECT_EXT1             260031l
-#define SPC_DIRECT_EXT2             260032l
-#define SPC_DIRECT_EXT3             260033l
-#define SPC_DIRECT_EXT4             260034l
-#define SPC_DIRECT_EXT5             260035l
-#define SPC_DIRECT_EXT6             260036l
-#define SPC_DIRECT_EXT7             260037l
-#define SPC_MEMTEST                 270000l
-#define SPC_NODMA                   275000l
-#define SPC_NOCOUNTER               275010l
-#define SPC_NOSCATTERGATHER         275020l
-#define SPC_USER_RELAIS_OVERWRITE   275030l
-#define     SPCM_URO_ENABLE             0x80000000
-#define     SPCM_URO_INVERT_10TO1REL    0x00000001
-#define SPC_RUNINTENABLE            290000l
-#define SPC_XFERBUFSIZE             295000l
-#define SPC_CHLX                    295010l
-#define SPC_SPECIALCLOCK            295100l
-#define SPC_PLL0_ICP                295105l
-#define     SPCM_ICP0            0x00000000
-// ...
-#define     SPCM_ICP7            0x00000007
-#define SPC_STARTDELAY              295110l
-#define SPC_BASISTTLTRIG            295120l
-#define SPC_TIMEOUT                 295130l
-#define SPC_SWL_INFO                295140l
-#define SPC_SWD_INFO                295141l
-#define SPC_SWD_DOWN                295142l
-#define SPC_SWL_EXTRAINFO           295143l
-#define SPC_SPECIALCLOCK_ADJUST0    295150l
-#define SPC_SPECIALCLOCK_ADJUST1    295151l
-#define SPC_SPECIALCLOCK_ADJUST2    295152l
-#define SPC_SPECIALCLOCK_ADJUST3    295153l
-#define    SPCM_SPECIALCLOCK_ADJUST_SHIFT 1000000
-#define SPC_REGACC_CONTMEM          299000l
-#define SPC_REGACC_MEMORYUSAGE      299001l
-#define SPC_REINITLOGSETTINGS       299998l
-#define SPC_LOGDLLCALLS             299999l
-
-
-
-
-
-
-// ----- PCK400 -----
-#define SPC_FREQUENCE               300000l
-#define SPC_DELTAFREQUENCE          300010l
-#define SPC_PINHIGH                 300100l
-#define SPC_PINLOW                  300110l
-#define SPC_PINDELTA                300120l
-#define SPC_STOPLEVEL               300200l
-#define SPC_PINRELAIS               300210l
-#define SPC_EXTERNLEVEL             300300l
-
-
-
-// ----- PADCO -----
-#define SPC_COUNTER0                310000l
-#define SPC_COUNTER1                310001l
-#define SPC_COUNTER2                310002l
-#define SPC_COUNTER3                310003l
-#define SPC_COUNTER4                310004l
-#define SPC_COUNTER5                310005l
-#define SPC_MODE0                   310100l
-#define SPC_MODE1                   310101l
-#define SPC_MODE2                   310102l
-#define SPC_MODE3                   310103l
-#define SPC_MODE4                   310104l
-#define SPC_MODE5                   310105l
-#define     CM_SINGLE                   1l
-#define     CM_MULTI                    2l
-#define     CM_POSEDGE                  4l
-#define     CM_NEGEDGE                  8l
-#define     CM_HIGHPULSE                16l
-#define     CM_LOWPULSE                 32l
-
-
-
-// ----- PAD1616 -----
-#define SPC_SEQUENCERESET           320000l
-#define SPC_SEQUENCEADD             320010l
-#define     SEQ_IR_10000MV              0l
-#define     SEQ_IR_5000MV               1l
-#define     SEQ_IR_2000MV               2l
-#define     SEQ_IR_1000MV               3l
-#define     SEQ_IR_500MV                4l
-#define     SEQ_CH0                     0l
-#define     SEQ_CH1                     8l
-#define     SEQ_CH2                     16l
-#define     SEQ_CH3                     24l
-#define     SEQ_CH4                     32l
-#define     SEQ_CH5                     40l
-#define     SEQ_CH6                     48l
-#define     SEQ_CH7                     56l
-#define     SEQ_CH8                     64l
-#define     SEQ_CH9                     72l
-#define     SEQ_CH10                    80l
-#define     SEQ_CH11                    88l
-#define     SEQ_CH12                    96l
-#define     SEQ_CH13                    104l
-#define     SEQ_CH14                    112l
-#define     SEQ_CH15                    120l
-#define     SEQ_TRIGGER                 128l
-#define     SEQ_START                   256l
-
-
-
-// ----- Option CA -----
-#define SPC_CA_MODE                 330000l
-#define     CAMODE_OFF                  0l
-#define     CAMODE_CDM                  1l
-#define     CAMODE_KW                   2l
-#define     CAMODE_OT                   3l
-#define     CAMODE_CDMMUL               4l
-#define SPC_CA_TRIGDELAY            330010l
-#define SPC_CA_CKDIV                330020l
-#define SPC_CA_PULS                 330030l
-#define SPC_CA_CKMUL                330040l
-#define SPC_CA_DREHZAHLFORMAT       330050l
-#define     CADREH_4X4                  0l
-#define     CADREH_1X16                 1l
-#define SPC_CA_KWINVERT             330060l
-#define SPC_CA_OUTA                 330100l
-#define SPC_CA_OUTB                 330110l
-#define     CAOUT_TRISTATE              0l
-#define     CAOUT_LOW                   1l
-#define     CAOUT_HIGH                  2l
-#define     CAOUT_CDM                   3l
-#define     CAOUT_OT                    4l
-#define     CAOUT_KW                    5l
-#define     CAOUT_TRIG                  6l
-#define     CAOUT_CLK                   7l
-#define     CAOUT_KW60                  8l
-#define     CAOUT_KWGAP                 9l
-#define     CAOUT_TRDLY                 10l
-#define     CAOUT_INVERT                16l
-
-
-// ----- Option Sequence Mode (output cards) -----
-#define SPC_SEQMODE_STEPMEM0        340000l
-// ... 
-#define SPC_SEQMODE_STEPMEM8191     348191l
-
-// low part of 64 bit entry
-#define     SPCSEQ_SEGMENTMASK      0x0000FFFF
-#define     SPCSEQ_NEXTSTEPMASK     0xFFFF0000
-
-// high part of 64 bit entry
-#define     SPCSEQ_LOOPMASK         0x000FFFFF
-#define     SPCSEQ_ENDLOOPALWAYS    0x00000000
-#define     SPCSEQ_ENDLOOPONTRIG    0x40000000
-#define     SPCSEQ_END              0x80000000
-
-#define SPC_SEQMODE_AVAILMAXSEGMENT 349900l
-#define SPC_SEQMODE_AVAILMAXSTEPS   349901l
-#define SPC_SEQMODE_AVAILMAXLOOP    349902l
-#define SPC_SEQMODE_AVAILFEATURES   349903l
-
-#define SPC_SEQMODE_MAXSEGMENTS     349910l
-#define SPC_SEQMODE_WRITESEGMENT    349920l
-#define SPC_SEQMODE_STARTSTEP       349930l
-#define SPC_SEQMODE_SEGMENTSIZE     349940l
-
-#define SPC_SEQMODE_STATUS          349950l
-#define     SEQSTAT_STEPCHANGE          0x80000000l
-
-
-// ----- netbox registers -----
-#define SPC_NETBOX_TYPE             400000l
-#define     NETBOX_SERIES_MASK      0xFF000000
-#define     NETBOX_FAMILY_MASK      0x00FF0000
-#define     NETBOX_SPEED_MASK       0x0000FF00
-#define     NETBOX_CHANNEL_MASK     0x000000FF
-
-#define     NETBOX_SERIES_DN2       0x02000000
-#define     NETBOX_SERIES_DN6       0x06000000
-
-#define     NETBOX_FAMILY_20        0x00200000
-#define     NETBOX_FAMILY_22        0x00220000
-#define     NETBOX_FAMILY_44        0x00440000
-#define     NETBOX_FAMILY_46        0x00460000
-#define     NETBOX_FAMILY_47        0x00470000
-#define     NETBOX_FAMILY_48        0x00480000
-#define     NETBOX_FAMILY_49        0x00490000
-#define     NETBOX_FAMILY_59        0x00590000
-#define     NETBOX_FAMILY_60        0x00600000
-#define     NETBOX_FAMILY_65        0x00650000
-#define     NETBOX_FAMILY_66        0x00660000
-#define     NETBOX_FAMILY_8X        0x00800000
-#define     NETBOX_FAMILY_80        0x00800000
-#define     NETBOX_FAMILY_81        0x00810000
-#define     NETBOX_FAMILY_82        0x00820000
-#define     NETBOX_FAMILY_83        0x00830000
-
-#define     NETBOX_SPEED_1          0x00000100
-#define     NETBOX_SPEED_2          0x00000200
-#define     NETBOX_SPEED_3          0x00000300
-#define     NETBOX_SPEED_4          0x00000400
-#define     NETBOX_SPEED_5          0x00000500
-#define     NETBOX_SPEED_6          0x00000600
-#define     NETBOX_SPEED_7          0x00000700
-#define     NETBOX_SPEED_8          0x00000800
-
-#define     NETBOX_CHANNELS_2       0x00000002
-#define     NETBOX_CHANNELS_4       0x00000004
-#define     NETBOX_CHANNELS_6       0x00000006
-#define     NETBOX_CHANNELS_8       0x00000008
-#define     NETBOX_CHANNELS_10      0x0000000A
-#define     NETBOX_CHANNELS_12      0x0000000C
-#define     NETBOX_CHANNELS_16      0x00000010
-#define     NETBOX_CHANNELS_20      0x00000014
-#define     NETBOX_CHANNELS_24      0x00000018
-#define     NETBOX_CHANNELS_32      0x00000020
-#define     NETBOX_CHANNELS_40      0x00000028
-#define     NETBOX_CHANNELS_48      0x00000030
-
-#define SPC_NETBOX_SERIALNO         400001l
-#define SPC_NETBOX_PRODUCTIONDATE   400002l
-#define SPC_NETBOX_HWVERSION        400003l
-#define SPC_NETBOX_SWVERSION        400004l
-
-#define SPC_NETBOX_FEATURES         400005l
-#define     NETBOX_FEAT_DCPOWER         0x1
-#define     NETBOX_FEAT_BOOTATPOWERON   0x2
-#define     NETBOX_FEAT_EMBEDDEDSERVER  0x4
-
-#define SPC_NETBOX_CUSTOM           400006l
-
-#define SPC_NETBOX_WAKEONLAN        400007l
-#define SPC_NETBOX_MACADDRESS       400008l
-#define SPC_NETBOX_LANIDFLASH       400009l
-#define SPC_NETBOX_TEMPERATURE      400010l
-#define SPC_NETBOX_SHUTDOWN         400011l
-#define SPC_NETBOX_RESTART          400012l
-#define SPC_NETBOX_FANSPEED0        400013l
-#define SPC_NETBOX_FANSPEED1        400014l
-#define SPC_NETBOX_TEMPERATURE_K    400010l // same SPC_NETBOX_TEMPERATURE
-#define SPC_NETBOX_TEMPERATURE_C    400015l
-#define SPC_NETBOX_TEMPERATURE_F    400016l
-#define SPC_NETBOX_TEMPERATURE1_K   400017l
-#define SPC_NETBOX_TEMPERATURE1_C   400018l
-#define SPC_NETBOX_TEMPERATURE1_F   400019l
-#define SPC_NETBOX_TEMPERATURE2_K   400020l
-#define SPC_NETBOX_TEMPERATURE2_C   400021l
-#define SPC_NETBOX_TEMPERATURE2_F   400022l
-
-// ----- hardware monitor registers -----
-#define SPC_MON_V_PCIE_BUS          500000l
-#define SPC_MON_V_CONNECTOR         500001l
-#define SPC_MON_CARD_PWRSOURCE      500002l
-#define     CARD_PWRSOURCE_BUS          0l
-#define     CARD_PWRSOURCE_CONNECTOR    1l
-#define SPC_MON_V_CARD_IN           500003l
-#define SPC_MON_I_CARD_IN           500004l
-#define SPC_MON_P_CARD_IN           500005l
-#define SPC_MON_V_3V3               500006l
-#define SPC_MON_V_2V5               500007l
-#define SPC_MON_V_CORE              500008l
-#define SPC_MON_V_AVTT              500009l
-#define SPC_MON_V_AVCC              500010l
-#define SPC_MON_V_MEMVCC            500011l
-#define SPC_MON_V_MEMVTT            500012l
-#define SPC_MON_V_CP_POS            500013l
-#define SPC_MON_V_CP_NEG            500014l
-
-#define SPC_MON_V_5VA               500015l
-#define SPC_MON_V_ADCA              500016l
-#define SPC_MON_V_ADCD              500017l
-#define SPC_MON_V_OP_POS            500018l
-#define SPC_MON_V_OP_NEG            500019l
-#define SPC_MON_V_COMP_NEG          500020l
-#define SPC_MON_V_COMP_POS          500021l
-
-// legacy temperature registers (Kelvin)
-#define SPC_MON_T_BASE_CTRL         500022l
-#define SPC_MON_T_MODULE_0          500023l
-#define SPC_MON_T_MODULE_1          500024l
-
-// new temperature registers for Kelvin (TK), Celsius (TC) or Fahrenheit (TF)
-#define SPC_MON_TK_BASE_CTRL         500022l
-#define SPC_MON_TK_MODULE_0          500023l
-#define SPC_MON_TK_MODULE_1          500024l
-
-#define SPC_MON_TC_BASE_CTRL         500025l
-#define SPC_MON_TC_MODULE_0          500026l
-#define SPC_MON_TC_MODULE_1          500027l
-
-#define SPC_MON_TF_BASE_CTRL         500028l
-#define SPC_MON_TF_MODULE_0          500029l
-#define SPC_MON_TF_MODULE_1          500030l
-
-// some more voltages (used on M2p)
-#define SPC_MON_V_1V8_BASE           500031l
-#define SPC_MON_V_1V8_MOD            500032l
-#define SPC_MON_V_MODA_0             500033l
-#define SPC_MON_V_MODA_1             500034l
-#define SPC_MON_V_MODB_0             500035l
-#define SPC_MON_V_MODB_1             500037l
-
-// some more voltages and temperatures (used on M2p.65xx-hv)
-#define SPC_MON_TK_MODA_0           500023l // same as SPC_MON_TK_MODULE_0
-#define SPC_MON_TK_MODA_1           500038l
-#define SPC_MON_TK_MODA_2           500039l
-#define SPC_MON_TK_MODA_3           500040l
-#define SPC_MON_TK_MODA_4           500041l
-#define SPC_MON_TK_MODB_0           500024l // same as SPC_MON_TK_MODULE_1
-#define SPC_MON_TK_MODB_1           500042l
-#define SPC_MON_TK_MODB_2           500043l
-#define SPC_MON_TK_MODB_3           500044l
-#define SPC_MON_TK_MODB_4           500045l
-
-#define SPC_MON_TC_MODA_0           500026l // same as SPC_MON_TC_MODULE_0
-#define SPC_MON_TC_MODA_1           500046l
-#define SPC_MON_TC_MODA_2           500047l
-#define SPC_MON_TC_MODA_3           500048l
-#define SPC_MON_TC_MODA_4           500049l
-#define SPC_MON_TC_MODB_0           500027l // same as SPC_MON_TC_MODULE_1
-#define SPC_MON_TC_MODB_1           500050l
-#define SPC_MON_TC_MODB_2           500051l
-#define SPC_MON_TC_MODB_3           500052l
-#define SPC_MON_TC_MODB_4           500053l
-
-#define SPC_MON_TF_MODA_0           500029l // same as SPC_MON_TF_MODULE_0
-#define SPC_MON_TF_MODA_1           500054l
-#define SPC_MON_TF_MODA_2           500055l
-#define SPC_MON_TF_MODA_3           500056l
-#define SPC_MON_TF_MODA_4           500057l
-#define SPC_MON_TF_MODB_0           500030l // same as SPC_MON_TF_MODULE_1
-#define SPC_MON_TF_MODB_1           500058l
-#define SPC_MON_TF_MODB_2           500059l
-#define SPC_MON_TF_MODB_3           500060l
-#define SPC_MON_TF_MODB_4           500061l
-
-#define SPC_MON_I_MODA_0            500062l
-#define SPC_MON_I_MODA_1            500063l
-#define SPC_MON_I_MODA_2            500064l
-#define SPC_MON_I_MODA_3            500065l
-#define SPC_MON_I_MODB_0            500066l
-#define SPC_MON_I_MODB_1            500067l
-#define SPC_MON_I_MODB_2            500068l
-#define SPC_MON_I_MODB_3            500069l
-
-#define SPC_MON_MOD_FAULT           500070l
-#define SPC_CLR_MOD_FAULT           500071l
-
-// power section temperature registers for Kelvin (TK), Celsius (TC) or Fahrenheit (TF)
-#define SPC_MON_TK_MODA_5           500072l
-#define SPC_MON_TK_MODB_5           500073l
-
-#define SPC_MON_TC_MODA_5           500074l
-#define SPC_MON_TC_MODB_5           500075l
-
-#define SPC_MON_TF_MODA_5           500076l
-#define SPC_MON_TF_MODB_5           500077l
-
-// even more monitors (used on M5i)
-#define SPC_MON_V_MOD_0             500078l
-#define SPC_MON_V_MOD_1             500079l
-#define SPC_MON_V_MOD_2             500080l
-#define SPC_MON_V_MOD_3             500081l
-#define SPC_MON_V_MOD_4             500082l
-#define SPC_MON_V_MOD_5             500083l
-#define SPC_MON_V_MOD_6             500084l
-#define SPC_MON_V_MOD_7             500085l
-#define SPC_MON_V_MOD_8             500086l
-#define SPC_MON_V_MOD_9             500087l
-#define SPC_MON_V_MOD_10            500088l
-
-#define SPC_MON_TK_MODULE_2         500089l
-#define SPC_MON_TC_MODULE_2         500090l
-#define SPC_MON_TF_MODULE_2         500091l
-
-#define SPC_MON_RPM_FAN0            500092l
-#define SPC_MON_RPM_FAN1            500093l
-
-#define SPC_MON_V_MEMVTTA           500094l
-#define SPC_MON_V_MEMVTTB           500095l
-#define SPC_MON_V_VCCAUX            500096l
-#define SPC_MON_V_MEMAUXA           500097l
-#define SPC_MON_V_MEMAUXB           500098l
-#define SPC_MON_TK_BASE_0           500099l
-#define SPC_MON_TC_BASE_0           500100l
-#define SPC_MON_TF_BASE_0           500101l
-#define SPC_MON_TK_BASE_1           500102l
-#define SPC_MON_TC_BASE_1           500103l
-#define SPC_MON_TF_BASE_1           500104l
-#define SPC_MON_I_CORE              500105l
-#define SPC_MON_V_CORE_REMOTE       500106l
-
-
-// mask with available monitor registers
-#define SPC_AVAILMONITORS            510000l
-#define     SPCM_MON_T_BASE_CTRL        0x0000000000000001ULL
-#define     SPCM_MON_T_MODULE_0         0x0000000000000002ULL
-#define     SPCM_MON_T_MODULE_1         0x0000000000000004ULL
-#define     SPCM_MON_T_MODULE_2         0x0000000000000008ULL
-
-#define     SPCM_MON_V_PCIE_BUS         0x0000000000000010ULL
-#define     SPCM_MON_V_CONNECTOR        0x0000000000000020ULL
-#define     SPCM_MON_CARD_PWRSOURCE     0x0000000000000040ULL
-#define     SPCM_MON_V_CARD_IN          0x0000000000000080ULL
-#define     SPCM_MON_I_CARD_IN          0x0000000000000100ULL
-#define     SPCM_MON_P_CARD_IN          0x0000000000000200ULL
-#define     SPCM_MON_V_3V3              0x0000000000000400ULL
-#define     SPCM_MON_V_2V5              0x0000000000000800ULL
-#define     SPCM_MON_V_CORE             0x0000000000001000ULL
-#define     SPCM_MON_V_AVTT             0x0000000000002000ULL
-#define     SPCM_MON_V_AVCC             0x0000000000004000ULL
-#define     SPCM_MON_V_MEMVCC           0x0000000000008000ULL
-#define     SPCM_MON_V_MEMVTT           0x0000000000010000ULL
-#define     SPCM_MON_V_CP_POS           0x0000000000020000ULL
-#define     SPCM_MON_V_CP_NEG           0x0000000000040000ULL
-#define     SPCM_MON_V_5VA              0x0000000000080000ULL
-#define     SPCM_MON_V_ADCA             0x0000000000100000ULL
-#define     SPCM_MON_V_ADCD             0x0000000000200000ULL
-#define     SPCM_MON_V_OP_POS           0x0000000000400000ULL
-#define     SPCM_MON_V_OP_NEG           0x0000000000800000ULL
-#define     SPCM_MON_V_COMP_NEG         0x0000000001000000ULL
-#define     SPCM_MON_V_COMP_POS         0x0000000002000000ULL
-#define     SPCM_MON_V_1V8_BASE         0x0000000004000000ULL
-#define     SPCM_MON_V_1V8_MOD          0x0000000008000000ULL
-
-#define     SPCM_MON_V_MODA_0           0x0000000010000000ULL
-#define     SPCM_MON_V_MODA_1           0x0000000020000000ULL
-#define     SPCM_MON_V_MODB_0           0x0000000040000000ULL
-#define     SPCM_MON_V_MODB_1           0x0000000080000000ULL
-
-#define     SPCM_MON_T_MODA_0           0x0000000000000002ULL // same as SPCM_MON_T_MODULE_0
-#define     SPCM_MON_T_MODA_1           0x0000000100000000ULL
-#define     SPCM_MON_T_MODA_2           0x0000000200000000ULL
-#define     SPCM_MON_T_MODA_3           0x0000000400000000ULL
-#define     SPCM_MON_T_MODA_4           0x0000000800000000ULL
-
-#define     SPCM_MON_T_MODB_0           0x0000000000000004ULL // same as SPCM_MON_T_MODULE_1
-#define     SPCM_MON_T_MODB_1           0x0000001000000000ULL
-#define     SPCM_MON_T_MODB_2           0x0000002000000000ULL
-#define     SPCM_MON_T_MODB_3           0x0000004000000000ULL
-#define     SPCM_MON_T_MODB_4           0x0000008000000000ULL
-
-#define     SPCM_MON_I_MODA_0           0x0000010000000000ULL
-#define     SPCM_MON_I_MODA_1           0x0000020000000000ULL
-#define     SPCM_MON_I_MODA_2           0x0000040000000000ULL
-#define     SPCM_MON_I_MODA_3           0x0000080000000000ULL
-
-#define     SPCM_MON_I_MODB_0           0x0000100000000000ULL
-#define     SPCM_MON_I_MODB_1           0x0000200000000000ULL
-#define     SPCM_MON_I_MODB_2           0x0000400000000000ULL
-#define     SPCM_MON_I_MODB_3           0x0000800000000000ULL
-
-#define     SPCM_MON_T_MODA_5           0x0001000000000000ULL
-#define     SPCM_MON_T_MODB_5           0x0002000000000000ULL
-
-#define     SPCM_MON_V_MEMVTTA          0x0004000000000000ULL
-#define     SPCM_MON_V_MEMVTTB          0x0008000000000000ULL
-#define     SPCM_MON_V_MEMAUXA          0x0010000000000000ULL
-#define     SPCM_MON_V_MEMAUXB          0x0020000000000000ULL
-#define     SPCM_MON_V_VCCAUX           0x0040000000000000ULL
-
-#define     SPCM_MON_T_BASE_0           0x0080000000000000ULL
-#define     SPCM_MON_T_BASE_1           0x0100000000000000ULL
-#define     SPCM_MON_RPM_FAN0           0x0200000000000000ULL
-#define     SPCM_MON_RPM_FAN1           0x0400000000000000ULL
-
-#define     SPCM_MON_I_CORE             0x0800000000000000ULL
-#define     SPCM_MON_V_CORE_REMOTE      0x1000000000000000ULL
-
-
-#define SPC_AVAILMONITORS1           510001l
-#define     SPCM_MON_V_MOD_0            0x0000000000000001ULL
-#define     SPCM_MON_V_MOD_1            0x0000000000000002ULL
-#define     SPCM_MON_V_MOD_2            0x0000000000000004ULL
-#define     SPCM_MON_V_MOD_3            0x0000000000000008ULL
-#define     SPCM_MON_V_MOD_4            0x0000000000000010ULL
-#define     SPCM_MON_V_MOD_5            0x0000000000000020ULL
-#define     SPCM_MON_V_MOD_6            0x0000000000000040ULL
-#define     SPCM_MON_V_MOD_7            0x0000000000000080ULL
-#define     SPCM_MON_V_MOD_8            0x0000000000000100ULL
-#define     SPCM_MON_V_MOD_9            0x0000000000000200ULL
-#define     SPCM_MON_V_MOD_10           0x0000000000000400ULL
-
-
-
-// ----- re-located multi-purpose i/o related registers -----
-#define SPC_X0_READFEATURES         600000l
-#define SPC_X1_READFEATURES         600001l
-#define SPC_X2_READFEATURES         600002l
-#define SPC_X3_READFEATURES         600003l
-#define SPC_X4_READFEATURES         600004l
-#define SPC_X5_READFEATURES         600005l
-#define SPC_X6_READFEATURES         600006l
-#define SPC_X7_READFEATURES         600007l
-#define SPC_X8_READFEATURES         600008l
-#define SPC_X9_READFEATURES         600009l
-#define SPC_X10_READFEATURES        600010l
-#define SPC_X11_READFEATURES        600011l
-#define SPC_X12_READFEATURES        600012l
-#define SPC_X13_READFEATURES        600013l
-#define SPC_X14_READFEATURES        600014l
-#define SPC_X15_READFEATURES        600015l
-#define SPC_X16_READFEATURES        600016l
-#define SPC_X17_READFEATURES        600017l
-#define SPC_X18_READFEATURES        600018l
-#define SPC_X19_READFEATURES        600019l
-#define     SPCM_XFEAT_TERM             0x00000001
-#define     SPCM_XFEAT_HIGHIMP          0x00000002
-#define     SPCM_XFEAT_DCCOUPLING       0x00000004
-#define     SPCM_XFEAT_ACCOUPLING       0x00000008
-#define     SPCM_XFEAT_SE               0x00000010
-#define     SPCM_XFEAT_DIFF             0x00000020
-#define     SPCM_XFEAT_PROGTHRESHOLD    0x00000040
-
-#define SPC_X0_TERM                600100l
-#define SPC_X1_TERM                600101l
-#define SPC_X2_TERM                600102l
-#define SPC_X3_TERM                600103l
-#define SPC_X4_TERM                600104l
-#define SPC_X5_TERM                600105l
-#define SPC_X6_TERM                600106l
-#define SPC_X7_TERM                600107l
-#define SPC_X8_TERM                600108l
-#define SPC_X9_TERM                600109l
-#define SPC_X10_TERM               600110l
-#define SPC_X11_TERM               600111l
-#define SPC_X12_TERM               600112l
-#define SPC_X13_TERM               600113l
-#define SPC_X14_TERM               600114l
-#define SPC_X15_TERM               600115l
-#define SPC_X16_TERM               600116l
-#define SPC_X17_TERM               600117l
-#define SPC_X18_TERM               600118l
-#define SPC_X19_TERM               600119l
-
-#define SPCM_X0_MODE                600200l
-#define SPCM_X1_MODE                600201l
-#define SPCM_X2_MODE                600202l
-#define SPCM_X3_MODE                600203l
-#define SPCM_X4_MODE                600204l
-#define SPCM_X5_MODE                600205l
-#define SPCM_X6_MODE                600206l
-#define SPCM_X7_MODE                600207l
-#define SPCM_X8_MODE                600208l
-#define SPCM_X9_MODE                600209l
-#define SPCM_X10_MODE               600210l
-#define SPCM_X11_MODE               600211l
-#define SPCM_X12_MODE               600212l
-#define SPCM_X13_MODE               600213l
-#define SPCM_X14_MODE               600214l
-#define SPCM_X15_MODE               600215l
-#define SPCM_X16_MODE               600216l
-#define SPCM_X17_MODE               600217l
-#define SPCM_X18_MODE               600218l
-#define SPCM_X19_MODE               600219l
-
-#define SPCM_X0_AVAILMODES          600300l
-#define SPCM_X1_AVAILMODES          600301l
-#define SPCM_X2_AVAILMODES          600302l
-#define SPCM_X3_AVAILMODES          600303l
-#define SPCM_X4_AVAILMODES          600304l
-#define SPCM_X5_AVAILMODES          600305l
-#define SPCM_X6_AVAILMODES          600306l
-#define SPCM_X7_AVAILMODES          600307l
-#define SPCM_X8_AVAILMODES          600308l
-#define SPCM_X9_AVAILMODES          600309l
-#define SPCM_X10_AVAILMODES         600310l
-#define SPCM_X11_AVAILMODES         600311l
-#define SPCM_X12_AVAILMODES         600312l
-#define SPCM_X13_AVAILMODES         600313l
-#define SPCM_X14_AVAILMODES         600314l
-#define SPCM_X15_AVAILMODES         600315l
-#define SPCM_X16_AVAILMODES         600316l
-#define SPCM_X17_AVAILMODES         600317l
-#define SPCM_X18_AVAILMODES         600318l
-#define SPCM_X19_AVAILMODES         600319l
-// for definitions of the available modes see section at SPCM_LEGACY_X0_MODE above
-
-#define SPC_XIO_PULSEGEN0_MODE      601000l
-#define SPC_XIO_PULSEGEN1_MODE      601100l
-#define SPC_XIO_PULSEGEN2_MODE      601200l
-#define SPC_XIO_PULSEGEN3_MODE      601300l
-#define     SPCM_PULSEGEN_MODE_GATED         1
-#define     SPCM_PULSEGEN_MODE_TRIGGERED     2
-#define     SPCM_PULSEGEN_MODE_SINGLESHOT    3
-
-#define SPC_XIO_PULSEGEN0_LEN       601001l
-#define SPC_XIO_PULSEGEN1_LEN       601101l
-#define SPC_XIO_PULSEGEN2_LEN       601201l
-#define SPC_XIO_PULSEGEN3_LEN       601301l
-
-#define SPC_XIO_PULSEGEN0_HIGH      601002l
-#define SPC_XIO_PULSEGEN1_HIGH      601102l
-#define SPC_XIO_PULSEGEN2_HIGH      601202l
-#define SPC_XIO_PULSEGEN3_HIGH      601302l
-
-#define SPC_XIO_PULSEGEN0_DELAY    601003l
-#define SPC_XIO_PULSEGEN1_DELAY    601103l
-#define SPC_XIO_PULSEGEN2_DELAY    601203l
-#define SPC_XIO_PULSEGEN3_DELAY    601303l
-
-#define SPC_XIO_PULSEGEN0_LOOPS     601004l
-#define SPC_XIO_PULSEGEN1_LOOPS     601104l
-#define SPC_XIO_PULSEGEN2_LOOPS     601204l
-#define SPC_XIO_PULSEGEN3_LOOPS     601304l
-
-#define SPC_XIO_PULSEGEN0_MUX1_SRC  601005l
-#define SPC_XIO_PULSEGEN1_MUX1_SRC  601105l
-#define SPC_XIO_PULSEGEN2_MUX1_SRC  601205l
-#define SPC_XIO_PULSEGEN3_MUX1_SRC  601305l
-#define     SPCM_PULSEGEN_MUX1_SRC_UNUSED      0
-#define     SPCM_PULSEGEN_MUX1_SRC_RUN         1
-#define     SPCM_PULSEGEN_MUX1_SRC_ARM         2
-
-#define SPC_XIO_PULSEGEN0_MUX2_SRC  601006l
-#define SPC_XIO_PULSEGEN1_MUX2_SRC  601106l
-#define SPC_XIO_PULSEGEN2_MUX2_SRC  601206l
-#define SPC_XIO_PULSEGEN3_MUX2_SRC  601306l
-#define     SPCM_PULSEGEN_MUX2_SRC_UNUSED      0
-#define     SPCM_PULSEGEN_MUX2_SRC_SOFTWARE    1
-#define     SPCM_PULSEGEN_MUX2_SRC_CARDTRIGGER 2
-#define     SPCM_PULSEGEN_MUX2_SRC_PULSEGEN0   3
-#define     SPCM_PULSEGEN_MUX2_SRC_PULSEGEN1   4
-#define     SPCM_PULSEGEN_MUX2_SRC_PULSEGEN2   5
-#define     SPCM_PULSEGEN_MUX2_SRC_PULSEGEN3   6
-#define     SPCM_PULSEGEN_MUX2_SRC_XIO0        7
-#define     SPCM_PULSEGEN_MUX2_SRC_XIO1        8
-#define     SPCM_PULSEGEN_MUX2_SRC_XIO2        9
-#define     SPCM_PULSEGEN_MUX2_SRC_XIO3       10
-
-#define SPC_XIO_PULSEGEN0_CONFIG    601007l
-#define SPC_XIO_PULSEGEN1_CONFIG    601107l
-#define SPC_XIO_PULSEGEN2_CONFIG    601207l
-#define SPC_XIO_PULSEGEN3_CONFIG    601307l
-#define     SPCM_PULSEGEN_CONFIG_MUX1_INVERT 0x1
-#define     SPCM_PULSEGEN_CONFIG_MUX2_INVERT 0x2
-#define     SPCM_PULSEGEN_CONFIG_INVERT      0x4
-#define     SPCM_PULSEGEN_CONFIG_HIGH        0x8
-
-#define SPC_XIO_PULSEGEN_ENABLE    601500l
-#define     SPCM_PULSEGEN_ENABLE0        0x01
-#define     SPCM_PULSEGEN_ENABLE1        0x02
-#define     SPCM_PULSEGEN_ENABLE2        0x04
-#define     SPCM_PULSEGEN_ENABLE3        0x08
-
-#define SPC_XIO_PULSEGEN_COMMAND    601501l
-#define     SPCM_PULSEGEN_CMD_FORCE          0x1
-
-#define SPC_XIO_PULSEGEN_CLOCK              602000l
-#define SPC_XIO_PULSEGEN_AVAILLEN_MIN       602001l
-#define SPC_XIO_PULSEGEN_AVAILLEN_MAX       602002l
-#define SPC_XIO_PULSEGEN_AVAILLEN_STEP      602003l
-#define SPC_XIO_PULSEGEN_AVAILHIGH_MIN      602004l
-#define SPC_XIO_PULSEGEN_AVAILHIGH_MAX      602005l
-#define SPC_XIO_PULSEGEN_AVAILHIGH_STEP     602006l
-#define SPC_XIO_PULSEGEN_AVAILDELAY_MIN     602007l
-#define SPC_XIO_PULSEGEN_AVAILDELAY_MAX     602008l
-#define SPC_XIO_PULSEGEN_AVAILDELAY_STEP    602009l
-#define SPC_XIO_PULSEGEN_AVAILLOOPS_MIN     602010l
-#define SPC_XIO_PULSEGEN_AVAILLOOPS_MAX     602011l
-#define SPC_XIO_PULSEGEN_AVAILLOOPS_STEP    602012l
-
-// ----- Hardware registers (debug use only) -----
-#define SPC_REG0x00                 900000l
-#define SPC_REG0x02                 900010l
-#define SPC_REG0x04                 900020l
-#define SPC_REG0x06                 900030l
-#define SPC_REG0x08                 900040l
-#define SPC_REG0x0A                 900050l
-#define SPC_REG0x0C                 900060l
-#define SPC_REG0x0E                 900070l
-
-#define SPC_DEBUGREG0               900100l
-#define SPC_DEBUGREG15              900115l
-#define SPC_DEBUGVALUE0             900200l
-#define SPC_DEBUGVALUE15            900215l
-
-#define SPC_MI_ISP                  901000l
-#define     ISP_TMS_0                   0l
-#define     ISP_TMS_1                   1l
-#define     ISP_TDO_0                   0l
-#define     ISP_TDO_1                   2l
-
-
-#define SPC_EE_RWAUTH               901100l
-#define SPC_EE_REG                  901110l
-#define SPC_EE_RESETCOUNTER         901120l
-
-// ----- Test Registers -----
-#define SPC_TEST_BASE               902000l
-#define SPC_TEST_LOCAL_START        902100l
-#define SPC_TEST_LOCAL_END          902356l
-#define SPC_TEST_PLX_START          902400l
-#define SPC_TEST_PLX_END            902656l
-
-// 9012xx not usable
-// 901900 not usable
-// 903000 not usable
-// 91xxxx not usable
-
-// ----- used by GetErrorInfo to mark errors in other functions than SetParam/GetParam -----
-#define SPC_FUNCTION_DEFTRANSFER 100000000l
diff --git a/Cpp/examples/c_cpp/c_header/spcerr.h b/Cpp/examples/c_cpp/c_header/spcerr.h
deleted file mode 100644
index 25ba925fb7fe8544741e712a2da8b6ef57f01d15..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/c_header/spcerr.h
+++ /dev/null
@@ -1,104 +0,0 @@
-
-// ***********************************************************************
-//
-// SpcErr.h                                        (c) Spectrum GmbH, 2006
-//
-// ***********************************************************************
-//
-// error codes of the Spectrum drivers. Until may 2004 this file was 
-// errors.h. Name has been changed because errors.h has been already in 
-// use by windows.
-//
-// ***********************************************************************
-
-#define SPCM_ERROR_ORIGIN_MASK       0x80000000 // this bit marks the origin of the error
-#define SPCM_ERROR_ORIGIN_LOCAL      0x00000000 // error occured on local system
-#define SPCM_ERROR_ORIGIN_REMOTE     0x80000000 // error occured on remote system (netbox)
-
-#define ERR_OK               0x0000      //   0 No Error
-#define ERR_INIT             0x0001      //   1 Initialisation error
-#define ERR_NR               0x0002      //   2 Board number out of range
-#define ERR_TYP              0x0003      //   3 Unknown board Typ
-#define ERR_FNCNOTSUPPORTED  0x0004      //   4 This function is not supported by the hardware
-#define ERR_BRDREMAP         0x0005      //   5 The Board Index Remap table is wrong
-#define ERR_KERNELVERSION    0x0006      //   6 The kernel version and the dll version are mismatching
-#define ERR_HWDRVVERSION     0x0007      //   7 The driver version doesn't match the minimum requirements of the board
-#define ERR_ADRRANGE         0x0008      //   8 The address range is disabled (fatal error)
-#define ERR_INVALIDHANDLE    0x0009      //   9 Handle not valid
-#define ERR_BOARDNOTFOUND    0x000A      //  10 Card with given name hasn't been found
-#define ERR_BOARDINUSE       0x000B      //  11 Card with given name is already in use by another application
-#define ERR_EXPHW64BITADR    0x000C      //  12 Express hardware version not able to handle 64 bit addressing -> update needed
-#define ERR_FWVERSION        0x000D      //  13 Firmware versions of synchronized cards or for this driver do not match -> update needed
-#define ERR_SYNCPROTOCOL     0x000E      //  14 Synchronization protocol of synchronized cards does not match -> update needed
-#define ERR_KERNEL           0x000F      //  15 Some error occurred in the kernel driver
-#define ERR_LASTERR          0x0010      //  16 Old Error waiting to be read
-#define ERR_ABORT            0x0020      //  32 Abort of wait function
-#define ERR_BOARDLOCKED      0x0030      //  48 Board acess already locked by another process. it's not possible to acess one board through multiple processes
-#define ERR_DEVICE_MAPPING   0x0032      //  50 Device is mapped to an invalid device
-#define ERR_NETWORKSETUP     0x0040      //  64 Network setup failed
-#define ERR_NETWORKTRANSFER  0x0041      //  65 Network data transfer failed
-#define ERR_FWPOWERCYCLE     0x0042      //  66 Power cycle needed to update card's firmware (simple PC reboot not sufficient !)
-#define ERR_NETWORKTIMEOUT   0x0043      //  67 Network timeout
-#define ERR_BUFFERSIZE       0x0044      //  68 Buffer too small
-#define ERR_RESTRICTEDACCESS 0x0045      //  69 access to card has been restricted
-#define ERR_INVALIDPARAM     0x0046      //  70 invalid parameter for function
-#define ERR_TEMPERATURE      0x0047      //  71 card temperature too high
-#define ERR_FAN              0x0048      //  72 fan speed too low
-
-#define ERR_REG              0x0100      // 256 unknown Register for this Board
-#define ERR_VALUE            0x0101      // 257 Not a possible value in this state
-#define ERR_FEATURE          0x0102      // 258 Feature of the board not installed
-#define ERR_SEQUENCE         0x0103      // 259 Channel sequence not allowed
-#define ERR_READABORT        0x0104      // 260 Read not allowed after abort
-#define ERR_NOACCESS         0x0105      // 261 Access to this register denied
-#define ERR_POWERDOWN        0x0106      // 262 not allowed in Powerdown mode
-#define ERR_TIMEOUT          0x0107      // 263 timeout occured while waiting for interrupt
-#define ERR_CALLTYPE         0x0108      // 264 call type (int32 mux) is not allowed for this register
-#define ERR_EXCEEDSINT32     0x0109      // 265 return value is int32 but software register exceeds the 32 bit integer range -> use 2x32 or 64
-#define ERR_NOWRITEALLOWED   0x010A      // 266 register cannot be written, read only
-#define ERR_SETUP            0x010B      // 267 the setup isn't valid
-#define ERR_CLOCKNOTLOCKED   0x010C      // 268 clock section not locked: perhaps no external clock signal connected or not stable
-#define ERR_MEMINIT          0x010D      // 269 on-board memory initialization error
-#define ERR_POWERSUPPLY      0x010E      // 270 on-board power supply error
-#define ERR_ADCCOMMUNICATION 0x010F      // 271 communication with ADC failed
-#define ERR_CHANNEL          0x0110      // 272 Wrong number of Channel to be read out
-#define ERR_NOTIFYSIZE       0x0111      // 273 Notify block size isn't valid
-#define ERR_RUNNING          0x0120      // 288 Board is running, changes not allowed
-#define ERR_ADJUST           0x0130      // 304 Auto Adjust has an error
-#define ERR_PRETRIGGERLEN    0x0140      // 320 pretrigger length exceeds allowed values
-#define ERR_DIRMISMATCH      0x0141      // 321 direction of card and memory transfer mismatch
-#define ERR_POSTEXCDSEGMENT  0x0142      // 322 posttrigger exceeds segment size in multiple recording mode
-#define ERR_SEGMENTINMEM     0x0143      // 323 memsize is not a multiple of segmentsize, last segment hasn't full length
-#define ERR_MULTIPLEPW       0x0144      // 324 multiple pulsewidth counters used but card only supports one at the time
-#define ERR_NOCHANNELPWOR    0x0145      // 325 channel pulsewidth can't be OR'd
-#define ERR_ANDORMASKOVRLAP  0x0146      // 326 AND mask and OR mask overlap in at least one channel -> not possible
-#define ERR_ANDMASKEDGE      0x0147      // 327 AND mask together with edge trigger mode is not allowed
-#define ERR_ORMASKLEVEL      0x0148      // 328 OR mask together with level trigger mode is not allowed
-#define ERR_EDGEPERMOD       0x0149      // 329 All trigger edges must be simular on one module
-#define ERR_DOLEVELMINDIFF   0x014A      // 330 minimum difference between low output level and high output level not reached
-#define ERR_STARHUBENABLE    0x014B      // 331 card holding the star-hub must be active for sync
-#define ERR_PATPWSMALLEDGE   0x014C      // 332 Combination of pattern with pulsewidht smaller and edge is not allowed
-#define ERR_XMODESETUP       0x014D      // 333 The chosen setup for (SPCM_X0_MODE .. SPCM_X19_MODE) is not valid. See hardware manual for details.
-#define ERR_AVRG_TDA         0x014E      // 334 Setup for Average TDA Mode not valid. Check Threshold and Replacement values for chosen AVRGMODE.
-
-#define ERR_NOPCI            0x0200      // 512 No PCI bus found
-#define ERR_PCIVERSION       0x0201      // 513 Wrong PCI bus version
-#define ERR_PCINOBOARDS      0x0202      // 514 No Spectrum PCI boards found
-#define ERR_PCICHECKSUM      0x0203      // 515 Checksum error on PCI board
-#define ERR_DMALOCKED        0x0204      // 516 DMA buffer in use, try later
-#define ERR_MEMALLOC         0x0205      // 517 Memory Allocation error
-#define ERR_EEPROMLOAD       0x0206      // 518 EEProm load error
-#define ERR_CARDNOSUPPORT    0x0207      // 519 no support for that card in the library
-#define ERR_CONFIGACCESS     0x0208      // 520 error occured during config write or read
-
-#define ERR_FIFOBUFOVERRUN   0x0300      // 768 Buffer overrun in FIFO mode
-#define ERR_FIFOHWOVERRUN    0x0301      // 769 hardware buffer overrun (acquisition) or underrun (replay) in FIFO mode
-#define ERR_FIFOFINISHED     0x0302      // 770 FIFO transfer hs been finished. Number of buffers has been transferred
-#define ERR_FIFOSETUP        0x0309      // 777 FIFO setup not possible, transfer rate to high (max 250 MB/s)
-
-#define ERR_TIMESTAMP_SYNC   0x0310      // 784 Synchronisation to ref clock failed
-#define ERR_STARHUB          0x0320      // 800 Autorouting of Starhub failed
-
-#define ERR_INTERNAL_ERROR   0xFFFF      // 65535 Internal hardware error detected, please check for update
-
-
diff --git a/Cpp/examples/c_cpp/c_header/spcioctl.inc b/Cpp/examples/c_cpp/c_header/spcioctl.inc
deleted file mode 100644
index cf7db32c93114894a7ce83b151179d60dfe3248f..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/c_header/spcioctl.inc
+++ /dev/null
@@ -1,93 +0,0 @@
-// ****************************************************************************
-// spcioctl.inc
-// ****************************************************************************
-// include source code for easy access of the ioctl and data transfer commands
-// of the spectrum driver.
-// ****************************************************************************
-
-
-
-// ----- ioctl_GetParam -----------------------------------
-int16 SpcGetParam (int hDrv, int32 lReg, int32 *plValue)
-	{
-	int32 lData[2];
-	int16 nRet;
-
-	lData[0] = lReg;
-	nRet = ioctl (hDrv, GETPARAM, lData);
-	*plValue = lData[1];
-
-	return nRet;
-	}
-
-// ----- ioctl_SetParam -----------------------------------
-int16 SpcSetParam (int hDrv, int32 lReg, int32 lValue) 
-	{
-	int32 lData[2];
-	
-	lData[0] = lReg;
-	lData[1] = lValue;
-
-	return ioctl(hDrv, SETPARAM, lData);
-	}
-
-
-
-// ----- ioctl_GetAdr -----------------------------------
-int16 SpcGetAdr (int hDrv, int32 lReg, void** ppvAdr)
-	{
-	int16 nRet;
-	_SETGETADR stSetGetAdr;
-
-	stSetGetAdr.lReg = lReg;
-	nRet = ioctl (hDrv, GETADR, &stSetGetAdr);
-	(*ppvAdr) = stSetGetAdr.pvAdr;
-
-	return nRet;
-	}
-
-// ----- ioctl_SetAdr -----------------------------------
-int16 SpcSetAdr (int hDrv, int32 lReg, void* pvAdr)
-	{
-	int16 nRet;
-	_SETGETADR stSetGetAdr;
-
-	stSetGetAdr.lReg = lReg;
-	stSetGetAdr.pvAdr = pvAdr;
-	nRet = ioctl (hDrv, SETADR, &stSetGetAdr);
-
-	return nRet;
-	}
-
-
-
-// ----- ioctl_GetData ------------------------------------
-int32 SpcGetData (int hDrv, int32 lCh, int32 lStart, int32 lLen, int16 nBytesPerSample, dataptr pvData)
-	{
-	int32 lRet;
-	int32 lData[1];
-	lData[0] = lCh;
-
-	ioctl (hDrv, SETCH, lData);
-
- 	lseek (hDrv, lStart * nBytesPerSample, SEEK_SET);
-	lRet = read (hDrv, pvData, nBytesPerSample * lLen);
-
-	return lRet;
-	}
-
-// ----- ioctl_SetData ------------------------------------
-int32 SpcSetData (int hDrv, int32 lCh, int32 lStart, int32 lLen, int16 nBytesPerSample, dataptr pvData)
-	{
-	int32 lRet;
-	int32 lData[1];
-	
-	lData[0] = lCh;
-
-	ioctl (hDrv, SETCH, lData);
-
-	lseek (hDrv, lStart * nBytesPerSample, SEEK_SET);
-	lRet = write (hDrv, pvData, nBytesPerSample * lLen);
-
-	return lRet;
-	}
diff --git a/Cpp/examples/c_cpp/c_header/spclib_bcc.lib b/Cpp/examples/c_cpp/c_header/spclib_bcc.lib
deleted file mode 100644
index fe98a9d8b0a8f32f9a7d839251502e2fb362778a..0000000000000000000000000000000000000000
Binary files a/Cpp/examples/c_cpp/c_header/spclib_bcc.lib and /dev/null differ
diff --git a/Cpp/examples/c_cpp/c_header/spcm_drv.h b/Cpp/examples/c_cpp/c_header/spcm_drv.h
deleted file mode 100644
index a7e17a9e319b22f37766cf77efeeeffce2eb7561..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/c_header/spcm_drv.h
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
-**************************************************************************
-
-spcm_interface.h                               (c) Spectrum GmbH , 08/2005
-
-**************************************************************************
-
-Interface of the spectrum driver for all M2I cards. 
-
-**************************************************************************
-*/
-
-
-
-/*
-**************************************************************************
-
-open/close: 
-opens and closes the specified board. The returned handle is used by all
-function calls. The device name is operating system specific. Under
-linux it's normally "/dev/spcm0" for card#0 and under windows it's "spc0"
-In a synchronized system the starhub has it's own handle, received under
-the device name "starhub"
-
-***************************************************************************
-*/
-
-// tries to open the device and returns handle or error code
-SPCM_IMPORT drv_handle _stdcall spcm_hOpen (
-    const char* szDeviceName);          // name of the device to be opened
-
-//*************************************************************************
-
-// closes the device
-SPCM_IMPORT void _stdcall spcm_vClose (             
-    drv_handle  hDevice);               // handle to an already opened device
-
-
-
-
-
-/*
-**************************************************************************
-
-SetParam and GetParam: 
-handles the register based access to the driver. Each functionality is
-programmed by accessing one of the software registers of the driver
-
-Functions are declared as i32 for single 32 bit integer access, i64 for 
-single 64 bit integer access or 64m for multiplexed 64 bit integer access 
-consisting one 32 bit integer high-part and one 32 bit unsigned integer 
-low part. 
-
-Most software registers are only handled by the i32 or i64 function and 
-are then not allowed to be accessed by i64m functions. Some registers 
-can be more than 32 bit wide. They can be accessed by any of the 
-functions. If accessed by the i32 function the value is limited to the 
-32 bit signed integer area.
-
-***************************************************************************
-*/
-
-// Sets a software register using 1 x 32 bit integer value. Return value is an error code
-SPCM_IMPORT uint32 _stdcall spcm_dwSetParam_i32 (   
-    drv_handle  hDevice,                // handle to an already opened device
-    int32       lRegister,              // software register to be modified
-    int32       lValue);                // the value to be set
-
-//*************************************************************************
-
-// Sets a software register using 2 x 32 bit integer value. Return value is an error code
-SPCM_IMPORT uint32 _stdcall spcm_dwSetParam_i64m (  
-    drv_handle  hDevice,                // handle to an already opened device
-    int32       lRegister,              // software register to be modified
-    int32       lValueHigh,             // upper 32 bit of the value. Containing the sign bit !
-    uint32      dwValueLow);            // lower 32 bit of the value.
-
-//*************************************************************************
-
-// Sets a software register using 1 x 64 bit integer value. Return value is an error code
-SPCM_IMPORT uint32 _stdcall spcm_dwSetParam_i64 (   
-    drv_handle  hDevice,                // handle to an already opened device
-    int32       lRegister,              // software register to be modified
-    int64       llValue);               // the value to be set
-
-
-
-//*************************************************************************
-//*************************************************************************
-
-// Reads out a software register using 1 x 32 bit integer value. Return value is an error code
-SPCM_IMPORT uint32 _stdcall spcm_dwGetParam_i32 (   
-    drv_handle  hDevice,                // handle to an already opened device
-    int32       lRegister,              // software register to be read out
-    int32*      plValue);               // pointer for the return value
-
-//*************************************************************************
-
-// Reads out a software register using 2 x 32 bit integer value. Return value is an error code
-SPCM_IMPORT uint32 _stdcall spcm_dwGetParam_i64m (  
-    drv_handle  hDevice,                // handle to an already opened device
-    int32       lRegister,              // software register to be read out
-    int32*      plValueHigh,            // pointer for the upper part of the return value
-    uint32*     pdwValueLow);           // pointer for the lower part of the return value
-
-//*************************************************************************
-
-// Reads out a software register using 1 x 64 bit integer value. Return value is an error code
-SPCM_IMPORT uint32 _stdcall spcm_dwGetParam_i64 (   
-    drv_handle  hDevice,                // handle to an already opened device
-    int32       lRegister,              // software register to be read out
-    int64*      pllValue);              // pointer for the return value
-
-
-
-
-/*
-**************************************************************************
-
-DefTransfer:
-sets up all needed information for the next data transfer. Data transfer
-itself is started by an extra register command.
-
-The function needs 64 bit unsigned integer values. Therefore it is 
-available as an i64m type, consisting of one upper 32 bit uint and one
-lower 32 bit uint value. And it is availabl as a true 64 bit version.
-
-Offset and length are both given in samples. As data is multiplexed the
-transfer buffer in PC memory must be large enough to handle 
-[length x channels] entries
-
-***************************************************************************
-*/
-
-// defintions of the transfer direction
-#define SPCM_DIR_PCTOCARD   0           // transfer from PC memory to card memory
-#define SPCM_DIR_CARDTOPC   1           // transfer from card memory to PC memory
-#define SPCM_DIR_CARDTOGPU  2           // RDMA transfer from card memory to GPU memory
-#define SPCM_DIR_GPUTOCARD  3           // RDMA transfer from GPU memory to card memory
-
-// defintions of the different data buffers
-#define SPCM_BUF_DATA       1000        // main data buffer for acquired or generated samples
-#define SPCM_BUF_ABA        2000        // buffer for ABA data, holds the A-DATA (slow samples)
-#define SPCM_BUF_TIMESTAMP  3000        // buffer for timestamps
-#define SPCM_BUF_LOG        4000        // write content of buffer to log file
-
-//*************************************************************************
-
-// Defines the transer buffer by using 2 x 32 bit unsigned integer values for each 64 bit value
-SPCM_IMPORT uint32 _stdcall spcm_dwDefTransfer_i64m(
-    drv_handle  hDevice,                // handle to an already opened device
-    uint32      dwBufType,              // type of the buffer to define as listed above under SPCM_BUF_XXXX
-    uint32      dwDirection,            // the transfer direction as defined above
-    uint32      dwNotifySize,           // amount of bytes after which i want do receive an event (0=end of transfer) 
-    void*       pvDataBuffer,           // pointer to the data buffer
-    uint32      dwBrdOffsH,             // high part of offset in board memory
-    uint32      dwBrdOffsL,             // low part of offset in board memory
-    uint32      dwTransferLenH,         // high part of transfer buffer length
-    uint32      dwTransferLenL);        // low part of transfer buffer length
-
-//*************************************************************************
-
-// Defines the transer buffer by using 64 bit unsigned integer values
-SPCM_IMPORT uint32 _stdcall spcm_dwDefTransfer_i64 (
-    drv_handle  hDevice,                // handle to an already opened device
-    uint32      dwBufType,              // type of the buffer to define as listed above under SPCM_BUF_XXXX
-    uint32      dwDirection,            // the transfer direction as defined above
-    uint32      dwNotifySize,           // amount of bytes after which i want do receive an event (0=end of transfer) 
-    void*       pvDataBuffer,           // pointer to the data buffer
-    uint64      qwBrdOffs,              // offset for transfer in board memory
-    uint64      qwTransferLen);         // buffer length
-
-//*************************************************************************
-
-// invalidate the transfer buffer (is automatically performed if new transfer buffer is defined with DefTransfer)
-SPCM_IMPORT uint32 _stdcall spcm_dwInvalidateBuf (  
-    drv_handle  hDevice,                // handle to an already opened device
-    uint32      dwBufType);             // type of the buffer to invalidate as listed above under SPCM_BUF_XXXX
-
-
-
-/*
-**************************************************************************
-
-GetContBuf
-reads out the internal continuous memory buffer if one has been allocated
-this continuous buffer allows faster data transfer especially on Express cards
-
-***************************************************************************
-*/
-
-SPCM_IMPORT uint32 _stdcall spcm_dwGetContBuf_i64 (
-    drv_handle  hDevice,                // handle to an already opened device
-    uint32      dwBufType,              // type of the buffer to read as listed above under SPCM_BUF_XXXX
-    void**      ppvDataBuffer,          // address of available data buffer
-    uint64*     pqwContBufLen);         // length of available continuous buffer
-
-//*************************************************************************
-
-SPCM_IMPORT uint32 _stdcall spcm_dwGetContBuf_i64m (
-    drv_handle  hDevice,                // handle to an already opened device
-    uint32      dwBufType,              // type of the buffer to read as listed above under SPCM_BUF_XXXX
-    void**      ppvDataBuffer,          // address of available data buffer
-    uint32*     pdwContBufLenH,         // high part of length of available continuous buffer
-    uint32*     pdwContBufLenL);        // low part of length of available continuous buffer
-
-
-
-/*
-**************************************************************************
-
-GetErrorInfo:
-reads out the complete error information that is stored in the driver. 
-internal error locking is afterwards reset.
-If hDevice is zero the last open error is returned.
-
-***************************************************************************
-*/
-
-SPCM_IMPORT uint32 _stdcall spcm_dwGetErrorInfo_i32 (
-    drv_handle  hDevice,                // handle to an already opened device
-    uint32*     pdwErrorReg,            // adress of the error register (can zero if not of interest)
-    int32*      plErrorValue,           // adress of the error value (can zero if not of interest)
-    char        pszErrorTextBuffer[ERRORTEXTLEN]); // text buffer for text error 
-
-
-
-/*
-**************************************************************************
-
-StartEBox:
-starts the ethernet box by instanciate the kernelhandle_lan_ebox.
-The ethernet box is the server with a card with is waiting for 
-request by lan-client (host pc).
-
-***************************************************************************
-*/
-
-SPCM_IMPORT uint32 _stdcall spcm_dwStartEBox ();
-
-
-
-/*
-**************************************************************************
-
-dwDiscovery:
-the lan-client (host pc) starts a broadcast request and wait for a answer 
-with the VISA string. 
-A VISA string contains the ip address of the ethernet box.
-
-***************************************************************************
-*/
-
-SPCM_IMPORT uint32 _stdcall spcm_dwDiscovery (
-    char** pszVisaString,           // user-allocated array of C-strings to return the VISA strings
-    uint32 dwMaxNoOfDevices,        // the maximum number of devices to be returned
-    uint32 dwMaxVisaLen,            // maximum length of one entry in pszVisaString
-    uint32 dwTimeout);              // time in milli seconds that the function will wait until each device has answered.
-
-
-
-/*
-**************************************************************************
-
-dwWriteIDNRequest:
-the lan-client (host pc) sends a "IDN" request to the ethernet box.
-So the ethernet box will send a message which contains the manufacturer, 
-the model, the serial number and the firmware version
-
-***************************************************************************
-*/
-
-SPCM_IMPORT uint32 _stdcall spcm_dwSendIDNRequest (
-    char** szIdnString,                 //the IDN string looks like that: <manufacturer>,<model>,<serial number>,<firmware version>
-    uint32 dwNoOfDevices, 
-    uint32 dwIdnStringLen);            //string which contains manufacturer, the model, the serial number and the firmware version
diff --git a/Cpp/examples/c_cpp/c_header/spcm_win32_bcppb.lib b/Cpp/examples/c_cpp/c_header/spcm_win32_bcppb.lib
deleted file mode 100644
index 2f022cdce6c5c1bb719ffbe9b8aca3821eba47f1..0000000000000000000000000000000000000000
Binary files a/Cpp/examples/c_cpp/c_header/spcm_win32_bcppb.lib and /dev/null differ
diff --git a/Cpp/examples/c_cpp/c_header/spcm_win32_cvi.lib b/Cpp/examples/c_cpp/c_header/spcm_win32_cvi.lib
deleted file mode 100644
index db3b2cd1fdaba87b14e2229f07063d7f8f34600b..0000000000000000000000000000000000000000
Binary files a/Cpp/examples/c_cpp/c_header/spcm_win32_cvi.lib and /dev/null differ
diff --git a/Cpp/examples/c_cpp/c_header/spcm_win32_msvcpp.lib b/Cpp/examples/c_cpp/c_header/spcm_win32_msvcpp.lib
deleted file mode 100644
index 33b1f5db3cf4072985782304eaf0e473598e706a..0000000000000000000000000000000000000000
Binary files a/Cpp/examples/c_cpp/c_header/spcm_win32_msvcpp.lib and /dev/null differ
diff --git a/Cpp/examples/c_cpp/c_header/spcm_win64_msvcpp.lib b/Cpp/examples/c_cpp/c_header/spcm_win64_msvcpp.lib
deleted file mode 100644
index 07dee37fde851192cad0f13cb88f61af9a7d26bd..0000000000000000000000000000000000000000
Binary files a/Cpp/examples/c_cpp/c_header/spcm_win64_msvcpp.lib and /dev/null differ
diff --git a/Cpp/examples/c_cpp/c_header/spectrum.h b/Cpp/examples/c_cpp/c_header/spectrum.h
deleted file mode 100644
index 77ca4fb47d8439b1b7707cd8010388c578b66b90..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/c_header/spectrum.h
+++ /dev/null
@@ -1,11 +0,0 @@
-HEAD  SpcInitPCIBoards  (int16 *pnCount, int16 *pnPCIVersion);
-HEAD  SpcInitBoard      (int16 nNr, int16 nTyp);
-HEAD  SpcSetParam       (int16 nNr, int32 lReg, int32 lValue);
-HEAD  SpcGetParam       (int16 nNr, int32 lReg, int32 *plValue);
-HEAD  SpcGetData        (int16 nNr, int16 nCh, int32 lStart, int32 lLen, dataptr pvData);
-HEAD  SpcSetData        (int16 nNr, int16 nCh, int32 lStart, int32 lLen, dataptr pvData);
-HEAD  SpcGetVersionInfo (char *pszBuffer, int nBufferLen);
-
-// these functions are only needed under 64 bit Linux to set FIFO adresses
-HEAD  SpcSetAdr        (int16 nNr, int32 lReg, void*  pvAdr);
-HEAD  SpcGetAdr        (int16 nNr, int32 lReg, void** ppvAdr);
diff --git a/Cpp/examples/c_cpp/c_header/spectrum.lib b/Cpp/examples/c_cpp/c_header/spectrum.lib
deleted file mode 100644
index ac4873d485442d2a30c930fb1f86c29d5eae0528..0000000000000000000000000000000000000000
Binary files a/Cpp/examples/c_cpp/c_header/spectrum.lib and /dev/null differ
diff --git a/Cpp/examples/c_cpp/c_header/spectrum_comp.lib b/Cpp/examples/c_cpp/c_header/spectrum_comp.lib
deleted file mode 100644
index 881e1c83ab1b5879c5d1de215b399b95a46c322b..0000000000000000000000000000000000000000
Binary files a/Cpp/examples/c_cpp/c_header/spectrum_comp.lib and /dev/null differ
diff --git a/Cpp/examples/c_cpp/common/ostools/spcm_md5.cpp b/Cpp/examples/c_cpp/common/ostools/spcm_md5.cpp
deleted file mode 100644
index 59696a0f095678836d1e4de57b0bdcb5135b4385..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/common/ostools/spcm_md5.cpp
+++ /dev/null
@@ -1,265 +0,0 @@
-#include "spcm_md5.h"
-
-#include <math.h>
-
-
-#define PUINT8_TO_UINT32(dwOut, pcIn) (dwOut = (pcIn[3] << 24) | (pcIn[2] << 16) | (pcIn[1] << 8) | pcIn[0])
-
-#define UINT32_TO_PUINT8(pcOut, dwIn) { \
-    pcOut[0] = (uint8) ((dwIn >>  0) & 0x000000ff); \
-    pcOut[1] = (uint8) ((dwIn >>  8) & 0x000000ff); \
-    pcOut[2] = (uint8) ((dwIn >> 16) & 0x000000ff); \
-    pcOut[3] = (uint8) ((dwIn >> 24) & 0x000000ff); \
-}
-
-#define SIZEOF_UINT32               sizeof (uint32)
-#define SIZEOF_ORIGIN_MSG_LEN       8                   //always 64 Bit->8Bytes
-#define SHIFT3                      3
-#define MASK_63BIT                  0x3F
-#define SMALLEST_RESULT_MSG         64                  //after padding with the message len, the result ist a multiple of SMALLEST_RESULT_MSG (in Bytes)
-#define MSG_WITHOUT_MSGLEN          SMALLEST_RESULT_MSG - SIZEOF_ORIGIN_MSG_LEN
-
-//max 64 Bytes = 512 Bits, in any case there will be pad the 1
-//the message is padding while the message len % 512 (bits) is 64 (bits). 
-//The 64 bit will be used for the len of the origin message
-static uint8 PADDING_BYTES_TO_MESSAGE [64] = 
-    {
-    0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-    };
-
-//this values are given by the algorithm
-static uint32 r [64] = 
-    {
-    7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22,         //round 1
-    5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20,             //round 2
-    4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23,         //round 3
-    6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21          //round 4
-    };
-
-//hard coded sin values - this is for timing
-static uint32 k [64] = 
-    {
-    0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee, 0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501, //sin table entries for round 1
-    0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be, 0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821,
-    0xf61e2562, 0xc040b340, 0x265e5a51, 0xe9b6c7aa, 0xd62f105d, 0x2441453, 0xd8a1e681, 0xe7d3fbc8,  //sin table entries for round 2
-    0x21e1cde6, 0xc33707d6, 0xf4d50d87,    0x455a14ed, 0xa9e3e905, 0xfcefa3f8, 0x676f02d9, 0x8d2a4c8a,
-    0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c, 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70, //sin table entries for round 3
-    0x289b7ec6, 0xeaa127fa, 0xd4ef3085, 0x4881d05, 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665,
-    0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039, 0x655b59c3, 0x8f0ccc92, 0xffeff47d, 0x85845dd1, //sin table entries for round 4
-    0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1, 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391
-    }; 
-
-
-
-//the four functions for the MD5 algorithm
-#define CALC_F1(dwState1, dwState2, dwState3) (((dwState1) & (dwState2)) | ((~dwState1) & (dwState3)))
-#define CALC_F2(dwState1, dwState2, dwState3) (((dwState1) & (dwState3)) | ((dwState2) & (~dwState3)))
-#define CALC_F3(dwState1, dwState2, dwState3) ((dwState1) ^ (dwState2) ^ (dwState3))
-#define CALC_F4(dwState1, dwState2, dwState3) ((dwState2) ^ ((dwState1) | (~dwState3)))
-
-//every bit will be shift. if the bit would fall out of the integer it will be set as lsb
-#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))
-
-// functions for round 1-4
-#define CALC_STATE_ROUND1(dwState0, dwState1, dwState2, dwState3, x, s, ac) { \
-(dwState0) = ROTATE_LEFT (((dwState0) + CALC_F1 ((dwState1), (dwState2), (dwState3)) + (x) + (uint32)(ac)), (s)) + (dwState1); \
-}
-#define CALC_STATE_ROUND2(dwState0, dwState1, dwState2, dwState3, x, s, ac) { \
-(dwState0) = ROTATE_LEFT (((dwState0) + CALC_F2 ((dwState1), (dwState2), (dwState3)) + (x) + (uint32)(ac)), (s)) + (dwState1); \
-}
-#define CALC_STATE_ROUND3(dwState0, dwState1, dwState2, dwState3, x, s, ac) { \
-(dwState0) = ROTATE_LEFT (((dwState0) + CALC_F3 ((dwState1), (dwState2), (dwState3)) + (x) + (uint32)(ac)), (s)) + (dwState1); \
-}
-#define CALC_STATE_ROUND4(dwState0, dwState1, dwState2, dwState3, x, s, ac) { \
-(dwState0) = ROTATE_LEFT (((dwState0) + CALC_F4 ((dwState1), (dwState2), (dwState3)) + (x) + (uint32)(ac)), (s)) + (dwState1); \
-}
-
-
-
-//makes the padding of the message. On a message will pad a '1' and so much '0' until the length of the message modulo 512 (bits) is 448 (512-64 bits). 
-//The last 64 bit are for the origin len of the message.
-//Here the calculation of the algorith is done too.
-void vMD5_Calculation (uint8 pbyCheckSum [16], MD5_STATES* pstStates, MD5_COUNTS* pstCounts, MD5_BUF* pstBuf)
-    {
-    uint32 i = 0;
-    uint8 pcBits[8];
-    uint8 pcOut[4];
-    uint32 dwIn = 0;
-    uint32 dwIndex = 0;
-    uint32 dwPaddingLen = 0;
-    uint32 dwPartLen = 0;
-
-
-    // Save number of bits 
-    dwIn = pstCounts->dwCount0;
-    UINT32_TO_PUINT8 (pcOut, dwIn);
-    memcpy (pcBits, pcOut, SIZEOF_UINT32);
-    dwIn = pstCounts->dwCount1;
-    UINT32_TO_PUINT8 (pcOut, dwIn);
-    memcpy (pcBits+4, pcOut, SIZEOF_UINT32);
-
-  
-    // Pad out to 56 mod 64.
-    dwIndex = (uint32)((pstCounts->dwCount0 >> SHIFT3) &MASK_63BIT);      //runterrechnung auf bytes
-    dwPaddingLen = (dwIndex < MSG_WITHOUT_MSGLEN) ? (MSG_WITHOUT_MSGLEN - dwIndex) : ((MSG_WITHOUT_MSGLEN + SMALLEST_RESULT_MSG) - dwIndex);           //länge die erweitert werden soll
-
-
-    //Update number of bits
-    pstCounts->dwCount0 += ((uint32)dwPaddingLen << SHIFT3);
-    dwPartLen = SMALLEST_RESULT_MSG - dwIndex;
-
-    //Transform as many times as possible.
-    if (dwPaddingLen >= dwPartLen) 
-        {
-        memcpy ((uint8*)&pstBuf->pcBuffer[dwIndex], (uint8*)PADDING_BYTES_TO_MESSAGE, dwPartLen);
-        vStartCalc (pstStates, pstBuf->pcBuffer);
-        for (i = dwPartLen; i + (SMALLEST_RESULT_MSG - 1) < dwPaddingLen; i += SMALLEST_RESULT_MSG)
-            vStartCalc (pstStates, &PADDING_BYTES_TO_MESSAGE[i]);
-        dwIndex = 0;
-        }
-    else
-        i = 0;
-
-    //pad the bits (1 [0 ... 0])
-    memcpy ((uint8*)&pstBuf->pcBuffer[dwIndex], (uint8*)&PADDING_BYTES_TO_MESSAGE[i], dwPaddingLen-i);
-
-    //recalculate the Index and the count values
-    dwIndex = (uint8)((pstCounts->dwCount0 >> SHIFT3) & MASK_63BIT);
-
-    if ((pstCounts->dwCount0 += ((uint32)SIZEOF_ORIGIN_MSG_LEN << SHIFT3)) < ((uint32)8 << SHIFT3))
-        pstCounts->dwCount1++;
-    pstCounts->dwCount1 += ((uint32)SIZEOF_ORIGIN_MSG_LEN >> 29);
-    dwPartLen = 64 - dwIndex;
-
-    memcpy ((uint8*)&pstBuf->pcBuffer[dwIndex], (uint8*)pcBits, dwPartLen);
-    vStartCalc (pstStates, pstBuf->pcBuffer);
-    for (i = dwPartLen; i + (SMALLEST_RESULT_MSG - 1) < SIZEOF_ORIGIN_MSG_LEN; i += SMALLEST_RESULT_MSG)
-        vStartCalc (pstStates, &pcBits[i]);
-    dwIndex = 0;
-
-    memcpy ((uint8*)&pstBuf->pcBuffer[dwIndex], (uint8*)&pcBits[i], SIZEOF_ORIGIN_MSG_LEN);
-
-    dwIn = pstStates->dwState0;
-    UINT32_TO_PUINT8 (pcOut, dwIn);
-    memcpy (pbyCheckSum, pcOut, SIZEOF_UINT32);
-    dwIn = pstStates->dwState1;
-    UINT32_TO_PUINT8 (pcOut, dwIn);
-    memcpy (pbyCheckSum+4, pcOut, SIZEOF_UINT32);
-    dwIn = pstStates->dwState2;
-    UINT32_TO_PUINT8 (pcOut, dwIn);
-    memcpy (pbyCheckSum+8, pcOut, SIZEOF_UINT32);
-    dwIn = pstStates->dwState3;
-    UINT32_TO_PUINT8 (pcOut, dwIn);
-    memcpy (pbyCheckSum+12, pcOut, SIZEOF_UINT32);
-
-    //reset structs
-    dwPartLen = sizeof (*pstStates);
-    memset ((uint8*)pstStates, 0, dwPartLen);
-    dwPartLen = sizeof (*pstCounts);
-    memset ((uint8*)pstCounts, 0, dwPartLen);
-    dwPartLen = sizeof (*pstBuf);
-    memset ((uint8*)pstBuf, 0, dwPartLen);
-    }
-
-//main calculation of this algorithm
-void vStartCalc (MD5_STATES* pstStates, uint8 pcBuf[64])
-    {
-    uint32 dwState0 = pstStates->dwState0;
-    uint32 dwState1 = pstStates->dwState1;
-    uint32 dwState2 = pstStates->dwState2;
-    uint32 dwState3 = pstStates->dwState3;
-    uint32 x[16];
-    uint32 i = 0;
-    uint8 pcIn[4];
-    uint32 dwOut = 0;
-
-
-    for (i = 0; i < 16; i++)
-        {
-        memcpy (pcIn, pcBuf + i*SIZEOF_UINT32, SIZEOF_UINT32);
-        PUINT8_TO_UINT32 (dwOut, pcIn);
-        x[i] = dwOut;
-        }
-
-    CALC_STATE_ROUND1 (dwState0, dwState1, dwState2, dwState3, x[ 0], r[ 0], k[ 0]); 
-    CALC_STATE_ROUND1 (dwState3, dwState0, dwState1, dwState2, x[ 1], r[ 1], k[ 1]); 
-    CALC_STATE_ROUND1 (dwState2, dwState3, dwState0, dwState1, x[ 2], r[ 2], k[ 2]); 
-    CALC_STATE_ROUND1 (dwState1, dwState2, dwState3, dwState0, x[ 3], r[ 3], k[ 3]); 
-    CALC_STATE_ROUND1 (dwState0, dwState1, dwState2, dwState3, x[ 4], r[ 4], k[ 4]); 
-    CALC_STATE_ROUND1 (dwState3, dwState0, dwState1, dwState2, x[ 5], r[ 5], k[ 5]); 
-    CALC_STATE_ROUND1 (dwState2, dwState3, dwState0, dwState1, x[ 6], r[ 6], k[ 6]); 
-    CALC_STATE_ROUND1 (dwState1, dwState2, dwState3, dwState0, x[ 7], r[ 7], k[ 7]); 
-    CALC_STATE_ROUND1 (dwState0, dwState1, dwState2, dwState3, x[ 8], r[ 8], k[ 8]); 
-    CALC_STATE_ROUND1 (dwState3, dwState0, dwState1, dwState2, x[ 9], r[ 9], k[ 9]); 
-    CALC_STATE_ROUND1 (dwState2, dwState3, dwState0, dwState1, x[10], r[10], k[10]); 
-    CALC_STATE_ROUND1 (dwState1, dwState2, dwState3, dwState0, x[11], r[11], k[11]); 
-    CALC_STATE_ROUND1 (dwState0, dwState1, dwState2, dwState3, x[12], r[12], k[12]); 
-    CALC_STATE_ROUND1 (dwState3, dwState0, dwState1, dwState2, x[13], r[13], k[13]); 
-    CALC_STATE_ROUND1 (dwState2, dwState3, dwState0, dwState1, x[14], r[14], k[14]); 
-    CALC_STATE_ROUND1 (dwState1, dwState2, dwState3, dwState0, x[15], r[15], k[15]); 
-    
-    //2nd round
-    CALC_STATE_ROUND2 (dwState0, dwState1, dwState2, dwState3, x[ 1], r[16], k[16]); 
-    CALC_STATE_ROUND2 (dwState3, dwState0, dwState1, dwState2, x[ 6], r[17], k[17]); 
-    CALC_STATE_ROUND2 (dwState2, dwState3, dwState0, dwState1, x[11], r[18], k[18]); 
-    CALC_STATE_ROUND2 (dwState1, dwState2, dwState3, dwState0, x[ 0], r[19], k[19]);
-    CALC_STATE_ROUND2 (dwState0, dwState1, dwState2, dwState3, x[ 5], r[20], k[20]);
-    CALC_STATE_ROUND2 (dwState3, dwState0, dwState1, dwState2, x[10], r[21], k[21]); 
-    CALC_STATE_ROUND2 (dwState2, dwState3, dwState0, dwState1, x[15], r[22], k[22]); 
-    CALC_STATE_ROUND2 (dwState1, dwState2, dwState3, dwState0, x[ 4], r[23], k[23]); 
-    CALC_STATE_ROUND2 (dwState0, dwState1, dwState2, dwState3, x[ 9], r[24], k[24]); 
-    CALC_STATE_ROUND2 (dwState3, dwState0, dwState1, dwState2, x[14], r[25], k[25]); 
-    CALC_STATE_ROUND2 (dwState2, dwState3, dwState0, dwState1, x[ 3], r[26], k[26]); 
-    CALC_STATE_ROUND2 (dwState1, dwState2, dwState3, dwState0, x[ 8], r[27], k[27]); 
-    CALC_STATE_ROUND2 (dwState0, dwState1, dwState2, dwState3, x[13], r[28], k[28]); 
-    CALC_STATE_ROUND2 (dwState3, dwState0, dwState1, dwState2, x[ 2], r[29], k[29]); 
-    CALC_STATE_ROUND2 (dwState2, dwState3, dwState0, dwState1, x[ 7], r[30], k[30]); 
-    CALC_STATE_ROUND2 (dwState1, dwState2, dwState3, dwState0, x[12], r[31], k[31]); 
-    
-    //3rd round 
-    CALC_STATE_ROUND3 (dwState0, dwState1, dwState2, dwState3, x[ 5], r[32], k[32]); 
-    CALC_STATE_ROUND3 (dwState3, dwState0, dwState1, dwState2, x[ 8], r[33], k[33]); 
-    CALC_STATE_ROUND3 (dwState2, dwState3, dwState0, dwState1, x[11], r[34], k[34]); 
-    CALC_STATE_ROUND3 (dwState1, dwState2, dwState3, dwState0, x[14], r[35], k[35]); 
-    CALC_STATE_ROUND3 (dwState0, dwState1, dwState2, dwState3, x[ 1], r[36], k[36]); 
-    CALC_STATE_ROUND3 (dwState3, dwState0, dwState1, dwState2, x[ 4], r[37], k[37]); 
-    CALC_STATE_ROUND3 (dwState2, dwState3, dwState0, dwState1, x[ 7], r[38], k[38]); 
-    CALC_STATE_ROUND3 (dwState1, dwState2, dwState3, dwState0, x[10], r[39], k[39]); 
-    CALC_STATE_ROUND3 (dwState0, dwState1, dwState2, dwState3, x[13], r[40], k[40]); 
-    CALC_STATE_ROUND3 (dwState3, dwState0, dwState1, dwState2, x[ 0], r[41], k[41]); 
-    CALC_STATE_ROUND3 (dwState2, dwState3, dwState0, dwState1, x[ 3], r[42], k[42]); 
-    CALC_STATE_ROUND3 (dwState1, dwState2, dwState3, dwState0, x[ 6], r[43], k[43]); 
-    CALC_STATE_ROUND3 (dwState0, dwState1, dwState2, dwState3, x[ 9], r[44], k[44]); 
-    CALC_STATE_ROUND3 (dwState3, dwState0, dwState1, dwState2, x[12], r[45], k[45]); 
-    CALC_STATE_ROUND3 (dwState2, dwState3, dwState0, dwState1, x[15], r[46], k[46]); 
-    CALC_STATE_ROUND3 (dwState1, dwState2, dwState3, dwState0, x[ 2], r[47], k[47]); 
-    
-    //4th round
-    CALC_STATE_ROUND4 (dwState0, dwState1, dwState2, dwState3, x[ 0], r[48], k[48]); 
-    CALC_STATE_ROUND4 (dwState3, dwState0, dwState1, dwState2, x[ 7], r[49], k[49]); 
-    CALC_STATE_ROUND4 (dwState2, dwState3, dwState0, dwState1, x[14], r[50], k[50]); 
-    CALC_STATE_ROUND4 (dwState1, dwState2, dwState3, dwState0, x[ 5], r[51], k[51]); 
-    CALC_STATE_ROUND4 (dwState0, dwState1, dwState2, dwState3, x[12], r[52], k[52]); 
-    CALC_STATE_ROUND4 (dwState3, dwState0, dwState1, dwState2, x[ 3], r[53], k[53]); 
-    CALC_STATE_ROUND4 (dwState2, dwState3, dwState0, dwState1, x[10], r[54], k[54]); 
-    CALC_STATE_ROUND4 (dwState1, dwState2, dwState3, dwState0, x[ 1], r[55], k[55]); 
-    CALC_STATE_ROUND4 (dwState0, dwState1, dwState2, dwState3, x[ 8], r[56], k[56]); 
-    CALC_STATE_ROUND4 (dwState3, dwState0, dwState1, dwState2, x[15], r[57], k[57]); 
-    CALC_STATE_ROUND4 (dwState2, dwState3, dwState0, dwState1, x[ 6], r[58], k[58]);
-    CALC_STATE_ROUND4 (dwState1, dwState2, dwState3, dwState0, x[13], r[59], k[59]); 
-    CALC_STATE_ROUND4 (dwState0, dwState1, dwState2, dwState3, x[ 4], r[60], k[60]); 
-    CALC_STATE_ROUND4 (dwState3, dwState0, dwState1, dwState2, x[11], r[61], k[61]); 
-    CALC_STATE_ROUND4 (dwState2, dwState3, dwState0, dwState1, x[ 2], r[62], k[62]); 
-    CALC_STATE_ROUND4 (dwState1, dwState2, dwState3, dwState0, x[ 9], r[63], k[63]); 
-
-    //save calculated states
-    pstStates->dwState0 += dwState0;
-    pstStates->dwState1 += dwState1;
-    pstStates->dwState2 += dwState2;
-    pstStates->dwState3 += dwState3;
-
-    }
-
diff --git a/Cpp/examples/c_cpp/common/ostools/spcm_md5.h b/Cpp/examples/c_cpp/common/ostools/spcm_md5.h
deleted file mode 100644
index 542d06df7782a5305cdbb8cb78a3e1c6a1e60af0..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/common/ostools/spcm_md5.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef MD5_H
-#define MD5_H
-#include "../../c_header/dlltyp.h"
-#include "../../c_header/regs.h"
-#include "../../c_header/spcerr.h"
-
-
-typedef struct 
-    {
-    uint32 dwState0;                                   
-    uint32 dwState1;                                 
-    uint32 dwState2;                                  
-    uint32 dwState3;                                  
-    } MD5_STATES;
-
-typedef struct 
-    {
-    uint32 dwCount0;        
-    uint32 dwCount1;
-    } MD5_COUNTS;
-
-typedef struct 
-    {
-    uint8 pcBuffer[64];                        
-    } MD5_BUF;
-
-
-
-void vMD5_Calculation (uint8 pbyCheckSum [16], MD5_STATES* pstStates, MD5_COUNTS* pstCounts, MD5_BUF* pstBuf);
-void vStartCalc (MD5_STATES* pstStates, uint8 pcBuf[64]);
-
-#endif
diff --git a/Cpp/examples/c_cpp/common/ostools/spcm_network_winLin.cpp b/Cpp/examples/c_cpp/common/ostools/spcm_network_winLin.cpp
deleted file mode 100644
index f46a971631d6c17fa3bee2b47b641381146a4011..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/common/ostools/spcm_network_winLin.cpp
+++ /dev/null
@@ -1,771 +0,0 @@
-/******************************************************************************/
-/* File name  : spcm_network_winLin.cpp                                       */
-/* Description: API for windows and linux                                     */
-/*              This file contains the most needed function for using network */
-/******************************************************************************/
-#include "spcm_network_winLin.h"
-#include <algorithm>
-#include <cstdio>
-#include <cstdlib>
-
-#ifdef WIN32
-#   undef max
-#   undef min
-#else // Linux, QNX
-#   include <errno.h>
-#   include <fcntl.h>
-#endif
-
-#define SPCM_MAX_BYTES_TO_COPY      (1024*1024)/*64*1024*/
-
-// we're using this namespace in our program
-namespace SPCM_NAMESPACE {
-
-/*
-    Initialize network.
-*/
-uint32 dwInitNetwork ()
-    {
-#ifdef WIN32
-    WSADATA wsa;
-    if (WSAStartup (MAKEWORD (2,0), &wsa) != 0)
-        {
-        return WSANOTINITIALISED;
-        }
-#else
-    // nothing
-#endif
-    return ERR_OK;
-    }
-
-void vShutdownNetwork ()
-    {
-#ifdef WIN32
-    WSACleanup ();
-#else
-    // nothing
-#endif
-    }
-
-
-/*
-    Create a socket. 
-    lDomain = An address format specification. The only format currently supported is PF_INET, which is the ARPA Internet address format.
-    lType = A type specification for the new socket.
-    lProtocol = A particular protocol to be used with the socket, or 0 if the caller does not wish to specify a protocol.
-*/
-SOCKET lSocket (int32 lDomain, int32 lType, int32 lProtocol)
-    {
-    return socket (lDomain, lType, lProtocol);
-    }
-
-
-/*
-    Close a socket.
-    lSockfd = A (file) descriptor identifying a socket.
-*/
-int32 lClose (SOCKET lSockfd)
-    {
-#ifdef WIN32
-        return closesocket (lSockfd);
-#else
-        return close (lSockfd);
-#endif
-    }
-
-/*
-    Establish a connection to a peer.
-    lSockfd = A socket (file) descriptor identifying an unconnected socket.
-    pstAddr = The address to assign to the socket. The address have to be casted to "struct sockaddr *".
-    lAddrlen = The length of the name.
-*/
-int32 lConnect (SOCKET lSockfd, const struct sockaddr* pstAddr, socklen_t lAddrlen)
-    {
-    return connect (lSockfd, pstAddr, lAddrlen);
-    }
-
-/* 
-    Read data from a socket.
-    lSockfd = A socket (file) descriptor identifying a connected socket. 
-    pvBuf = A buffer for the incoming data. 
-    lLen = The length of buf. 
-*/
-ssize_t dwRead (SOCKET lSockfd, void* pvBuf, size_t dwLen)
-    {
-#ifdef WIN32
-    return recv (lSockfd, (char*)pvBuf, (int)dwLen, 0);
-#else
-    return read (lSockfd, pvBuf, dwLen);
-#endif
-    }
-
-/*
-    Receive data from a socket.
-    lSockfd = A socket (file) descriptor identifying a connected socket. 
-    pvBuf = A buffer for the incoming data. 
-    lLen = The length of buf. 
-    lFlags = Specifies the way in which the call is made.
-*/
-ssize_t dwRecv (SOCKET lSockfd, void* pvBuf, size_t dwLen, int32 lFlags)
-    {
-#ifdef WIN32
-    return recv (lSockfd, (char*)pvBuf, (int)dwLen, lFlags);
-#else
-    return recv (lSockfd, (char*)pvBuf, dwLen, lFlags);
-#endif
-    }
-
-/*
-    Receive a datagram and store the source address.
-    lSockfd = A socket (file) descriptor identifying a bound socket. 
-    pvBuf = A buffer for the incoming data. 
-    lLen = The length of buf. 
-    lFlags = Specifies the way in which the call is made. 
-    pstSrc_addr = An optional pointer to a buffer which will hold the source address upon return. 
-    plAddrlen = An optional pointer to the size of the from buffer.
-*/
-ssize_t dwRecvfrom (SOCKET lSockfd, void* pvBuf, size_t dwLen, int32 lFlags, struct sockaddr *pstSrc_addr, socklen_t* plAddrlen)
-    {
-#ifdef WIN32
-    return recvfrom (lSockfd, (char*)pvBuf, (int)dwLen, lFlags, pstSrc_addr, plAddrlen);
-#else
-    return recvfrom (lSockfd, (char*)pvBuf, dwLen, lFlags, pstSrc_addr, plAddrlen);
-#endif
-    }
-
-/*
-    Send data on a connected socket.
-    lSockfd = A socket (file) descriptor identifying a connected socket. 
-    pvBuf = A buffer containing the data to be transmitted. 
-    lLen = The length of the data in buf. 
-*/
-ssize_t dwWrite (SOCKET lSockfd, const void* pvBuf, size_t dwLen)
-    { 
-#ifdef WIN32
-    return send (lSockfd, (char*)pvBuf, (int)dwLen, 0);
-#else
-        return write (lSockfd, pvBuf, dwLen);
-#endif
-    }
-
-/*
-    Send data on a connected socket.
-    lSockfd = A socket (file) descriptor identifying a connected socket. 
-    pvBuf = A buffer containing the data to be transmitted. 
-    lLen = The length of the data in buf. 
-    lFlags = Specifies the way in which the call is made.
-*/
-ssize_t dwSend (SOCKET lSockfd, const void* pvBuf, size_t dwLen, int32 lFlags)
-    {
-#ifdef WIN32
-    return send (lSockfd, (char*)pvBuf, (int)dwLen, lFlags);
-#else
-    return send (lSockfd, (char*)pvBuf, dwLen, lFlags);
-#endif
-    }
-
-
-/*
-    Send data to a specific destination.
-    lSockfd = A socket (file) descriptor identifying a socket. 
-    pvBuf = A buffer containing the data to be transmitted. 
-    lLen = The length of the data in buf. 
-    lFlags = Specifies the way in which the call is made. 
-    pstDest_addr = A optional pointer to the address of the target socket. 
-    lAddrlen = The size of the address in to.
-*/
-ssize_t dwSendto (SOCKET lSockfd, const void* pvBuf, size_t dwLen, int32 lFlags, const struct sockaddr* pstDest_addr, socklen_t lAddrlen)
-    {
-#ifdef WIN32
-    return sendto (lSockfd, (char*)pvBuf, (int)dwLen, lFlags, pstDest_addr, lAddrlen);
-#else
-    return sendto (lSockfd, (char*)pvBuf, dwLen, lFlags, pstDest_addr, lAddrlen);
-#endif
-    }
-
-int lSelect (SOCKET lSockfd, fd_set* pstReadFds, fd_set* pstWriteFds, fd_set* pstExceptFds, struct timeval* pstTimeout)
-    {
-#ifdef WIN32
-    return select (0/*unused*/, pstReadFds, pstWriteFds, pstExceptFds, pstTimeout);
-#else
-    return select (lSockfd, pstReadFds, pstWriteFds, pstExceptFds, pstTimeout);
-#endif
-    }
-
-/*
-    Accept a connection on a socket
-    lSockfd = A socket (file) descriptor identifying a socket which is listening for connections after a listen(). 
-    pstAddr = An optional pointer to a buffer which receives the address of the connecting entity, as known to the communications layer. 
-        The exact format of the addr argument is determined by the address family established when the socket was created. 
-    plAddrlen = A optional pointer to an integer which contains the length of the address addr.
-*/
-
-SOCKET lAccept (SOCKET lSockfd, struct sockaddr* pstAddr, socklen_t* plAddrlen)
-    {
-    return accept (lSockfd, pstAddr, plAddrlen);
-    }
-
-
-/*
-    Associate a local address with a socket. 
-    lSockfd = A socket (file) descriptor identifying an unbound socket.
-    pstAddr = The address to assign to the socket. The address have to be casted to "struct sockaddr *".
-    lAddrlen = The length of the name.
-*/
-int32 lBind (SOCKET lSockfd, const struct sockaddr* pstAddr, socklen_t lAddrlen)
-    {
-    return bind (lSockfd, pstAddr, lAddrlen);
-    }
-
-
-/*
-    Establish a socket to listen for incoming connection. 
-    lSockfd = A socket (file) descriptor identifying a bound, unconnected socket. 
-    lBacklog = The maximum length to which the queue of pending connections may grow.
-*/
-int32 lListen (SOCKET lSockfd, int32 lBacklog)
-    {
-    return listen (lSockfd, lBacklog);
-    }   
-
-/*
-    Set options on sockets.
-    lSockfd = A socket (file) descriptor identifying a bound, unconnected socket. 
-    lLevel = The level at which the option is defined (for example, SOL_SOCKET).
-    lOptname = The socket option for which the value is to be set (for example, SO_BROADCAST). 
-        The optname parameter must be a socket option defined within the specified level, or behavior is undefined.
-    pvOptval = A pointer to the buffer in which the value for the requested option is specified.
-    lOptlen = The size, in bytes, of the buffer pointed to by the optval parameter.
-*/
-int32 lSetsockopt (SOCKET lSockfd, int32 lLevel, int32 lOptname, const void* pvOptval, socklen_t lOptlen)
-    {
-#ifdef WIN32
-        return setsockopt (lSockfd, lLevel, lOptname, (const char*) pvOptval, lOptlen);
-#else
-        return setsockopt (lSockfd, lLevel, lOptname, pvOptval, lOptlen);
-#endif
-    }
-
-/*
-    provides protocol-independent translation from an ANSI host name to an address.
-    cpNode = A pointer to a NULL-terminated ANSI string that contains a host (node) name or a numeric host address string. 
-        For the Internet protocol, the numeric host address string is a dotted-decimal IPv4 address or an IPv6 hex address.
-    cpService = A pointer to a NULL-terminated ANSI string that contains either a service name or port number represented as a string.
-        A service name is a string alias for a port number.
-    pstHints = A pointer to an addrinfo structure that provides hints about the type of socket the caller supports. 
-    ppstRes = A pointer to a linked list of one or more addrinfo structures that contains repstonse information about the host.
-*/
-
-int32 lGetaddrinfo (const char* pcNode, const char* pcService, const struct addrinfo* pstHints, struct addrinfo** ppstRes)
-    {
-    return getaddrinfo (pcNode, pcService, pstHints, ppstRes);
-    }
-
-/*
-    retrieves the address of the peer to which a socket is connected.
-    dwSockfd = A descriptor identifying a connected socket.
-    sAddr = The SOCKADDR structure that receives the address of the peer.
-    lAddrlen = A pointer to the size, in bytes, of the name parameter.
-*/
-int32 lGetpeername (SOCKET lSockfd, struct sockaddr* pstAddr, socklen_t* plAddrlen)
-    {
-    return getpeername (lSockfd,  pstAddr, plAddrlen);
-    }
-
-/*
-    address-to-name translation in protocol-independent manner
-    pstSa = A pointer to a socket address structure that contains the address and port number of the socket. 
-        For IPv4, the sa parameter points to a sockaddr_in structure. For IPv6, the sa parameter points to a sockaddr_in6 structure.
-    lSaLen = The length, in bytes, of the structure pointed to by the sa parameter.
-    pcHost = A pointer to an ANSI string used to hold the host name. 
-        On success, the host name is returned as a Fully Qualified Domain Name (FQDN) by default. 
-        If the host parameter is NULL, this indicates the caller does not want to receive a host name string.
-    sHostlen = The length, in bytes, of the buffer pointed to by the pcHost parameter. 
-        The caller must provide a buffer large enough to hold the host name, including the terminating NULL character.
-    pcServ = A pointer to an ANSI string to hold the service name. 
-        On success, an ANSI string that represents the service name associated with the port number is returned. 
-        If the serv parameter is NULL, this indicates the caller does not want to receive a service name string.
-    lServLen = The length, in bytes, of the buffer pointed to by the pcServ parameter. 
-        The caller must provide a buffer large enough to hold the service name, including the terminating NULL character.
-    lFlags = A value used to customize processing of the getnameinfo function. See the Remarks section.
-*/
-int32 lGetnameinfo (const struct sockaddr* pstSa, socklen_t lSaLen, char* pcHost, size_t dwHostlen, char* pcServ, size_t dwServLen, int32 lFlags)
-    {
-#ifdef WIN32
-    return getnameinfo (pstSa, lSaLen, pcHost, static_cast < DWORD > (dwHostlen), pcServ, static_cast < DWORD > (dwServLen), lFlags);
-#else
-    return getnameinfo (pstSa, lSaLen, pcHost, dwHostlen, pcServ, dwServLen, lFlags);
-#endif
-    }
-
-
-// ****************************************************************************
-// ***** set blocking mode of socket
-// ****************************************************************************
-int32 lSetSocketBlocking (SOCKET lSockfd, bool bBlock)
-    {
-#ifdef WIN32
-    uint32 dwNonblockMode = (bBlock? 0 : 1);
-    return ioctlsocket (lSockfd, FIONBIO, &dwNonblockMode);
-#else
-    int lArg = fcntl (lSockfd, F_GETFL, NULL); 
-    if (lArg == -1)
-        return SOCKET_ERROR;
-    if (bBlock)
-        lArg &= ~O_NONBLOCK;
-    else
-        lArg |= O_NONBLOCK; 
-    if (fcntl (lSockfd, F_SETFL, lArg) == -1)
-        return SOCKET_ERROR;
-    return 0;
-#endif
-    }
-
-// ----- get the number of available network interfaces from the system -----
-uint32 dwGetNumNICs ()
-    {
-#ifdef WIN32
-    uint32 dwBufLen = 0;
-    GetInterfaceInfo (NULL, &dwBufLen); // get necessary buffer length
-    char* acBuf = new char[dwBufLen];
-    IP_INTERFACE_INFO* pstIPInterfaceInfo = reinterpret_cast < IP_INTERFACE_INFO* > (acBuf);
-    GetInterfaceInfo (pstIPInterfaceInfo, &dwBufLen); // get infos
-
-    uint32 dwNumNICs = pstIPInterfaceInfo->NumAdapters;
-    delete [] acBuf;
-    return dwNumNICs;
-#else
-
-    // ----- create temp socket for request -----
-    int32 lTmpSock = socket (AF_INET, SOCK_STREAM, 0);
-    if (lTmpSock == SOCKET_ERROR)
-        return 0;
-
-    // ----- point ifconf's ifc_buf to our array of interface ifreqs -----
-    struct ifconf stIfconf;
-    struct ifreq astIfreq[20]; // random maximum of interfaces
-    stIfconf.ifc_buf = (char *) astIfreq;
-
-    // Set ifconf's ifc_len to the length of our array of interface ifreqs.
-    stIfconf.ifc_len = sizeof (astIfreq);
-
-    //  Populate ifconf.ifc_buf (ifreq) with a list of interface names and addresses.
-    if (ioctl (lTmpSock, SIOCGIFCONF, &stIfconf) == -1)
-        return 0;
-
-    close (lTmpSock);
-
-    // Divide the length of the interface list by the size of each entry.
-    // This gives us the number of interfaces on the system.
-    return stIfconf.ifc_len / sizeof (struct ifreq);
-#endif
-    }
-
-uint32 dwFindOwnIpAdr (int32 lNICIdx, SOCKET lSockfd, char* szOwnIpAddress)
-    {
-#ifdef WIN32
-    char szBuf[255];
-    if (gethostname (szBuf, 255) != SOCKET_ERROR)
-        {
-#   if defined(_MSC_VER) && (_MSC_VER < 1900) // 1900 = VS2015
-        struct hostent* pstHostend = gethostbyname (szBuf);
-        if (pstHostend != NULL)
-            {
-            for (int32 lCnt = 0; lCnt < lNICIdx + 1; ++lCnt)
-                {
-                if (pstHostend->h_addr_list[lCnt] == NULL)
-                    {
-                    return ERR_ABORT; // no valid address found
-                    }
-                }
-
-            if (pstHostend->h_addr_list[lNICIdx])
-                {
-                struct in_addr* pstAddr = reinterpret_cast < struct in_addr* > (pstHostend->h_addr_list[lNICIdx]);
-
-                char* szIP = inet_ntoa (*pstAddr);
-                if (szIP == NULL)
-                    return ERR_ABORT;
-
-                memcpy (szOwnIpAddress, szIP, SIZEOF_IPADDR);
-                }
-            }
-#   else
-        struct addrinfo stHints;
-        memset (&stHints, 0, sizeof (stHints));
-        stHints.ai_family = AF_INET; // do not show IPv6 for now
-
-        struct addrinfo* pstAddrInfo = NULL;
-        getaddrinfo (szBuf, NULL, &stHints, &pstAddrInfo);
-        struct addrinfo* pstCurAddrInfo = pstAddrInfo;
-
-        // ----- find struct for NIC -----
-        for (int32 lCnt = 0; lCnt < lNICIdx && pstCurAddrInfo; ++lCnt)
-            {
-            if (pstCurAddrInfo->ai_next == NULL)
-                return ERR_ABORT;
-            pstCurAddrInfo = pstCurAddrInfo->ai_next;
-            }
-
-        // ----- convert binary IP to string -----
-        switch (pstCurAddrInfo->ai_family)
-            {
-            case AF_INET:
-                InetNtopA (AF_INET, &((struct sockaddr_in*)pstCurAddrInfo->ai_addr)->sin_addr, szOwnIpAddress, SIZEOF_IPADDR);
-                break;
-            case AF_INET6:
-                InetNtopA (AF_INET6, &((struct sockaddr_in6*)pstCurAddrInfo->ai_addr)->sin6_addr, szOwnIpAddress, SIZEOF_IPADDR6); // should not happen with stHints set above
-                break;
-            }
-        freeaddrinfo (pstAddrInfo);
-#   endif
-        }
-        
-#else
-    // ----- request info structure from kernel -----
-    struct ifconf stIfconf;
-    struct ifreq astIfreq[20]; // random maximum of interfaces
-    stIfconf.ifc_buf = (char *) astIfreq;
-    stIfconf.ifc_len = sizeof (astIfreq);
-    if (ioctl (lSockfd, SIOCGIFCONF, &stIfconf) == -1)
-        return ERR_ABORT;
-
-    const uint32 dwNumInterfaces = stIfconf.ifc_len / sizeof (struct ifreq);
-    if (static_cast < uint32 > (lNICIdx) >= dwNumInterfaces)
-        return ERR_ABORT;
-
-    struct sockaddr_in *pstAddress = (struct sockaddr_in *) &astIfreq[lNICIdx].ifr_addr;
-    if (pstAddress == NULL)
-        return ERR_ABORT;
-
-    // Convert the binary IP address into a readable string.
-    if (inet_ntop (AF_INET, &pstAddress->sin_addr, szOwnIpAddress, SIZEOF_IPADDR) == NULL)
-        return ERR_ABORT;
-#endif
-
-    return ERR_OK;
-    }
-
-void vGetIPAndSubnetMask (int32 lNICIdx, SOCKET lSockfd, char* szIPAddress, char* szSubNetMask)
-    {
-    if (szIPAddress != NULL)
-        memset (szIPAddress,  0, SIZEOF_IPADDR);
-    if (szSubNetMask != NULL)
-        memset (szSubNetMask, 0, SIZEOF_IPADDR);
-
-    #ifdef WIN32
-
-    // get list of network adapters
-    IP_ADAPTER_INFO* pstFirstAdapterInfo = NULL;
-    bool bDelete = false;
-    ULONG dwLen = 0;
-    DWORD dwErr = GetAdaptersInfo (pstFirstAdapterInfo, &dwLen);
-    if (dwErr == ERROR_BUFFER_OVERFLOW)
-        {
-        pstFirstAdapterInfo = (IP_ADAPTER_INFO*)malloc (dwLen); // use malloc because of heap corruption when using new
-        dwErr = GetAdaptersInfo (pstFirstAdapterInfo, &dwLen);
-        bDelete = true;
-        }
-    if (dwErr != ERROR_SUCCESS)
-        {
-        if (bDelete)
-            free (pstFirstAdapterInfo);
-        return;
-        }
-
-    // find the requested adapter
-    IP_ADAPTER_INFO* pstCurrAdapterInfo = pstFirstAdapterInfo;
-    for (uint32 dwIdx = 0; dwIdx < static_cast < uint32 > (lNICIdx) && pstCurrAdapterInfo->Next; ++dwIdx)
-        {
-        pstCurrAdapterInfo = pstCurrAdapterInfo->Next;
-        }
-
-    if (szIPAddress != NULL)
-        memcpy (szIPAddress,  &pstCurrAdapterInfo->IpAddressList.IpAddress, SIZEOF_IPADDR);
-    if (szSubNetMask != NULL)
-        memcpy (szSubNetMask, &pstCurrAdapterInfo->IpAddressList.IpMask,    SIZEOF_IPADDR);
-
-    free (pstFirstAdapterInfo);
-
-    #else
-        // using getifaddrs to get subnet mask did not work for unknown reasons, so we use ioctl calls
-
-        // ----- request info structure from kernel -----
-        struct ifconf stIfconf;
-        struct ifreq astIfreq[20]; // random maximum of interfaces
-        stIfconf.ifc_buf = (char *) astIfreq;
-        stIfconf.ifc_len = sizeof (astIfreq);
-        if (ioctl (lSockfd, SIOCGIFCONF, &stIfconf) == -1)
-            return;
-
-        const uint32 dwNumInterfaces = stIfconf.ifc_len / sizeof (struct ifreq);
-        if (static_cast < uint32 > (lNICIdx) >= dwNumInterfaces)
-            return;
-
-        struct sockaddr_in* pstAddress = (struct sockaddr_in *) &astIfreq[lNICIdx].ifr_addr;
-        if (pstAddress == NULL)
-            return;
-
-        // Convert the binary IP address into a readable string.
-        if (inet_ntop (AF_INET, &pstAddress->sin_addr, szIPAddress, SIZEOF_IPADDR) == NULL)
-            return;
-
-        // ----- Subnetmask -----
-        if (ioctl (lSockfd, SIOCGIFNETMASK, astIfreq + lNICIdx) == -1)
-            return;
-
-        pstAddress = (struct sockaddr_in *) &astIfreq[lNICIdx].ifr_addr;
-
-        // Convert the binary subnet mask into a readable string.
-        if (inet_ntop (AF_INET, &pstAddress->sin_addr, szSubNetMask, SIZEOF_IPADDR) == NULL)
-            return;
-
-    #endif
-    }
-
-std::string sGetAdapterName (uint32 dwNICIdx)
-    {
-    std::string sName;
-#ifdef WIN32
-    IP_ADAPTER_INFO* pstFirstAdapterInfo = NULL;
-    IP_ADAPTER_INFO* pstCurrAdapterInfo  = NULL;
-    bool bDelete = false;
-    ULONG dwLen = 0;
-    DWORD dwErr = GetAdaptersInfo (pstFirstAdapterInfo, &dwLen);
-    if (dwErr == ERROR_BUFFER_OVERFLOW)
-        {
-        pstFirstAdapterInfo = (IP_ADAPTER_INFO*)malloc (dwLen); // use malloc because of heap corruption when using new
-        dwErr = GetAdaptersInfo (pstFirstAdapterInfo, &dwLen);
-        bDelete = true;
-        }
-    if (dwErr != ERROR_SUCCESS)
-        {
-        if (bDelete)
-            free (pstFirstAdapterInfo);
-        return "";
-        }
-
-    pstCurrAdapterInfo = pstFirstAdapterInfo;
-    for (uint32 dwIdx = 0; dwIdx < dwNICIdx && pstCurrAdapterInfo->Next; ++dwIdx)
-        {
-        pstCurrAdapterInfo = pstCurrAdapterInfo->Next;
-        }
-
-    sName = pstCurrAdapterInfo->Description;
-
-    if (bDelete)
-        free (pstFirstAdapterInfo);
-#else
-    // ----- create temp socket for request -----
-    int32 lTmpSock = socket (AF_INET, SOCK_STREAM, 0);
-    if (lTmpSock == SOCKET_ERROR)
-        return "";
-
-    // ----- point ifconf's ifc_buf to our array of interface ifreqs -----
-    struct ifconf stIfconf;
-    struct ifreq astIfreq[20]; // random maximum of interfaces
-    stIfconf.ifc_buf = (char *) astIfreq;
-
-    // Set ifconf's ifc_len to the length of our array of interface ifreqs.
-    stIfconf.ifc_len = sizeof (astIfreq);
-
-    //  Populate ifconf.ifc_buf (ifreq) with a list of interface names and addresses.
-    if (ioctl (lTmpSock, SIOCGIFCONF, &stIfconf) == -1)
-        return "";
-
-    close (lTmpSock);
-
-    const uint32 dwNumAdapters = stIfconf.ifc_len / sizeof (struct ifreq);
-    if (dwNICIdx >= dwNumAdapters)
-        return "";
-
-    sName = stIfconf.ifc_req[dwNICIdx].ifr_name;
-#endif
-    return sName;
-    }
-
-
-int32 lGetMacAddress (uint64* pqwMacAddress)
-    {
-    *pqwMacAddress = 0;
-
-#ifdef WIN32
-    /* Declare and initialize variables */
-    uint32 dwError = 0;
-
-    // Set the flags to pass to GetAdaptersAddresses
-    uint32 dwFlags = GAA_FLAG_INCLUDE_PREFIX;
-
-    // default to unspecified address family (both)
-    uint32 dwFamily = AF_UNSPEC;
-    PIP_ADAPTER_ADDRESSES pstAddresses = NULL;
-    uint32 dwBufLen = 0;
-
-    dwFamily = AF_INET;
-
-    dwBufLen = sizeof (IP_ADAPTER_ADDRESSES);
-    pstAddresses = (IP_ADAPTER_ADDRESSES *) MALLOC (dwBufLen);
-
-    // Make an initial call to GetAdaptersAddresses to get the
-    // size needed into the outBufLen variable
-    if (GetAdaptersAddresses (dwFamily, dwFlags, NULL, pstAddresses, &dwBufLen) == ERROR_BUFFER_OVERFLOW) 
-        {
-        FREE (pstAddresses);
-        pstAddresses = (IP_ADAPTER_ADDRESSES *) MALLOC (dwBufLen);
-        }
-
-    if (pstAddresses == NULL) 
-        {
-        printf("Memory allocation failed for IP_ADAPTER_ADDRESSES struct\n");
-        exit(1);
-        }
-
-    // Make a second call to GetAdapters Addresses to get the
-    // actual data we want
-    dwError = GetAdaptersAddresses (dwFamily, dwFlags, NULL, pstAddresses, &dwBufLen);
-
-    // take first adapter
-    memcpy (pqwMacAddress, pstAddresses->PhysicalAddress, SIZEOF_MACADDR - 1);
-    FREE(pstAddresses);
-
-#else
-    FILE* pFile = fopen ("/sys/class/net/eth0/address", "r");
-
-    char szMAC[18]; // 00:03:2D:21:AE:AE\0
-    char* szTmp __attribute__((unused)) = fgets (szMAC, sizeof (szMAC), pFile);
-    fclose (pFile);
-
-    char* pcPos = szMAC;
-    uint32 dwShift = 40;
-    for (int lIdx = 0; lIdx < 6; ++lIdx)
-        {
-        *pqwMacAddress |= static_cast < uint64 > (strtoul (pcPos, NULL, 16)) << dwShift;
-        dwShift -= 8;
-        pcPos += 3;
-        }
-#endif
-
-    return ERR_OK;
-    }
-
-int32 lGetMacAddress (char* szMacAddress)
-    {
-    uint64 qwMacAddress = 0;
-    lGetMacAddress (&qwMacAddress);
-
-#ifdef WIN32
-    sprintf (szMacAddress, "%2lX:%2lX:%2lX:%2lX:%2lX:%2lX",
-#else
-    sprintf (szMacAddress, "%2X:%2X:%2X:%2X:%2X:%2X",
-#endif
-        static_cast < uint32 > ((qwMacAddress >> 40) & 0xFF),
-        static_cast < uint32 > ((qwMacAddress >> 32) & 0xFF),
-        static_cast < uint32 > ((qwMacAddress >> 24) & 0xFF),
-        static_cast < uint32 > ((qwMacAddress >> 16) & 0xFF),
-        static_cast < uint32 > ((qwMacAddress >>  8) & 0xFF),
-        static_cast < uint32 > ((qwMacAddress >>  0) & 0xFF));
-
-    return ERR_OK;
-    }
-
-
-
-int32 lGetNetworkErrorCode ()
-    {
-#ifdef WIN32
-    return WSAGetLastError ();
-#else
-    return errno;
-#endif
-    }
-
-
-// ----- Returns a string with the last network error message -----
-char* szNetworkErrorMessage (int32 lErrorCode)
-    {
-#ifdef WIN32
-    static char s_szErrMsgBuffer[200];
-
-    LPSTR szErrorText = NULL;
-    FormatMessageA (FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER, NULL, lErrorCode, MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), (LPSTR)&szErrorText, 0, NULL);
-
-    // convert to char*
-    _snprintf_s (s_szErrMsgBuffer, 100, _TRUNCATE, "%s", szErrorText);
-
-    // release memory allocated by FormatMessage()
-    LocalFree (szErrorText);
-
-    return s_szErrMsgBuffer;
-#else
-    return strerror (lErrorCode);
-#endif
-    }
-
-
-// ----- converts an IP representation to string -----
-const char* szIPFromSockAddr (const struct sockaddr_in* pstIP)
-    {
-    static char s_szIPBuffer[16];
-
-#ifdef WIN32
-    sprintf (s_szIPBuffer, "%u.%u.%u.%u", pstIP->sin_addr.S_un.S_un_b.s_b1, pstIP->sin_addr.S_un.S_un_b.s_b2, pstIP->sin_addr.S_un.S_un_b.s_b3, pstIP->sin_addr.S_un.S_un_b.s_b4);
-#else
-    uint32 dwIP = ntohl (pstIP->sin_addr.s_addr);
-    sprintf (s_szIPBuffer, "%u.%u.%u.%u", (dwIP & 0xFF000000)>>24, (dwIP & 0xFF0000)>>16, (dwIP & 0xFF00)>>8, (dwIP & 0xFF));
-#endif
-    return s_szIPBuffer;
-    }
-
-char* szIPFromName (const char* szName)
-    {
-    static char szIPBuffer[16]; //123.123.123.123\0
-
-    struct addrinfo* pstResult = NULL;
-
-    int lErr = getaddrinfo (szName, NULL, NULL, &pstResult);
-    if (lErr != 0)
-        {
-        szIPBuffer[0] = '\0';
-        return szIPBuffer;
-        }
-
-    struct sockaddr_in *ipv = (struct sockaddr_in *)pstResult->ai_addr;
-
-    // Convert the binary IP address into a readable string.
-    if (lInet_ntop (ipv, szIPBuffer) == SOCKET_ERROR)
-        {
-        freeaddrinfo (pstResult);
-        return NULL;
-        }
-    freeaddrinfo (pstResult);
-
-    return szIPBuffer;
-    }
-
-int lInet_pton (const char* szHostname, struct sockaddr_in* pstSockAddr)
-    {
-#if defined(_MSC_VER) && (_MSC_VER < 1900) // for compilation with older VS. 1900 = VS2015
-    pstSockAddr->sin_addr.s_addr = inet_addr (szHostname);
-#else
-    if (inet_pton (AF_INET, szIPFromName (szHostname), &(pstSockAddr->sin_addr)) <= 0)
-        {
-        return SOCKET_ERROR;
-        }
-#endif
-    return 0;
-    }
-
-int lInet_ntop (const struct sockaddr_in* pstSockAddr, char* szIP)
-    {
-#if defined(_MSC_VER) && (_MSC_VER < 1900) // for compilation with older VS. 1900 = VS2015
-    strncpy (szIP, inet_ntoa (pstSockAddr->sin_addr), SIZEOF_IPADDR);
-#else
-    if (inet_ntop (AF_INET, &(const_cast < struct sockaddr_in* > (pstSockAddr)->sin_addr), szIP, SIZEOF_IPADDR) == NULL)
-        {
-        return SOCKET_ERROR;
-        }
-#endif
-    return 0;
-    }
-
-} // /SPCM_NAMESPACE
diff --git a/Cpp/examples/c_cpp/common/ostools/spcm_network_winLin.h b/Cpp/examples/c_cpp/common/ostools/spcm_network_winLin.h
deleted file mode 100644
index 4220db88d0ff76e4bd70b07c4e13546d0e938099..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/common/ostools/spcm_network_winLin.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/******************************************************************************/
-/* File name  : socketAPI.c                                                      */
-/* Description: API for windows and linux                                      */
-/*              This file contains the most needed function for using network */
-/******************************************************************************/
-#ifndef NETWORKWINLIN_H
-#define NETWORKWINLIN_H
-
-#if defined(WIN32) || defined (WIN64)
-#   include <Winsock2.h>
-#   include <ws2tcpip.h>
-#   include <windows.h>
-#   include <iphlpapi.h>
-
-#   pragma comment(lib, "IPHLPAPI.lib")
-#   define MALLOC(x) HeapAlloc(GetProcessHeap(), 0, (x))
-#   define FREE(x) HeapFree(GetProcessHeap(), 0, (x))
-
-typedef int ssize_t;
-#else
-#   include <netinet/in.h>
-#   include <netinet/tcp.h>
-#   include <arpa/inet.h>
-#   include <sys/types.h>
-#   include <sys/socket.h>
-#   include <unistd.h>
-#   include <netdb.h>
-#   include <string.h>
-#   include <sys/ioctl.h>
-#   include <net/if.h>
-#   include <ctype.h>
-
-typedef int SOCKET;
-#   define SOCKET_ERROR     -1
-#   define INVALID_SOCKET   -1
-
-#endif
-
-#define MAX_CONN 16 // TODO: 16 guter Wert?
-
-#define SIZEOF_IPADDR           16  //xxx.xxx.xxx.xxx
-#define SIZEOF_IPADDR6          46  //xxx.xxx.xxx.xxx
-#define SIZEOF_MACADDR          7  //xx xx xx xx
-
-// ----- driver dll includes -----
-#include "../../c_header/dlltyp.h"
-#include "../../c_header/regs.h"
-#include "../../c_header/spcerr.h"
-
-#include <cstdio>
-#include <cstdlib>
-#include <string>
-
-// our own namespace
-namespace SPCM_NAMESPACE {
-
-uint32 dwInitNetwork    ();
-void   vShutdownNetwork ();
-
-// ----- functions for connecting -----
-SOCKET lSocket  (int32 lDomain, int32 lType, int32 lProtocol);
-int32 lBind    (SOCKET lSockfd, const struct sockaddr* pstAddr, socklen_t plAddrlen);
-int32 lListen  (SOCKET lSockfd, int32 lBacklog);
-int32 lConnect (SOCKET lSockfd, const struct sockaddr* pstAddr, socklen_t plAddrlen);
-SOCKET lAccept  (SOCKET lSockfd, struct sockaddr* pstAddr, socklen_t* plAddrlen);
-int32 lClose   (SOCKET lSockfd);
-
-//receiving data
-ssize_t dwRead (SOCKET lSockfd, void* pvBuf, size_t dwLen);
-ssize_t dwRecv (SOCKET lSockfd, void* pvBuf, size_t dwLen, int32 lFlags);
-ssize_t dwRecvfrom (SOCKET lSockfd, void* pvBuf, size_t dwLen, int32 lFlags, struct sockaddr* pstSrcAddr, socklen_t* plAddrlen);
-
-//sending data
-ssize_t dwWrite (SOCKET lSockfd, const void* pvBuf, size_t dwLen);
-ssize_t dwSend (SOCKET lSockfd, const void* pvBuf, size_t dwLen, int32 lFlags);
-ssize_t dwSendto (SOCKET lSockfd, const void* pvBuf, size_t dwLen, int32 lFlags, const struct sockaddr* pstDestAddr, socklen_t lAddrlen);
-
-int lSelect (SOCKET lSockfd, fd_set* pstReadFds, fd_set* pstWriteFds, fd_set* pstExceptFds, struct timeval* pstTimeout);
-
-//info functions
-int32 lSetsockopt (SOCKET lSockfd, int32 lLevel, int32 lOptname, const void* pvOptval, socklen_t lOptlen);
-int32 lGetaddrinfo (const char* pcNode, const char* pcService, const struct addrinfo* pstHints, struct addrinfo** ppstRes);
-int32 lGetpeername (SOCKET lSockfd, struct sockaddr* pstAddr, socklen_t* plAddrlen );
-int32 lGetnameinfo (const struct sockaddr* pstSa, socklen_t lSalen, char* pcHost, size_t lHostlen, char* pcServ, size_t lServlen, int32 lFlags);
-int32 lSetSocketBlocking (SOCKET lSockfd, bool bBlock);
-const char* pcInet_ntop (int32 lAf, const void* pvSrc, char* pcDst, socklen_t lSize);
-int lInet_pton (const char* szHostname, struct sockaddr_in* pstSockAddr);
-int lInet_ntop (const struct sockaddr_in* pstSockAddr, char* szIP);
-
-uint32 dwGetNumNICs ();
-uint32 dwFindOwnIpAdr (int32 lNICIdx, SOCKET lSockfd, char* szOwnIpAddress);
-void vGetIPAndSubnetMask (int32 lNICIdx, SOCKET lSockfd, char* szIPAddress, char* szSubNetMask);
-
-std::string sGetAdapterName (uint32 dwNICIdx);
-int32 lGetMacAddress (char* szMacAddress);
-int32 lGetMacAddress (uint64* pqwMacAddress);
-
-int32 lGetNetworkErrorCode ();
-char* szNetworkErrorMessage (int32 lErrorCode);
-
-char* szIPFromName (const char* szName);
-
-// used by netbox state monitor
-const char* szIPFromSockAddr (const struct sockaddr_in* pstIP);
-uint32 dwGetNetboxState (const char* szIP, uint32 dwTimeout_ms, char* szNetboxType, uint32* pdwState);
-
-} // /SPCM_NAMESPACE
-
-#endif //NETWORKWINLIN_H
diff --git a/Cpp/examples/c_cpp/common/ostools/spcm_ostools.h b/Cpp/examples/c_cpp/common/ostools/spcm_ostools.h
deleted file mode 100644
index 1672ec66cbfc42a69e0acca5a24e9492f7a09f18..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/common/ostools/spcm_ostools.h
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
-**************************************************************************
-
-spcm_ostools.h                                 (c) Spectrum GmbH , 09/2005
-
-**************************************************************************
-
-tools functions that differ from OS to OS:
-- min/max macros
-- Keyboard
-- Threads
-- Events
-- Mutex
-- Page aligned memory allocation
-
-**************************************************************************
-*/
-
-
-#ifndef SPCM_OSTOOLS_H
-#define SPCM_OSTOOLS_H
-
-#include "../../c_header/dlltyp.h"
-#include "spcm_oswrap.h"
-
-
-/* 
-**************************************************************************
-define our own namespace if it isn't defined yet. This is necessary to 
-avoid name conflicts as this file is also used inside the driver 
-**************************************************************************
-*/
-
-#ifndef SPCM_NAMESPACE
-#   define SPCM_NAMESPACE spcmdrv
-#endif
-
-namespace SPCM_NAMESPACE {
-
-/* 
-**************************************************************************
-misc helper functions
-**************************************************************************
-*/
-uint32 dwGetTickCount();
-
-void vSleep_ms (unsigned int dwMS);
-uint32 dwSleep_ms (unsigned int dwMS);
-
-
-/* 
-**************************************************************************
-Keyboard functions
-**************************************************************************
-*/
-
-// check for key pressed
-int bKbhit(void);
-
-// get one character from keyboard
-int cGetch();
-
-
-
-/* 
-**************************************************************************
-thread functions
-**************************************************************************
-*/
-
-// define the thread function 
-typedef SPCM_THREAD_RETURN (SPCM_THREAD_CALLTYPE SPCM_THREADFUNCTION) (void* pvArguments);
-
-// define the thread priority settings
-enum SPCM_THREADPRIO {ePrioMin, ePrioNormal, ePrioMax};
-
-
-
-// creates a thread with the given function name, returns false if creation failed
-bool spcm_bCreateThread (SPCM_THREADFUNCTION* pfnThread, SPCM_THREAD_HANDLE* phThread, void* pvArguments);
-
-// joins (waits for termination)
-void spcm_vJoinThread  (SPCM_THREAD_HANDLE* phThread, uint32 dwTimeout_ms);
-
-// closes the thread handle
-void spcm_vCloseThread (SPCM_THREAD_HANDLE* phThread);
-
-// suspend the thread for xx milli seconds
-void spcm_vSuspendThread (uint32 dwMS);
-
-// sets the priority of the thread
-void spcm_vSetThreadPriority (SPCM_THREAD_HANDLE* phThread, SPCM_THREADPRIO ePriority);
-
-
-
-/* 
-**************************************************************************
-event (linux: condition) functions
-**************************************************************************
-*/
-
-// create an event 
-bool spcm_bCreateEvent (SPCM_EVENT_HANDLE* phEvent);
-
-// close an event
-void spcm_vCloseEvent (SPCM_EVENT_HANDLE* phEvent);
-
-// wait for one event with timeout, true if event was received, false if timeout occurs, timeout zero means that we wait forever
-bool spcm_bWaitEventWithMutex (SPCM_EVENT_HANDLE* phEvent, SPCM_MUTEX_HANDLE* phMutex, uint32 dwTimeoutMS = 0);
-
-// wait for one event without timeout and mutex
-void spcm_vWaitEvent (SPCM_EVENT_HANDLE* phEvent);
-
-// signal an event 
-void spcm_vSignalEvent (SPCM_EVENT_HANDLE* phEvent);
-
-
-
-/* 
-**************************************************************************
-mutex functions
-**************************************************************************
-*/
-
-// create a mutex
-bool spcm_bCreateMutex (SPCM_MUTEX_HANDLE* phMutex);
-
-// close the mutex
-void spcm_vCloseMutex (SPCM_MUTEX_HANDLE* phMutex);
-
-// get the mutex
-void spcm_vGetMutex (SPCM_MUTEX_HANDLE* phMutex);
-
-// release the mutex
-void spcm_vReleaseMutex (SPCM_MUTEX_HANDLE* phMutex);
-
-
-
-/* 
-**************************************************************************
-memory allocation functions for page aligned allocation
-**************************************************************************
-*/
-
-// allocate a memory region of the given size in bytes, data is page aligned
-void* pvAllocMemPageAligned (uint64 qwBytes);
-
-// free this data
-void  vFreeMemPageAligned (void* pvMemory, uint64 qwBytes);
-
-
-
-/* 
-**************************************************************************
-system information functions
-It is not possible to compile this function with the default SDK of
-Visual Studio 6.0.
-**************************************************************************
-*/
-
-#if (defined (_MSC_VER) && (_MSC_VER >= 1300)) || defined (__GNUC__)
-    uint64 qwGetTotalPhysicalMemory ();
-    uint64 qwGetTotalVirtualMemory  ();
-#endif
-
-
-/*
-**************************************************************************
-clipboard handling
-**************************************************************************
-*/
-void vCopyToClipboard (const char* szText, size_t dwLen);
-
-} // end of namespace SPCM_NAMESPACE
-
-
-// our namespace that we use inside the ostools functions
-using namespace SPCM_NAMESPACE;
-
-
-#endif
diff --git a/Cpp/examples/c_cpp/common/ostools/spcm_ostools_linux.cpp b/Cpp/examples/c_cpp/common/ostools/spcm_ostools_linux.cpp
deleted file mode 100644
index 3380bef6ad19b5724db16d7ce348aa32335ba182..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/common/ostools/spcm_ostools_linux.cpp
+++ /dev/null
@@ -1,375 +0,0 @@
-/*
-**************************************************************************
-
-spcm_ostools.cpp                                         (c) Spectrum GmbH
-
-**************************************************************************
-
-toosl functions that differ from OS to OS:
-- Threads
-- Events
-
-**************************************************************************
-*/
-
-#include "../../c_header/dlltyp.h"
-
-#include "spcm_oswrap.h"
-#include "spcm_ostools.h"
-
-#include <pthread.h>
-#include <sys/time.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <sys/sysinfo.h>
-#include <unistd.h>
-
-#include <termios.h> 
-#include <string.h> 
-#include <stdio.h>
-
-
-// we're using this namespace in our program
-namespace SPCM_NAMESPACE {
-
-
-/*
-**************************************************************************
-dwGetTickCount: fake windows GetTickCount function for linux
-**************************************************************************
-*/
-
-uint32 dwGetTickCount ()
-    {
-    struct timespec ts;
-    clock_gettime (0, &ts);
-    return (uint32) 1000 * ts.tv_sec + ts.tv_nsec / 1000000;
-    }
-
-
-/*
-**************************************************************************
-Sleep: suspend the thread for the number of ms
-       On some systems is the usleep parameter limited to 1000000.
-**************************************************************************
-*/
-
-void vSleep_ms (uint32 dwMS)
-    {
-    uint32 dwRest_us, dwActual_us;
-
-    dwRest_us = dwMS * 1000;
-
-    // do/while construct to call usleep with zero delay too
-    do
-        {
-        dwActual_us = dwRest_us;
-        if (dwActual_us > 500000)
-            dwActual_us = 500000;
-
-        dwRest_us -= dwActual_us;
-
-        usleep (dwActual_us);
-        }
-    while (dwRest_us);
-    }
-
-
-/* 
-**************************************************************************
-Keyboard workaround functions
-**************************************************************************
-*/
-
-
- int cGetch() 
-    { 
-    static int ch = -1, fd = 0; 
-    struct termios stTerm, stOldTerm; 
-
-    fd = fileno(stdin); 
-    tcgetattr(fd, &stOldTerm); 
-    stTerm = stOldTerm; 
-    stTerm.c_lflag &= ~(ICANON|ECHO); 
-    tcsetattr(fd, TCSANOW, &stTerm); 
-    ch = getchar(); 
-    tcsetattr(fd, TCSANOW, &stOldTerm); 
-
-    return ch; 
- }
-
-// ***********************************************************************
-
-int bKbhit(void) 
-    { 
-    struct termios stTerm, stOldTerm; 
-    int fd = 0; 
-    int c = 0; 
-
-    tcgetattr(fd, &stOldTerm); 
-    memcpy(&stTerm, &stOldTerm, sizeof (stOldTerm)); 
-    stTerm.c_lflag = stTerm.c_lflag & (!ICANON); 
-    stTerm.c_cc[VMIN] = 0; 
-    stTerm.c_cc[VTIME] = 1; 
-    tcsetattr(fd, TCSANOW, &stTerm); 
-    c = getchar(); 
-    tcsetattr(fd, TCSANOW, &stOldTerm); 
-    if (c != -1) 
-        ungetc (c, stdin); 
-
-    return ((c != -1) ? 1 : 0); 
-    }
-
-
-
-/*
-**************************************************************************
-memory allocation (page aligned)
-**************************************************************************
-*/
-
-void* pvAllocMemPageAligned (uint64 qwBytes)
-    {
-    void* pvTmp;
-    int fd = open ("/dev/zero", O_RDONLY);
-    pvTmp = (void*) mmap (NULL, qwBytes, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0);
-
-    // set everything to zero to get memory allocated in physical mem
-    if (pvTmp != MAP_FAILED)
-       memset (pvTmp, 0, qwBytes);
-    else
-        pvTmp = NULL;
-
-    close (fd);
-    return (pvTmp);
-    }
-
-// ***********************************************************************
-
-void vFreeMemPageAligned (void* pvAdr, uint64 qwBytes)
-    {
-    munmap (pvAdr, qwBytes);
-    }
-
-
-
-/* 
-**************************************************************************
-Thread functions
-**************************************************************************
-*/
-
-bool spcm_bCreateThread (SPCM_THREADFUNCTION* pfnThread, SPCM_THREAD_HANDLE* phThread, void* pvArguments)
-    {
-    pthread_create (phThread, NULL, pfnThread, pvArguments);
-
-    return ((*phThread) != 0);
-    }
-
-// ***********************************************************************
-
-void spcm_vCloseThread (SPCM_THREAD_HANDLE* phThread)
-    {
-    pthread_detach (*phThread);
-    }
-
-// ***********************************************************************
- 
-void spcm_vSetThreadPriority (SPCM_THREAD_HANDLE* phThread, SPCM_THREADPRIO ePriority)
-    {
-    struct sched_param stSchedParams;
-    int32 lPolicy;
-    pthread_getschedparam (*phThread, &lPolicy, &stSchedParams);
-    if (lPolicy == SCHED_OTHER)
-        {
-        switch (ePriority)
-            {
-            case ePrioMin:
-                stSchedParams.sched_priority = 5; // we are nice
-                break;
-            case ePrioNormal:
-                stSchedParams.sched_priority = 0; // we are normally nice
-                break;
-            case ePrioMax:
-                stSchedParams.sched_priority = -5; // we are not so nice
-                break;
-            }
-        }
-    else
-        {
-        int lPrioMin = sched_get_priority_min (lPolicy);
-        int lPrioMax = sched_get_priority_max (lPolicy);
-        switch (ePriority)
-            {
-            case ePrioMin:
-                stSchedParams.sched_priority = (lPrioMax - lPrioMin) / 4;
-                break;
-            case ePrioNormal:
-                stSchedParams.sched_priority = (lPrioMax - lPrioMin) / 2;
-                break;
-            case ePrioMax:
-                stSchedParams.sched_priority = 3 * (lPrioMax - lPrioMin) / 4;
-                break;
-            }
-        }
-
-    pthread_setschedparam (*phThread, lPolicy, &stSchedParams);
-    }
-
-// ***********************************************************************
-
-void spcm_vJoinThread  (SPCM_THREAD_HANDLE* phThread, uint32 /*dwTimeout_ms*/)
-    {
-    pthread_join (*phThread, NULL);
-    }
-
-// ***********************************************************************
-
-void spcm_vSuspendThread (uint32)
-    {
-    sched_yield();
-    }
-
-
-
-/* 
-**************************************************************************
-Event functions
-**************************************************************************
-*/
-
-bool spcm_bCreateEvent (SPCM_EVENT_HANDLE* phEvent)
-    {
-    return (pthread_cond_init (phEvent, NULL) == 0);
-    }
-
-// ***********************************************************************
-
-void spcm_vCloseEvent (SPCM_EVENT_HANDLE* phEvent)
-    {
-    pthread_cond_destroy (phEvent);
-    }
-
-// ***********************************************************************
-
-bool spcm_bWaitEventWithMutex (SPCM_EVENT_HANDLE* phEvent, SPCM_MUTEX_HANDLE* phMutex, uint32 dwTimeoutMS)
-    {
-    struct timespec ts;
-    struct timeval  tp;
-    bool bRet;
-
-    // get the current time and convert from timeval to timespec
-    if (dwTimeoutMS)
-        {
-        gettimeofday(&tp, NULL);
-        ts.tv_sec  = tp.tv_sec;
-        ts.tv_nsec = tp.tv_usec * 1000;
-
-        // add my wait time
-        ts.tv_sec  +=  ((ts.tv_nsec / 1000 / 1000) + dwTimeoutMS) / 1000;
-        ts.tv_nsec  = (((ts.tv_nsec / 1000 / 1000) + dwTimeoutMS) % 1000) * 1000 * 1000;
-
-        bRet = (pthread_cond_timedwait (phEvent, phMutex, &ts) == 0);
-        }
-
-    // no timeout specified, we wait forever
-    else
-        bRet = (pthread_cond_wait (phEvent, phMutex) == 0);
-
-    return bRet;
-    }
-
-// ***********************************************************************
- 
-void spcm_vWaitEvent (SPCM_EVENT_HANDLE* phEvent)
-    {
-    pthread_mutex_t hTmpMutex;
-
-    pthread_mutex_init (&hTmpMutex, NULL);
-    pthread_mutex_lock (&hTmpMutex);
-    pthread_cond_wait (phEvent, &hTmpMutex);
-    pthread_mutex_destroy (&hTmpMutex);
-    }
-
-// ***********************************************************************
-
-void spcm_vSignalEvent (SPCM_EVENT_HANDLE* phEvent)
-    {
-    pthread_cond_signal (phEvent);
-    }
-
-
-
-/* 
-**************************************************************************
-mutex functions
-**************************************************************************
-*/
-
-bool spcm_bCreateMutex (SPCM_MUTEX_HANDLE* phMutex)
-    {
-    // as default Mutexes are recursive on Windows, but not on Linux,
-    // so to avoid different behaviour we also use recursive mutexes here
-    pthread_mutexattr_t ma;
-    pthread_mutexattr_init (&ma);
-    pthread_mutexattr_settype (&ma, PTHREAD_MUTEX_RECURSIVE);
-    return (pthread_mutex_init (phMutex, &ma) == 0);
-    }
-
-// ***********************************************************************
-
-void spcm_vCloseMutex (SPCM_MUTEX_HANDLE* phMutex)
-    {
-    pthread_mutex_destroy (phMutex);
-    }
-
-// ***********************************************************************
-
-void spcm_vGetMutex (SPCM_MUTEX_HANDLE* phMutex)
-    {
-    pthread_mutex_lock (phMutex);
-    }
-
-// ***********************************************************************
-
-void spcm_vReleaseMutex (SPCM_MUTEX_HANDLE* phMutex)
-    {
-    pthread_mutex_unlock (phMutex);
-    }
-
-
-
-/* 
-**************************************************************************
-system information functions
-**************************************************************************
-*/
-
-uint64 qwGetTotalPhysicalMemory ()
-    {
-    struct sysinfo stSysInfo;
-    sysinfo (&stSysInfo);
-    return ((uint64)stSysInfo.totalram) * stSysInfo.mem_unit;
-    }
-
-uint64 qwGetTotalVirtualMemory ()
-    {
-#ifdef _LINUX64
-    return (uint64)8 * 1024 * 1024 * 1024 * 1024; // 8TB, value taken from 64-Bit Windows
-#else // 32 bit
-    return (uint64)3 * 1024 * 1024 * 1024;        // 3GB for user-space in linux systems
-#endif
-    }
-
-
-/*
-**************************************************************************
-Copy data to clipboard
-**************************************************************************
-*/
-void vCopyToClipboard (const char* /*szText*/, size_t /*dwLen*/)
-    {
-    // not yet implemented
-    }
-
-} // end of SPCM_NAMESPACE
diff --git a/Cpp/examples/c_cpp/common/ostools/spcm_ostools_qnx.cpp b/Cpp/examples/c_cpp/common/ostools/spcm_ostools_qnx.cpp
deleted file mode 100644
index 47383fa10ba5e16b7a882fdd97588cf2e0e99114..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/common/ostools/spcm_ostools_qnx.cpp
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
-**************************************************************************
-
-spcm_ostools_qnx.cpp                                     (c) Spectrum GmbH
-
-**************************************************************************
-
-toosl functions that differ from OS to OS:
-- Threads
-- Events
-
-**************************************************************************
-*/
-
-#include "../../c_header/dlltyp.h"
-
-#include "spcm_oswrap.h"
-#include "spcm_ostools.h"
-
-#include "../kernel/spcm_kernel.h"
-
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <sys/time.h>
-#include <sys/syspage.h>
-
-#include <pthread.h>
-#include <cstring>
-#include <cstdio>
-#include <termios.h> 
-#include <ctime>
-#include <unistd.h>
-
-#include <cerrno>
-
-// we're using this namespace in our program
-namespace SPCM_NAMESPACE {
-
-using namespace std;
-
-/*
-**************************************************************************
-GetTickCount: fake windows GetTickCount function for QNX
-**************************************************************************
-*/
-
-uint32 dwGetTickCount ()
-    {
-    struct timespec ts;
-    clock_gettime (0, &ts);
-    return (uint32) 1000 * ts.tv_sec + ts.tv_nsec / 1000000;
-    }
-
-
-/*
-**************************************************************************
-Sleep: suspend the thread for the number of ms
-       On some systems is the usleep parameter limited to 1000000.
-**************************************************************************
-*/
-
-void Sleep (uint32 dwMS)
-    {
-    uint32 dwRest_us, dwActual_us;
-
-    dwRest_us = dwMS * 1000;
-
-    // do/while construct to call usleep with zero delay too
-    do
-        {
-        dwActual_us = dwRest_us;
-        if (dwActual_us > 500000)
-            dwActual_us = 500000;
-
-        dwRest_us -= dwActual_us;
-
-        usleep (dwActual_us);
-        }
-    while (dwRest_us);
-    }
-
-
-/* 
-**************************************************************************
-Keyboard workaround functions
-**************************************************************************
-*/
-
-
- int cGetch ()
-    { 
-    static int ch = -1, fd = 0;
-    struct termios stTerm, stOldTerm;
-
-    fd = fileno(stdin);
-    tcgetattr(fd, &stOldTerm);
-    stTerm = stOldTerm;
-    stTerm.c_lflag &= ~(ICANON|ECHO);
-    tcsetattr(fd, TCSANOW, &stTerm);
-    ch = getchar();
-    tcsetattr(fd, TCSANOW, &stOldTerm);
-
-    return ch;
-    }
-
-// ***********************************************************************
-
-int bKbhit ()
-    {
-    struct termios stTerm, stOldTerm;
-    int fd = 0;
-    int c = 0;
-
-    tcgetattr(fd, &stOldTerm);
-    memcpy(&stTerm, &stOldTerm, sizeof (stOldTerm));
-    stTerm.c_lflag = stTerm.c_lflag & (!ICANON);
-    stTerm.c_cc[VMIN] = 0;
-    stTerm.c_cc[VTIME] = 1;
-    tcsetattr(fd, TCSANOW, &stTerm);
-    c = getchar();
-    tcsetattr(fd, TCSANOW, &stOldTerm);
-    if (c != -1)
-        ungetc (c, stdin);
-
-    return ((c != -1) ? 1 : 0);
-    }
-
-
-
-/*
-**************************************************************************
-memory allocation (page aligned)
-**************************************************************************
-*/
-
-void* pvAllocMemPageAligned (uint64 qwBytes)
-    {
-    void* pvTmp;
-    int fd = open ("/dev/zero", O_RDONLY);
-    pvTmp = (void*) mmap (NULL, qwBytes, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0);
-
-    // set everything to zero to get memory allocated in physical mem
-    if (pvTmp != MAP_FAILED)
-        memset (pvTmp, 0, qwBytes);
-    else
-        pvTmp = NULL;
-
-    close (fd);
-    return (pvTmp);
-    }
-
-// ***********************************************************************
-
-void vFreeMemPageAligned (void* pvAdr, uint64 qwBytes)
-    {
-    munmap (pvAdr, qwBytes);
-    }
-
-
-
-/* 
-**************************************************************************
-Thread functions
-**************************************************************************
-*/
-
-bool spcm_bCreateThread (SPCM_THREADFUNCTION* pfnThread, SPCM_THREAD_HANDLE* phThread, void* pvArguments)
-    {
-    return (pthread_create (phThread, NULL, pfnThread, pvArguments) == EOK);
-    }
-
-// ***********************************************************************
-
-void spcm_vCloseThread (SPCM_THREAD_HANDLE* phThread)
-    {
-    pthread_detach (*phThread);
-    }
-
-// ***********************************************************************
- 
-void spcm_vSetThreadPriority (SPCM_THREAD_HANDLE* phThread, SPCM_THREADPRIO ePriority)
-    {
-    struct sched_param stSchedParams;
-    int32 lPolicy;
-    pthread_getschedparam (*phThread, &lPolicy, &stSchedParams);
-    if (lPolicy == SCHED_OTHER)
-        {
-        switch (ePriority)
-            {
-            case ePrioMin:
-                stSchedParams.sched_priority = 5; // we are nice
-                break;
-            case ePrioNormal:
-                stSchedParams.sched_priority = 0; // we are normally nice
-                break;
-            case ePrioMax:
-                stSchedParams.sched_priority = -5; // we are not so nice
-                break;
-            }
-        }
-    else
-        {
-        int lPrioMin = sched_get_priority_min (lPolicy);
-        int lPrioMax = sched_get_priority_max (lPolicy);
-        switch (ePriority)
-            {
-            case ePrioMin:
-                stSchedParams.sched_priority = (lPrioMax - lPrioMin) / 4;
-                break;
-            case ePrioNormal:
-                stSchedParams.sched_priority = (lPrioMax - lPrioMin) / 2;
-                break;
-            case ePrioMax:
-                stSchedParams.sched_priority = 3 * (lPrioMax - lPrioMin) / 4;
-                break;
-            }
-        }
-
-    pthread_setschedparam (*phThread, lPolicy, &stSchedParams);
-    }
-
-// ***********************************************************************
-
-void spcm_vJoinThread  (SPCM_THREAD_HANDLE* phThread, uint32 /*dwTimeout_ms*/)
-    {
-    pthread_join (*phThread, NULL);
-    }
-
-// ***********************************************************************
-
-void spcm_vSuspendThread (uint32)
-    {
-    //pthread_yield ();
-    sched_yield (); // TODO: guter Ersatz?
-    }
-
-
-
-/* 
-**************************************************************************
-Event functions
-**************************************************************************
-*/
-
-bool spcm_bCreateEvent (SPCM_EVENT_HANDLE* phEvent)
-    {
-    // Set up the condvar attributes to use CLOCK_MONOTONIC
-    pthread_condattr_t attr;
-    pthread_condattr_init( &attr);
-    pthread_condattr_setclock( &attr, CLOCK_MONOTONIC);
-
-    return (pthread_cond_init (phEvent, &attr) == EOK);
-    }
-
-// ***********************************************************************
-
-void spcm_vCloseEvent (SPCM_EVENT_HANDLE* phEvent)
-    {
-    pthread_cond_destroy (phEvent);
-    }
-
-// ***********************************************************************
-
-bool spcm_bWaitEventWithMutex (SPCM_EVENT_HANDLE* phEvent, SPCM_MUTEX_HANDLE* phMutex, uint32 dwTimeoutMS)
-    {
-    bool bRet;
-
-    if (dwTimeoutMS)
-        {
-        struct timespec stTimeSpec;
-        clock_gettime (CLOCK_MONOTONIC, &stTimeSpec);
-
-        // add my wait time
-        stTimeSpec.tv_sec  +=  ((stTimeSpec.tv_sec) + dwTimeoutMS) / 1000;
-        stTimeSpec.tv_nsec  = (((stTimeSpec.tv_nsec / 1000 / 1000) + dwTimeoutMS) % 1000) * 1000 * 1000;
-
-        bRet = (pthread_cond_timedwait (phEvent, phMutex, &stTimeSpec) == 0);
-        }
-
-    // no timeout specified, we wait forever
-    else
-        bRet = (pthread_cond_wait (phEvent, phMutex) == 0);
-
-    return bRet;
-    }
-
-// ***********************************************************************
- 
-void spcm_vWaitEvent (SPCM_EVENT_HANDLE* phEvent)
-    {
-    pthread_mutex_t hTmpMutex;
-
-    pthread_mutex_init (&hTmpMutex, NULL);
-    pthread_mutex_lock (&hTmpMutex);
-    pthread_cond_wait (phEvent, &hTmpMutex);
-    pthread_mutex_destroy (&hTmpMutex);
-    }
-
-// ***********************************************************************
-
-void spcm_vSignalEvent (SPCM_EVENT_HANDLE* phEvent)
-    {
-    pthread_cond_signal (phEvent);
-    }
-
-
-
-/* 
-**************************************************************************
-mutex functions
-**************************************************************************
-*/
-
-bool spcm_bCreateMutex (SPCM_MUTEX_HANDLE* phMutex)
-    {
-    return (pthread_mutex_init (phMutex, NULL) == EOK);
-    }
-
-// ***********************************************************************
-
-void spcm_vCloseMutex (SPCM_MUTEX_HANDLE* phMutex)
-    {
-    pthread_mutex_destroy (phMutex);
-    }
-
-// ***********************************************************************
-
-void spcm_vGetMutex (SPCM_MUTEX_HANDLE* phMutex)
-    {
-    pthread_mutex_lock (phMutex);
-    }
-
-// ***********************************************************************
-
-void spcm_vReleaseMutex (SPCM_MUTEX_HANDLE* phMutex)
-    {
-    pthread_mutex_unlock (phMutex);
-    }
-
-
-
-/* 
-**************************************************************************
-system information functions
-**************************************************************************
-*/
-
-uint64 qwGetTotalPhysicalMemory ()
-    {
-    struct asinfo_entry* pstEntries = SYSPAGE_ENTRY(asinfo);
-    size_t count = SYSPAGE_ENTRY_SIZE(asinfo) / sizeof(struct asinfo_entry);
-    char* szStrings = SYSPAGE_ENTRY(strings)->data;
-
-    uint64 qwTotal = 0;
-    for (size_t i = 0; i < count; i++)
-        {
-        struct asinfo_entry* pstEntry = &pstEntries[i];
-        if (strcmp (szStrings + pstEntry->name, "ram") == 0)
-            {
-            qwTotal += pstEntry->end - pstEntry->start + 1;
-            }
-        }
-
-    return qwTotal;
-    }
-
-uint64 qwGetTotalVirtualMemory ()
-    {
-#ifdef _LINUX64
-    return (uint64)8 * 1024 * 1024 * 1024 * 1024; // 8TB, value taken from 64-Bit Windows
-#else // 32 bit
-    return (uint64)3 * 1024 * 1024 * 1024;        // 3GB for user-space in QNX systems
-#endif
-    }
-
-
-/*
-**************************************************************************
-Copy data to clipboard
-**************************************************************************
-*/
-void vCopyToClipboard (const char* szText, size_t dwLen)
-    {
-    // not yet implemented
-    }
-
-} // end of SPCM_NAMESPACE
diff --git a/Cpp/examples/c_cpp/common/ostools/spcm_ostools_win.cpp b/Cpp/examples/c_cpp/common/ostools/spcm_ostools_win.cpp
deleted file mode 100644
index 9b5740f81cd941b714645dbb417973c1df9c0580..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/common/ostools/spcm_ostools_win.cpp
+++ /dev/null
@@ -1,299 +0,0 @@
-/*
-**************************************************************************
-
-spcm_ostools.cpp                                         (c) Spectrum GmbH
-
-**************************************************************************
-
-toosl functions that differ from OS to OS:
-- Threads
-- Events
-
-**************************************************************************
-*/
-
-#include "../../c_header/dlltyp.h"
-
-#include "spcm_oswrap.h"
-#include "spcm_ostools.h"
-
-#include <conio.h>
-
-
-// we're using this namespace in our program
-namespace SPCM_NAMESPACE {
-
-
-uint32 dwGetTickCount ()
-    {
-    return ::GetTickCount ();
-    }
-
-void vSleep_ms (unsigned int dwMS)
-    {
-    ::Sleep (dwMS);
-    }
-
-// For easy (one-liner) debugging purpose (scope measurements) like:
-//    while (dwSleep_ms (123))
-//        FunctionToRepeatedlyTestWithDelay ();
-uint32 dwSleep_ms (unsigned int dwMS)
-    {
-    vSleep_ms (dwMS);
-    return dwMS;
-    }
-
-/* 
-**************************************************************************
-Keyboard functions (wrapped for combined linux/windows use)
-**************************************************************************
-*/
-
-int bKbhit(void)
-    {
-    return _kbhit();
-    }
-
-// ***********************************************************************
-
-int cGetch()
-    {
-    return _getch();
-    }
-
-
-
-/* 
-**************************************************************************
-Thread functions
-**************************************************************************
-*/
-
-bool spcm_bCreateThread (SPCM_THREADFUNCTION* pfnThread, SPCM_THREAD_HANDLE* phThread, void* pvArguments)
-    {
-    uint32 dwThreadId;
-
-    (*phThread) = CreateThread (NULL, 0, pfnThread, pvArguments, 0, &dwThreadId);
-
-    return ((*phThread) != NULL);
-    }
-
-// ***********************************************************************
-
-void spcm_vCloseThread (SPCM_THREAD_HANDLE* phThread)
-    {
-    if (*phThread)
-        CloseHandle (*phThread);
-    }
-
-// ***********************************************************************
-
-void spcm_vJoinThread  (SPCM_THREAD_HANDLE* phThread, uint32 dwTimeout_ms)
-    {
-    WaitForSingleObject (*phThread, dwTimeout_ms ? dwTimeout_ms : INFINITE); 
-    }
-
-// ***********************************************************************
-
-void spcm_vSetThreadPriority (SPCM_THREAD_HANDLE* phThread, SPCM_THREADPRIO ePriority)
-    {
-    switch (ePriority)
-        {
-        case ePrioMin:
-            SetThreadPriority (*phThread, THREAD_PRIORITY_BELOW_NORMAL);
-            break;
-        case ePrioNormal:
-            SetThreadPriority (*phThread, THREAD_PRIORITY_NORMAL);
-            break;
-        case ePrioMax:
-            SetThreadPriority (*phThread, THREAD_PRIORITY_ABOVE_NORMAL);
-            break;
-        }
-    }
-
-// ***********************************************************************
-
-void spcm_vSuspendThread (uint32 dwMS)
-    {
-    Sleep (dwMS);
-    }
-
-
-/* 
-**************************************************************************
-Event functions
-**************************************************************************
-*/
-
-bool spcm_bCreateEvent (SPCM_EVENT_HANDLE* phEvent)
-    {
-    (*phEvent) = CreateEvent (NULL, false, false, NULL);
-    return ((*phEvent) != NULL);
-    }
-
-// ***********************************************************************
-
-void spcm_vCloseEvent (SPCM_EVENT_HANDLE* phEvent)
-    {
-    if (*phEvent)
-        CloseHandle (*phEvent);
-    }
-
-// ***********************************************************************
-
-bool spcm_bWaitEventWithMutex (SPCM_EVENT_HANDLE* phEvent, SPCM_MUTEX_HANDLE* phMutex, uint32 dwTimeoutMS)
-    {
-    uint32 dwReturn;
-
-    // release the mutex, wait for the event and get the mutex again
-    LeaveCriticalSection (phMutex);
-    dwReturn = WaitForSingleObject ((*phEvent), dwTimeoutMS ? dwTimeoutMS : INFINITE);
-    EnterCriticalSection (phMutex);
-
-    return (dwReturn != WAIT_TIMEOUT);
-    }
-
-// ***********************************************************************
- 
-void spcm_vWaitEvent (SPCM_EVENT_HANDLE* phEvent)
-    {
-    WaitForSingleObject ((*phEvent), INFINITE);
-    }
-
-// ***********************************************************************
-
-void spcm_vSignalEvent (SPCM_EVENT_HANDLE* phEvent)
-    {
-    SetEvent (*phEvent);
-    }
-
-                 
-
-/* 
-**************************************************************************
-Mutex functions (we use CriticalSection here to speed it up!)
-**************************************************************************
-*/
-
-bool spcm_bCreateMutex (SPCM_MUTEX_HANDLE* phMutex)
-    {
-    InitializeCriticalSection (phMutex);
-    return true;
-    }
-
-// ***********************************************************************
-
-void spcm_vCloseMutex (SPCM_MUTEX_HANDLE* phMutex)
-    {
-    if (phMutex)
-        DeleteCriticalSection (phMutex);
-    }
-
-// ***********************************************************************
-
-void spcm_vGetMutex (SPCM_MUTEX_HANDLE* phMutex)
-    {
-    EnterCriticalSection (phMutex);
-    }
-
-// ***********************************************************************
-
-void spcm_vReleaseMutex (SPCM_MUTEX_HANDLE* phMutex)
-    {
-    LeaveCriticalSection (phMutex);
-    }
-
-
-
-/* 
-**************************************************************************
-Data allocation functions
-**************************************************************************
-*/
-
-void* pvAllocMemPageAligned (uint64 qwBytes)
-    {
-    // for unknown reasons VirtualAlloc/VirtualFree leaks memory if qwBytes < 4096 (page size)
-    // therefore use _aligned_malloc () to get small amounts of page aligned memory
-    if (qwBytes >= 4096)
-        return VirtualAlloc (NULL, (size_t) qwBytes, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
-    else
-        {
-        void* pvMem = _aligned_malloc ((size_t) qwBytes, 4096);
-        if (pvMem == NULL)
-            return NULL;
-        memset (pvMem, 0, (size_t) qwBytes);
-        return pvMem;
-        }
-    }
-
-// ***********************************************************************
-
-void vFreeMemPageAligned (void* pvMemory, uint64 qwBytes)
-    {
-    // for unknown reasons VirtualAlloc/VirtualFree leaks memory if qwBytes < 4096 (page size)
-    // therefore use _aligned_malloc () to get small amounts of page aligned memory    
-    if (qwBytes >= 4096)
-        VirtualFree (pvMemory, 0, MEM_RELEASE);
-    else
-        _aligned_free (pvMemory);
-    }
-
-/* 
-**************************************************************************
-System information functions
-It is not possible to compile this function with the default SDK of
-Visual Studio 6.0.
-**************************************************************************
-*/
-
-#if defined (_MSC_VER) && (_MSC_VER >= 1300)
-    uint64 qwGetTotalPhysicalMemory ()
-        {
-        MEMORYSTATUSEX stMemoryStatus;
-        stMemoryStatus.dwLength = sizeof (stMemoryStatus);
-        GlobalMemoryStatusEx (&stMemoryStatus);
-        return stMemoryStatus.ullTotalPhys;
-        }
-
-    uint64 qwGetTotalVirtualMemory ()
-        {
-        MEMORYSTATUSEX stMemoryStatus;
-        stMemoryStatus.dwLength = sizeof (stMemoryStatus);
-        GlobalMemoryStatusEx (&stMemoryStatus);
-        return stMemoryStatus.ullTotalVirtual;
-        }
-#endif
-
-
-/*
-**************************************************************************
-Copy data to clipboard
-**************************************************************************
-*/
-void vCopyToClipboard (const char* szText, size_t dwLen)
-    {
-    HGLOBAL hMemory =  GlobalAlloc (GMEM_MOVEABLE, dwLen + 1);
-    if (!hMemory)
-        return;
-
-    LPVOID pvLockedMem = GlobalLock (hMemory);
-    if (!pvLockedMem)
-        {
-        GlobalFree (hMemory);
-        return;
-        }
-
-    memcpy (pvLockedMem, szText, dwLen + 1);
-    GlobalUnlock (hMemory);
-    if (OpenClipboard  (NULL))
-        {
-        if (EmptyClipboard ())
-            {
-            SetClipboardData (CF_TEXT, hMemory); // system takes ownership of hMemory!
-            CloseClipboard ();
-            }
-        }
-    }
-
-} // end of namespace SPCM_NAMESPACE
diff --git a/Cpp/examples/c_cpp/common/ostools/spcm_oswrap.h b/Cpp/examples/c_cpp/common/ostools/spcm_oswrap.h
deleted file mode 100644
index c9e0e1baba0c5acd8e0ac6e13db8748752c399e5..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/common/ostools/spcm_oswrap.h
+++ /dev/null
@@ -1,73 +0,0 @@
-#ifndef SPCM_OSWRAP_H
-#define SPCM_OSWRAP_H
-
-
-
-/*
-**************************************************************************
-
-spcm_oswrap.h                                  (c) Spectrum GmbH , 08/2005
-
-**************************************************************************
-
-Contains some wrapper functions, OS specific defines and OS specific 
-includes to make the source compilable independant of the operating
-system
-
-**************************************************************************
-*/
-
-
-
-
-
-/*
-**************************************************************************
-Windows
-**************************************************************************
-*/
-
-#ifdef WIN32
-
-// ----- Windows specific includes -----
-#   include <wtypes.h>
-
-// ----- Windows specific defines
-#   define NULL_HANDLE NULL
-#   define SPCM_THREAD_RETURN uint32
-#   define SPCM_THREAD_CALLTYPE _stdcall
-
-// ----- handles -----
-#   define SPCM_THREAD_HANDLE   HANDLE
-#   define SPCM_EVENT_HANDLE    HANDLE
-#   define SPCM_MUTEX_HANDLE    CRITICAL_SECTION
-
-#   ifdef _MSC_VER
-#       if (_MSC_VER < 1900) // 1900 = VS2015
-#           define snprintf _snprintf
-#       endif
-#   endif
-
-
-/*
-**************************************************************************
-Linux
-**************************************************************************
-*/
-#else
-#   include <unistd.h>
-#   include <pthread.h>
-
-// ----- Linux specific defines -----
-#   define NULL_HANDLE 0
-#   define _stdcall
-#   define SPCM_THREAD_RETURN void*
-#   define SPCM_THREAD_CALLTYPE
-
-// ----- handles -----
-#   define SPCM_THREAD_HANDLE   pthread_t
-#   define SPCM_EVENT_HANDLE    pthread_cond_t
-#   define SPCM_MUTEX_HANDLE    pthread_mutex_t
-#endif
-
-#endif //#ifndef SPCM_OSWRAP_H
diff --git a/Cpp/examples/c_cpp/common/spcm_lib_card.cpp b/Cpp/examples/c_cpp/common/spcm_lib_card.cpp
deleted file mode 100644
index e543de8932d41cf830c55ab84c3e63c18f25ef50..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/common/spcm_lib_card.cpp
+++ /dev/null
@@ -1,1818 +0,0 @@
-/*
-**************************************************************************
-
-spcm_lib_card.cpp                                        (c) Spectrum GmbH
-
-**************************************************************************
-
-Supplies different common functions for C/C++ programs accessing the
-SpcM driver interface. Feel free to use this source for own projects and
-modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-
-// ----- standard c include files -----
-#include <cstdio>
-#include <cstring>
-#include <cstdlib>
-
-
-
-/*
-**************************************************************************
-**************************************************************************
-**************************************************************************
-  Initialisation and error handling
-**************************************************************************
-**************************************************************************
-**************************************************************************
-*/
-
-
-
-/*
-**************************************************************************
-bSpcMInitCardByIdx:
-
-opens the driver with the given indes, reads out card information and
-fills the CARDINFO structure
-**************************************************************************
-*/
-
-bool bSpcMInitCardByName (ST_SPCM_CARDINFO *pstCardInfo, char* szDrvName);
-
-bool bSpcMInitCardByIdx (ST_SPCM_CARDINFO *pstCardInfo, int32 lCardIdx)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    // open the driver for card. We can use the linux notation here as the windows driver
-    // only looks for the ending number. Change this line if the linux drivers are named
-    // different than default
-    char szDrvName[20];
-    sprintf (szDrvName, "/dev/spcm%d", lCardIdx);
-    return bSpcMInitCardByName (pstCardInfo, szDrvName);
-    }
-
-bool bSpcMInitCardByIdx (ST_SPCM_CARDINFO *pstCardInfo, const char* szIP, int32 lCardIdx)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    char szVISA[50];
-    sprintf (szVISA, "TCPIP::%s::inst%d::INSTR", szIP, lCardIdx);
-    return bSpcMInitCardByName (pstCardInfo, szVISA);
-    }
-
-bool bSpcMInitCardByName (ST_SPCM_CARDINFO *pstCardInfo, char* szDrvName)
-    {
-    int32 lTmp;
-
-    // clear the card info to have defined values
-    memset ((void*) pstCardInfo, 0, sizeof(ST_SPCM_CARDINFO));
-    pstCardInfo->lSetChannels =     1;
-    pstCardInfo->llSetSamplerate =  1;
-
-
-    pstCardInfo->hDrv = spcm_hOpen (szDrvName);
-    if (!pstCardInfo->hDrv)
-        {
-        pstCardInfo->lErrorCode = spcm_dwGetErrorInfo_i32 (pstCardInfo->hDrv, NULL, NULL, pstCardInfo->szError);
-
-        // card might be just "in use", and we can display some more info then
-        spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_PCITYP,      &pstCardInfo->lCardType);
-        spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_PCISERIALNO, &pstCardInfo->lSerialNumber);
-
-        return false;
-        }
-
-    // ----- get index of card from name -----
-    if (strncmp (szDrvName, "TCPIP", 5) == 0)
-        {
-        // if VISA-String contains instX, we extract the number
-        // otherwise we default to zero
-        char* szInst = strstr (szDrvName, "inst");
-        if (szInst != NULL)
-            pstCardInfo->lCardIdx = atoi (strpbrk (szInst, "0123456789"));
-        else
-            pstCardInfo->lCardIdx = 0;
-
-        pstCardInfo->bRemote = true;
-        }
-    else
-        {
-        // name should be /dev/spcmX or just a number, so we locate first number in string
-        // and convert it to integer
-        pstCardInfo->lCardIdx = atoi (strpbrk (szDrvName, "0123456789"));
-        }
-
-    // read out card information and store it in the card info structure
-    spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_PCITYP,                 &pstCardInfo->lCardType);
-    spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_PCISERIALNO,            &pstCardInfo->lSerialNumber);
-    spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_PCIFEATURES,            &pstCardInfo->lFeatureMap);
-    spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_PCIEXTFEATURES,         &pstCardInfo->lExtFeatureMap);
-    spcm_dwGetParam_i64 (pstCardInfo->hDrv, SPC_PCIMEMSIZE,             &pstCardInfo->llInstMemBytes);
-    spcm_dwGetParam_i64 (pstCardInfo->hDrv, SPC_MIINST_MINADCLOCK,      &pstCardInfo->llMinSamplerate);
-    spcm_dwGetParam_i64 (pstCardInfo->hDrv, SPC_MIINST_MAXADCLOCK,      &pstCardInfo->llMaxSamplerate);
-    spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_MIINST_MODULES,         &pstCardInfo->lModulesCount);
-    spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_MIINST_CHPERMODULE,     &pstCardInfo->lMaxChannels);
-    spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_MIINST_BYTESPERSAMPLE,  &pstCardInfo->lBytesPerSample);
-    spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_GETDRVVERSION,          &pstCardInfo->lLibVersion);
-    spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_GETKERNELVERSION,       &pstCardInfo->lKernelVersion);
-
-
-    // fill in the examples flags
-    pstCardInfo->bM2i = false;
-    pstCardInfo->bM3i = false;
-    pstCardInfo->bM4i = false;
-    pstCardInfo->bM2p = false;
-    pstCardInfo->bM5i = false;
-    switch (pstCardInfo->lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M2ISERIES:     pstCardInfo->bM2i = true; break;
-        case TYP_M2IEXPSERIES:  pstCardInfo->bM2i = true; break;
-        case TYP_M3ISERIES:     pstCardInfo->bM3i = true; break;
-        case TYP_M3IEXPSERIES:  pstCardInfo->bM3i = true; break;
-        case TYP_M4IEXPSERIES:  pstCardInfo->bM4i = true; break;
-        case TYP_M4XEXPSERIES:  pstCardInfo->bM4i = true; break;
-        case TYP_M2PEXPSERIES:  pstCardInfo->bM2p = true; break;
-        case TYP_M5IEXPSERIES:  pstCardInfo->bM5i = true; break;
-        default:                break;
-        }
-
-    spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_PCIVERSION,             &lTmp);
-    pstCardInfo->lBaseHwVersion = (lTmp >> 16) & 0xffff;
-    pstCardInfo->lCtrlFwVersion = lTmp  & 0xffff;
-
-    spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_PCIMODULEVERSION,       &lTmp);
-    pstCardInfo->lModHwVersion = (lTmp >> 16) & 0xffff;
-    pstCardInfo->lModFwVersion = lTmp  & 0xffff;
-
-    // we need to recalculate the channels value as the driver returns channels per module
-    pstCardInfo->lMaxChannels *= pstCardInfo->lModulesCount;
-
-    // examin the type of driver
-    int32 lFncType;
-    spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_FNCTYPE,                &lFncType);
-
-    switch (lFncType)
-        {
-        case SPCM_TYPE_AI:  pstCardInfo->eCardFunction = AnalogIn; break;
-        case SPCM_TYPE_AO:  pstCardInfo->eCardFunction = AnalogOut; break;
-        case SPCM_TYPE_DI:  pstCardInfo->eCardFunction = DigitalIn; break;
-        case SPCM_TYPE_DO:  pstCardInfo->eCardFunction = DigitalOut; break;
-        case SPCM_TYPE_DIO: pstCardInfo->eCardFunction = DigitalIO; break;
-        }
-
-    // loading the function dependant part of the CardInfo structure
-    switch (pstCardInfo->eCardFunction)
-        {
-        case AnalogIn:
-            {
-            int i;
-            int32 lAIFeatures;
-
-            spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_MIINST_BITSPERSAMPLE,  &pstCardInfo->uCfg.stAI.lResolution);
-            spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_READAIPATHCOUNT,  &pstCardInfo->uCfg.stAI.lPathCount);
-            for (int32 lPath = 0; lPath < pstCardInfo->uCfg.stAI.lPathCount; ++lPath)
-                {
-                spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_READAIPATH, lPath);
-
-                spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_READIRCOUNT, &pstCardInfo->uCfg.stAI.astPath[lPath].lRangeCount);
-                for (i=0; (i<pstCardInfo->uCfg.stAI.astPath[lPath].lRangeCount) && (i<SPCM_MAX_AIRANGE); i++)
-                    {
-                    spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_READRANGEMIN0 + i, &pstCardInfo->uCfg.stAI.astPath[lPath].lRangeMin[i]);
-                    spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_READRANGEMAX0 + i, &pstCardInfo->uCfg.stAI.astPath[lPath].lRangeMax[i]);
-                    }
-                spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_READAIFEATURES, &lAIFeatures);
-
-                pstCardInfo->uCfg.stAI.astPath[lPath].bInputTermAvailable = (lAIFeatures & SPCM_AI_TERM) != 0;
-                pstCardInfo->uCfg.stAI.astPath[lPath].bDiffModeAvailable =  (lAIFeatures & SPCM_AI_DIFF) != 0;
-                pstCardInfo->uCfg.stAI.astPath[lPath].bACCouplingAvailable =(lAIFeatures & SPCM_AI_ACCOUPLING) != 0;
-                pstCardInfo->uCfg.stAI.astPath[lPath].bBWLimitAvailable =   (lAIFeatures & SPCM_AI_LOWPASS) != 0;
-                pstCardInfo->uCfg.stAI.astPath[lPath].bOffsPercentMode =    (lAIFeatures & SPCM_AI_OFFSPERCENT) != 0;
-                }
-
-            // SPC_MIINST_MAXADCVALUE added with driver version 1.34, otherwise we have to calc it from the resolution
-            if (ERR_OK != spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_MIINST_MAXADCVALUE, &pstCardInfo->uCfg.stAI.lMaxADCValue))
-                {
-                spcm_dwGetErrorInfo_i32 (pstCardInfo->hDrv, NULL, NULL, NULL);
-                switch (pstCardInfo->uCfg.stAI.lResolution)
-                    {
-                    case 8:  pstCardInfo->uCfg.stAI.lMaxADCValue = 128; break;
-                    case 12: pstCardInfo->uCfg.stAI.lMaxADCValue = 2048; break;
-                    case 14: pstCardInfo->uCfg.stAI.lMaxADCValue = 8192; break;
-                    default:
-                    case 16: pstCardInfo->uCfg.stAI.lMaxADCValue = 32768; break;
-                    }
-                }
-
-            break;
-            }
-
-        case AnalogOut:
-            {
-            int32 lAOFeatures;
-
-            spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_READAOFEATURES, &lAOFeatures);
-            spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_MIINST_BITSPERSAMPLE,  &pstCardInfo->uCfg.stAO.lResolution);
-
-            pstCardInfo->uCfg.stAO.bGainProgrammable =       (lAOFeatures & SPCM_AO_PROGGAIN) != 0;
-            pstCardInfo->uCfg.stAO.bOffsetProgrammable =     (lAOFeatures & SPCM_AO_PROGOFFSET) != 0;
-            pstCardInfo->uCfg.stAO.bFilterAvailable =        (lAOFeatures & SPCM_AO_PROGFILTER) != 0;
-            pstCardInfo->uCfg.stAO.bStopLevelProgrammable =  (lAOFeatures & SPCM_AO_PROGSTOPLEVEL) != 0;
-            pstCardInfo->uCfg.stAO.bDiffModeAvailable =      (lAOFeatures & SPCM_AO_DIFF) != 0;
-
-            // SPC_MIINST_MAXADCVALUE added with driver version 1.34, otherwise we have to calc it from the resolution
-            if (ERR_OK != spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_MIINST_MAXADCVALUE, &pstCardInfo->uCfg.stAO.lMaxDACValue))
-                {
-                spcm_dwGetErrorInfo_i32 (pstCardInfo->hDrv, NULL, NULL, NULL);
-                switch (pstCardInfo->uCfg.stAO.lResolution)
-                    {
-                    case 8:  pstCardInfo->uCfg.stAO.lMaxDACValue = 127; break;
-                    case 12: pstCardInfo->uCfg.stAO.lMaxDACValue = 2047; break;
-                    case 14: pstCardInfo->uCfg.stAO.lMaxDACValue = 8191; break;
-                    default:
-                    case 16: pstCardInfo->uCfg.stAO.lMaxDACValue = 32767; break;
-                    }
-                }
-            else
-                {
-                // since driver version build 3738 is the value incremented
-                if ((pstCardInfo->lLibVersion & 0xffff) >= 3738)
-                    pstCardInfo->uCfg.stAO.lMaxDACValue--;
-                }
-
-            break;
-            }
-
-        case DigitalIn:
-        case DigitalOut:
-        case DigitalIO:
-            {
-            if ((pstCardInfo->eCardFunction == DigitalIn) || (pstCardInfo->eCardFunction == DigitalIO))
-                {
-                int32 lDIFeatures;
-                spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_READDIFEATURES, &lDIFeatures);
-
-                pstCardInfo->uCfg.stDIO.bInputTermAvailable = (lDIFeatures & SPCM_DI_TERM) != 0;
-                pstCardInfo->uCfg.stDIO.bDiffModeAvailable =  (lDIFeatures & SPCM_DI_DIFF) != 0;
-                }
-
-            if ((pstCardInfo->eCardFunction == DigitalOut) || (pstCardInfo->eCardFunction == DigitalIO))
-                {
-                int32 lDOFeatures;
-                spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_READDOFEATURES, &lDOFeatures);
-
-                pstCardInfo->uCfg.stDIO.bDiffModeAvailable =      (lDOFeatures & SPCM_DO_DIFF) != 0;
-                pstCardInfo->uCfg.stDIO.bStopLevelProgrammable =  (lDOFeatures & SPCM_DO_PROGSTOPLEVEL) != 0;
-                pstCardInfo->uCfg.stDIO.bOutputLevelProgrammable = (lDOFeatures & SPCM_DO_PROGOUTLEVELS) != 0;
-                }
-
-            // grouping is the number of channels in one group, we recalculate this to the number of groups
-            spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_READCHGROUPING, &pstCardInfo->uCfg.stDIO.lGroups);
-            pstCardInfo->uCfg.stDIO.lGroups = pstCardInfo->lMaxChannels / pstCardInfo->uCfg.stDIO.lGroups;
-
-            break;
-            }
-
-        default:
-            break;
-        }
-    return true;
-    }
-
-
-
-/*
-**************************************************************************
-vSpcMCloseCard:
-
-closes the driver
-**************************************************************************
-*/
-
-void vSpcMCloseCard (ST_SPCM_CARDINFO *pstCardInfo)
-    {
-    if (!pstCardInfo)
-        return;
-
-    if (pstCardInfo->hDrv)
-        {
-        spcm_vClose (pstCardInfo->hDrv);
-        pstCardInfo->hDrv = NULL;
-        }
-
-    }
-
-
-
-/*
-**************************************************************************
-nSpcMErrorMessageStdOut:
-
-prints the error message to std out and ends the driver if it's active
-program can be left with this function
-**************************************************************************
-*/
-
-int nSpcMErrorMessageStdOut (ST_SPCM_CARDINFO *pstCardInfo, const char* pszMessage, bool bPrintCardErr)
-    {
-    if (!pstCardInfo)
-        return -2;
-
-    printf ("%s", pszMessage);
-
-    if (bPrintCardErr)
-        printf ("%s", pstCardInfo->szError);
-
-    if (pstCardInfo->hDrv)
-        vSpcMCloseCard (pstCardInfo);
-    pstCardInfo->hDrv = NULL;
-
-    return -1;
-    }
-
-
-
-/*
-**************************************************************************
-pszSpcMTranslateRuntimeError: translates a runtime error code and prints
-                              it to a given buffer
-**************************************************************************
-*/
-
-char* pszSpcMTranslateRuntimeError (uint32 dwErrorCode, char* pszBuffer)
-    {
-    if (!pszBuffer)
-        return NULL;
-
-    switch (dwErrorCode)
-        {
-        case ERR_OK:                sprintf (pszBuffer, "No Error"); break;
-        case ERR_ABORT:             sprintf (pszBuffer, "Abort of Wait Function by Stop Command"); break;
-        case ERR_TIMEOUT:           sprintf (pszBuffer, "Timeout"); break;
-        case ERR_FIFOBUFOVERRUN:    sprintf (pszBuffer, "FIFO SW Buffer Overrun (acquisition) or Underrun (replay)"); break;
-        case ERR_FIFOHWOVERRUN:     sprintf (pszBuffer, "FIFO HW Buffer Overrun (acquisition) or Underrun (replay)"); break;
-        case ERR_FIFOFINISHED:      sprintf (pszBuffer, "FIFO Mode finished"); break;
-        default:                    sprintf (pszBuffer, "Unknown Error Code %d", dwErrorCode); break;
-        }
-
-    return pszBuffer;
-    }
-
-
-
-/*
-**************************************************************************
-pszSpcMPrintCardInfo: prints the card information to a string for display.
-**************************************************************************
-*/
-
-void vStrCatWithLen (char* pszDest, char* pszSource, int32 lStrLen)
-    {
-    int   nPos = 0;
-
-    while ((nPos++ < lStrLen) && (*pszDest))
-        pszDest++;
-
-    while (nPos < lStrLen)
-        {
-        *pszDest++ = *pszSource++;
-        if (!(*pszSource))
-            {
-            (*pszDest) = 0;
-            return;
-            }
-        }
-    }
-
-// *************************************************************************
-
-char* pszSpcMPrintCardInfo (ST_SPCM_CARDINFO *pstCardInfo, char* pszBuffer, int32 lStrLen, bool bExtended)
-    {
-    char szTmp[100];
-
-    if (!pstCardInfo || !pszBuffer)
-        return NULL;
-
-    memset (pszBuffer, 0, lStrLen);
-
-    // the card type + serial number
-    switch (pstCardInfo->lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M2ISERIES:     sprintf (szTmp, "M2i.%04x sn %05d\n",     (unsigned)(pstCardInfo->lCardType & TYP_VERSIONMASK), pstCardInfo->lSerialNumber); break;
-        case TYP_M2IEXPSERIES:  sprintf (szTmp, "M2i.%04x-Exp sn %05d\n", (unsigned)(pstCardInfo->lCardType & TYP_VERSIONMASK), pstCardInfo->lSerialNumber); break;
-        case TYP_M3ISERIES:     sprintf (szTmp, "M3i.%04x sn %05d\n",     (unsigned)(pstCardInfo->lCardType & TYP_VERSIONMASK), pstCardInfo->lSerialNumber); break;
-        case TYP_M3IEXPSERIES:  sprintf (szTmp, "M3i.%04x-Exp sn %05d\n", (unsigned)(pstCardInfo->lCardType & TYP_VERSIONMASK), pstCardInfo->lSerialNumber); break;
-        case TYP_M4IEXPSERIES:  sprintf (szTmp, "M4i.%04x-x8 sn %05d\n",  (unsigned)(pstCardInfo->lCardType & TYP_VERSIONMASK), pstCardInfo->lSerialNumber); break;
-        case TYP_M4XEXPSERIES:  sprintf (szTmp, "M4x.%04x-x4 sn %05d\n",  (unsigned)(pstCardInfo->lCardType & TYP_VERSIONMASK), pstCardInfo->lSerialNumber); break;
-        case TYP_M2PEXPSERIES:  sprintf (szTmp, "M2p.%04x-x4 sn %05d\n",  (unsigned)(pstCardInfo->lCardType & TYP_VERSIONMASK), pstCardInfo->lSerialNumber); break;
-        case TYP_M5IEXPSERIES:  sprintf (szTmp, "M5i.%04x-x16 sn %05d\n", (unsigned)(pstCardInfo->lCardType & TYP_VERSIONMASK), pstCardInfo->lSerialNumber); break;
-        default:                sprintf (szTmp, "Typ: %x not supported so far\n", (unsigned)pstCardInfo->lCardType); break;
-        }
-    vStrCatWithLen (pszBuffer, szTmp, lStrLen);
-
-    // standard details of card
-    if (bExtended)
-        {
-        sprintf (szTmp, "  Installed memory:  %lld MByte\n", pstCardInfo->llInstMemBytes / 1024 / 1024);
-        vStrCatWithLen (pszBuffer, szTmp, lStrLen);
-        sprintf (szTmp, "  Max sampling rate: %.1f MS/s\n", (double) pstCardInfo->llMaxSamplerate / 1000000);
-        vStrCatWithLen (pszBuffer, szTmp, lStrLen);
-        sprintf (szTmp, "  Channels:          %d\n", pstCardInfo->lMaxChannels);
-        vStrCatWithLen (pszBuffer, szTmp, lStrLen);
-        sprintf (szTmp, "  Kernel Version:    %d.%02d build %d\n", pstCardInfo->lKernelVersion >> 24, (pstCardInfo->lKernelVersion >> 16) & 0xff, pstCardInfo->lKernelVersion & 0xffff);
-        vStrCatWithLen (pszBuffer, szTmp, lStrLen);
-        sprintf (szTmp, "  Library Version    %d.%02d build %d\n", pstCardInfo->lLibVersion >> 24, (pstCardInfo->lLibVersion >> 16) & 0xff, pstCardInfo->lLibVersion & 0xffff);
-        vStrCatWithLen (pszBuffer, szTmp, lStrLen);
-        }
-
-    return pszBuffer;
-    }
-
-/*
-**************************************************************************
-pszSpcMPrintDocumentationLink: builds a link to the download area for the specific card
-**************************************************************************
-*/
-
-char* pszSpcMPrintDocumentationLink (const ST_SPCM_CARDINFO* pstCardInfo, char* pszBuffer, int32 lStrLen)
-    {
-    if (!pstCardInfo || !pszBuffer)
-        return NULL;
-
-    memset (pszBuffer, 0, lStrLen);
-
-    const char* szSeries = NULL;
-    if (pstCardInfo->bRemote)
-        szSeries = "DN2";
-    else
-        {
-        switch (pstCardInfo->lCardType & TYP_SERIESMASK)
-            {
-            case TYP_M2ISERIES:    szSeries = "M2i"; break;
-            case TYP_M2IEXPSERIES: szSeries = "\"M2i Express\""; break;
-            case TYP_M3ISERIES:    szSeries = "M3i"; break;
-            case TYP_M3IEXPSERIES: szSeries = "\"M3i Express\""; break;
-            case TYP_M4IEXPSERIES: szSeries = "M4i"; break;
-            case TYP_M4XEXPSERIES: szSeries = "M4x"; break;
-            case TYP_M2PEXPSERIES: szSeries = "M2p"; break;
-            case TYP_M5IEXPSERIES: szSeries = "M5i"; break;
-            }
-        }
-    int lOffset = sprintf (pszBuffer, "A detailed description of the API as well as the hardware can be found in the manual:\n");
-    lOffset += sprintf (pszBuffer + lOffset, "https://www.spectrum-instrumentation.com/en/downloads/drivers?Series=%s&Families=%xxx&Tab=Documents\n\n", szSeries, (unsigned)((pstCardInfo->lCardType & TYP_FAMILYMASK) >> 8));
-
-    lOffset += sprintf (pszBuffer + lOffset, "Further information can be found online in the Knowledge Base:\n");
-    lOffset += sprintf (pszBuffer + lOffset, "https://www.spectrum-instrumentation.com/en/knowledge-base-overview\n\n");
-
-    return pszBuffer;
-    }
-
-/*
-**************************************************************************
-bSpcMCheckSetError: checks for error code and reads out error information
-**************************************************************************
-*/
-
-bool bSpcMCheckSetError (uint32 dwError, ST_SPCM_CARDINFO *pstCardInfo)
-    {
-    if (dwError)
-        {
-        pstCardInfo->bSetError = true;
-        spcm_dwGetErrorInfo_i32 (pstCardInfo->hDrv, NULL, NULL, pstCardInfo->szError);
-        return false;
-        }
-    return true;
-    }
-
-
-
-
-/*
-**************************************************************************
-**************************************************************************
-**************************************************************************
-  Mode setup
-**************************************************************************
-**************************************************************************
-**************************************************************************
-*/
-
-
-
-/*
-**************************************************************************
-bSpcMSetupModeRecStdSingle: record standard mode single
-**************************************************************************
-*/
-
-bool bSpcMSetupModeRecStdSingle (ST_SPCM_CARDINFO *pstCardInfo, uint64 qwChEnable, int64 llMemSamples, int64 llPostSamples)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // setup the mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CARDMODE,    SPC_REC_STD_SINGLE);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_CHENABLE,    qwChEnable);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_MEMSIZE,     llMemSamples);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_POSTTRIGGER, llPostSamples);
-
-    // store some information in the structure
-    pstCardInfo->llSetMemsize =     llMemSamples;
-    pstCardInfo->qwSetChEnableMap = qwChEnable;
-    if (!dwError) dwError = spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_CHCOUNT,     &pstCardInfo->lSetChannels);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupModeRecFIFOSingle: record FIFO mode single run
-**************************************************************************
-*/
-
-bool bSpcMSetupModeRecFIFOSingle (ST_SPCM_CARDINFO *pstCardInfo, uint64 qwChEnable, int64 llPreSamples, int64 llBlockToRec, int64 llLoopToRec)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // check for invalid block/loop combinations
-    if ((llBlockToRec && !llLoopToRec) || (!llBlockToRec && llLoopToRec))
-        {
-        sprintf (pstCardInfo->szError, "bSpcMSetupModeRecFIFOSingle: Loop and Blocks must be either both zero or both defined to non-zero\n");
-        return false;
-        }
-
-    // segment size can't be zero, we adjust it here
-    if (!llBlockToRec && !llLoopToRec)
-        llBlockToRec = 1024;
-
-    // setup the mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CARDMODE,    SPC_REC_FIFO_SINGLE);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_CHENABLE,    qwChEnable);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_PRETRIGGER,  llPreSamples);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_SEGMENTSIZE, llBlockToRec);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_LOOPS,       llLoopToRec);
-
-    // store some information in the structure
-    pstCardInfo->llSetMemsize =     0;
-    pstCardInfo->qwSetChEnableMap = qwChEnable;
-    if (!dwError) dwError = spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_CHCOUNT,     &pstCardInfo->lSetChannels);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-/*
-**************************************************************************
-bSpcMSetupModeRecStdAverage: record standard mode Average
-**************************************************************************
-*/
-
-bool bSpcMSetupModeRecStdAverage (ST_SPCM_CARDINFO *pstCardInfo, uint64 qwChEnable, int64 llMemSamples, int64 llSegmentSize, int64 llPostSamples, int32 lAverages)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // setup the mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CARDMODE,    SPC_REC_STD_AVERAGE);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_CHENABLE,    qwChEnable);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_MEMSIZE,     llMemSamples);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_SEGMENTSIZE, llSegmentSize);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_POSTTRIGGER, llPostSamples);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_AVERAGES,    lAverages);
-
-    // store some information in the structure
-    pstCardInfo->llSetMemsize =     llMemSamples;
-    pstCardInfo->qwSetChEnableMap = qwChEnable;
-    if (!dwError) dwError = spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_CHCOUNT,     &pstCardInfo->lSetChannels);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupModeRecStdMulti: record standard mode Multiple Recording
-**************************************************************************
-*/
-
-bool bSpcMSetupModeRecStdMulti (ST_SPCM_CARDINFO *pstCardInfo, uint64 qwChEnable, int64 llMemSamples, int64 llSegmentSize, int64 llPostSamples)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // setup the mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CARDMODE,    SPC_REC_STD_MULTI);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_CHENABLE,    qwChEnable);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_MEMSIZE,     llMemSamples);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_SEGMENTSIZE, llSegmentSize);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_POSTTRIGGER, llPostSamples);
-
-    // store some information in the structure
-    pstCardInfo->llSetMemsize =     llMemSamples;
-    pstCardInfo->qwSetChEnableMap = qwChEnable;
-    if (!dwError) dwError = spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_CHCOUNT,     &pstCardInfo->lSetChannels);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupModeRecStdABA: record standard mode ABA
-**************************************************************************
-*/
-
-bool bSpcMSetupModeRecStdABA (ST_SPCM_CARDINFO *pstCardInfo, uint64 qwChEnable, int64 llMemSamples, int64 llSegmentSize, int64 llPostSamples, int32 lABADivider)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // setup the mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CARDMODE,    SPC_REC_STD_ABA);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_CHENABLE,    qwChEnable);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_MEMSIZE,     llMemSamples);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_SEGMENTSIZE, llSegmentSize);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_POSTTRIGGER, llPostSamples);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_ABADIVIDER,  lABADivider);
-
-    // store some information in the structure
-    pstCardInfo->llSetMemsize =     llMemSamples;
-    pstCardInfo->qwSetChEnableMap = qwChEnable;
-    if (!dwError) dwError = spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_CHCOUNT,     &pstCardInfo->lSetChannels);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-/*
-**************************************************************************
-bSpcMSetupModeRecFIFOAverage: record FIFO mode Average
-**************************************************************************
-*/
-
-bool bSpcMSetupModeRecFIFOAverage (ST_SPCM_CARDINFO *pstCardInfo, uint64 qwChEnable, int64 llSegmentSize, int64 llPostSamples, int32 lAverages, int64 llSegmentsToRec)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // setup the mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CARDMODE,    SPC_REC_FIFO_AVERAGE);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_CHENABLE,    qwChEnable);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_SEGMENTSIZE, llSegmentSize);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_POSTTRIGGER, llPostSamples);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_LOOPS,       llSegmentsToRec);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_AVERAGES,    lAverages);
-
-    // store some information in the structure
-    pstCardInfo->llSetMemsize =     0;
-    pstCardInfo->qwSetChEnableMap = qwChEnable;
-    if (!dwError) dwError = spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_CHCOUNT,     &pstCardInfo->lSetChannels);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-/*
-**************************************************************************
-bSpcMSetupModeRecFIFOMulti: record FIFO mode Multi
-**************************************************************************
-*/
-
-bool bSpcMSetupModeRecFIFOMulti (ST_SPCM_CARDINFO *pstCardInfo, uint64 qwChEnable, int64 llSegmentSize, int64 llPostSamples, int64 llSegmentsToRec)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // setup the mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CARDMODE,    SPC_REC_FIFO_MULTI);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_CHENABLE,    qwChEnable);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_SEGMENTSIZE, llSegmentSize);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_POSTTRIGGER, llPostSamples);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_LOOPS,       llSegmentsToRec);
-
-    // store some information in the structure
-    pstCardInfo->llSetMemsize =     0;
-    pstCardInfo->qwSetChEnableMap = qwChEnable;
-    if (!dwError) dwError = spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_CHCOUNT,     &pstCardInfo->lSetChannels);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupModeRecFIFOABA: record FIFO mode ABA
-**************************************************************************
-*/
-
-bool bSpcMSetupModeRecFIFOABA (ST_SPCM_CARDINFO *pstCardInfo, uint64 qwChEnable, int64 llSegmentSize, int64 llPostSamples, int32 lABADivider, int64 llSegmentsToRec)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // setup the mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CARDMODE,    SPC_REC_FIFO_ABA);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_CHENABLE,    qwChEnable);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_SEGMENTSIZE, llSegmentSize);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_POSTTRIGGER, llPostSamples);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_LOOPS,       llSegmentsToRec);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_ABADIVIDER,  lABADivider);
-
-    // store some information in the structure
-    pstCardInfo->llSetMemsize =     0;
-    pstCardInfo->qwSetChEnableMap = qwChEnable;
-    if (!dwError) dwError = spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_CHCOUNT,     &pstCardInfo->lSetChannels);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-pvGetSegmentDataPointer: recalculates the segment start address for
-                         Multiple Recording
-**************************************************************************
-*/
-
-void* pvGetSegmentDataPointer (ST_SPCM_CARDINFO *pstCardInfo, void* pvDataBuffer, int32 lSegmentsize, int32 lSegmentIdx, int32 lBytesPerSample)
-    {
-    uint8* pcByteAdr = (uint8*) pvDataBuffer;
-    return (void*) &pcByteAdr[lSegmentIdx * lSegmentsize * pstCardInfo->lSetChannels * lBytesPerSample];
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupModeRecStdGate: record standard mode gated sampling
-**************************************************************************
-*/
-
-bool bSpcMSetupModeRecStdGate (ST_SPCM_CARDINFO *pstCardInfo, uint64 qwChEnable, int64 llMemSamples, int64 llPreSamples, int64 llPostSamples)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // setup the mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CARDMODE,    SPC_REC_STD_GATE);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_CHENABLE,    qwChEnable);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_MEMSIZE,     llMemSamples);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_PRETRIGGER,  llPreSamples);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_POSTTRIGGER, llPostSamples);
-
-    // store some information in the structure
-    pstCardInfo->llSetMemsize =     llMemSamples;
-    pstCardInfo->qwSetChEnableMap = qwChEnable;
-    if (!dwError) dwError = spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_CHCOUNT,     &pstCardInfo->lSetChannels);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupModeRecFIFOGate: record FIFO mode gated sampling
-**************************************************************************
-*/
-
-bool bSpcMSetupModeRecFIFOGate (ST_SPCM_CARDINFO *pstCardInfo, uint64 qwChEnable, int64 llPreSamples, int64 llPostSamples, int64 llGatesToRec)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // setup the mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CARDMODE,    SPC_REC_FIFO_GATE);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_CHENABLE,    qwChEnable);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_PRETRIGGER,  llPreSamples);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_POSTTRIGGER, llPostSamples);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_LOOPS,       llGatesToRec);
-
-    // store some information in the structure
-    pstCardInfo->llSetMemsize =     0;
-    pstCardInfo->qwSetChEnableMap = qwChEnable;
-    if (!dwError) dwError = spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_CHCOUNT,     &pstCardInfo->lSetChannels);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupModeRepStdSingle: replay standard mode single
-**************************************************************************
-*/
-
-bool bSpcMSetupModeRepStdSingle (ST_SPCM_CARDINFO *pstCardInfo, uint64 qwChEnable, int64 llMemSamples)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // setup the mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CARDMODE,    SPC_REP_STD_SINGLE);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_CHENABLE,    qwChEnable);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_MEMSIZE,     llMemSamples);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_LOOPS,       1);
-
-    // store some information in the structure
-    pstCardInfo->llSetMemsize =     llMemSamples;
-    pstCardInfo->qwSetChEnableMap = qwChEnable;
-    if (!dwError) dwError = spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_CHCOUNT,     &pstCardInfo->lSetChannels);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupModeRepStdLoops: replay standard mode looped
-**************************************************************************
-*/
-
-bool bSpcMSetupModeRepStdLoops (ST_SPCM_CARDINFO *pstCardInfo, uint64 qwChEnable, int64 llMemSamples, int64 llLoops)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // setup the mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CARDMODE,    SPC_REP_STD_SINGLE); // with SPC_LOOPS == 0 this will loop continuously
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_LOOPS,       llLoops);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_CHENABLE,    qwChEnable);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_MEMSIZE,     llMemSamples);
-
-    // store some information in the structure
-    pstCardInfo->llSetMemsize =     llMemSamples;
-    pstCardInfo->qwSetChEnableMap = qwChEnable;
-    if (!dwError) dwError = spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_CHCOUNT,     &pstCardInfo->lSetChannels);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupModeRepStdSingleRestart: replay standard mode Single Restart
-**************************************************************************
-*/
-
-bool bSpcMSetupModeRepStdSingleRestart (ST_SPCM_CARDINFO *pstCardInfo, uint64 qwChEnable, int64 llMemSamples, int64 llLoops)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // setup the mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CARDMODE,    SPC_REP_STD_SINGLERESTART);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_CHENABLE,    qwChEnable);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_MEMSIZE,     llMemSamples);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_LOOPS,       llLoops);
-
-    // store some information in the structure
-    pstCardInfo->llSetMemsize =     llMemSamples;
-    pstCardInfo->qwSetChEnableMap = qwChEnable;
-    if (!dwError) dwError = spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_CHCOUNT,     &pstCardInfo->lSetChannels);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupModeRepFIFOSingle: replay FIFO mode single run
-**************************************************************************
-*/
-
-bool bSpcMSetupModeRepFIFOSingle (ST_SPCM_CARDINFO *pstCardInfo, uint64 qwChEnable, int64 llBlockToRep, int64 llLoopToRep)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // check for invalid block/loop combinations
-    if ((llBlockToRep && !llLoopToRep) || (!llBlockToRep && llLoopToRep))
-        {
-        sprintf (pstCardInfo->szError, "bSpcMSetupModeRepFIFOSingle: Loop and Blocks must be either both zero or both defined to non-zero\n");
-        return false;
-        }
-
-    // segment size can't be zero, we adjust it here
-    if (!llBlockToRep && !llLoopToRep)
-        llBlockToRep = 1024;
-
-    // setup the mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CARDMODE,    SPC_REP_FIFO_SINGLE);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_CHENABLE,    qwChEnable);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_SEGMENTSIZE, llBlockToRep);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_LOOPS,       llLoopToRep);
-
-    // store some information in the structure
-    pstCardInfo->llSetMemsize =     0;
-    pstCardInfo->qwSetChEnableMap = qwChEnable;
-    if (!dwError) dwError = spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_CHCOUNT,     &pstCardInfo->lSetChannels);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupModeRepStdMulti: replay standard mode Multiple Replay
-**************************************************************************
-*/
-
-bool bSpcMSetupModeRepStdMulti (ST_SPCM_CARDINFO *pstCardInfo, uint64 qwChEnable, int64 llMemSamples, int64 llSegmentSize, int64 llSegmentsToRep)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // setup the mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CARDMODE,    SPC_REP_STD_MULTI);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_CHENABLE,    qwChEnable);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_MEMSIZE,     llMemSamples);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_SEGMENTSIZE, llSegmentSize);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_LOOPS,       llSegmentsToRep);
-
-    // store some information in the structure
-    pstCardInfo->llSetMemsize =     llMemSamples;
-    pstCardInfo->qwSetChEnableMap = qwChEnable;
-    if (!dwError) dwError = spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_CHCOUNT,     &pstCardInfo->lSetChannels);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupModeRepFIFOMulti: replay FIFO mode Multiple Replay
-**************************************************************************
-*/
-
-bool bSpcMSetupModeRepFIFOMulti (ST_SPCM_CARDINFO *pstCardInfo, uint64 qwChEnable, int64 llSegmentSize, int64 llSegmentsToRep)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // setup the mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CARDMODE,    SPC_REP_FIFO_MULTI);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_CHENABLE,    qwChEnable);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_SEGMENTSIZE, llSegmentSize);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_LOOPS,       llSegmentsToRep);
-
-    // store some information in the structure
-    pstCardInfo->llSetMemsize =     0;
-    pstCardInfo->qwSetChEnableMap = qwChEnable;
-    if (!dwError) dwError = spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_CHCOUNT,     &pstCardInfo->lSetChannels);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupModeRepStdGate: replay standard mode Gated Replay
-**************************************************************************
-*/
-
-bool bSpcMSetupModeRepStdGate (ST_SPCM_CARDINFO *pstCardInfo, uint64 qwChEnable, int64 llMemSamples, int64 llGatesToRep)
-    {
-       if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // setup the mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CARDMODE,    SPC_REP_STD_GATE);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_CHENABLE,    qwChEnable);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_MEMSIZE,     llMemSamples);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_LOOPS,       llGatesToRep);
-
-       // store some information in the structure
-    pstCardInfo->llSetMemsize =     llMemSamples;
-    pstCardInfo->qwSetChEnableMap = qwChEnable;
-    if (!dwError) dwError = spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_CHCOUNT,     &pstCardInfo->lSetChannels);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupModeRepFIFOGate: replay FIFO mode Gated Replay
-**************************************************************************
-*/
-
-bool bSpcMSetupModeRepFIFOGate (ST_SPCM_CARDINFO *pstCardInfo, uint64 qwChEnable, int64 llGatesToRep)
-    {
-       if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // setup the mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CARDMODE,    SPC_REP_FIFO_GATE);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_CHENABLE,    qwChEnable);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_LOOPS,       llGatesToRep);
-
-       // store some information in the structure
-    pstCardInfo->llSetMemsize =     0;
-    pstCardInfo->qwSetChEnableMap = qwChEnable;
-    if (!dwError) dwError = spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_CHCOUNT,     &pstCardInfo->lSetChannels);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupModeRepSequence: replay sequence mode
-**************************************************************************
-*/
-
-bool bSpcMSetupModeRepSequence (ST_SPCM_CARDINFO *pstCardInfo, uint64 qwChEnable, uint32 dwMaxSegments)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // setup the mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CARDMODE,            SPC_REP_STD_SEQUENCE);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_CHENABLE,            qwChEnable);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_SEQMODE_MAXSEGMENTS, dwMaxSegments);
-
-    // store some information in the structure
-    pstCardInfo->llSetMemsize =     0;
-    pstCardInfo->qwSetChEnableMap = qwChEnable;
-    if (!dwError) dwError = spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_CHCOUNT,     &pstCardInfo->lSetChannels);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-**************************************************************************
-**************************************************************************
-  Clock setup
-**************************************************************************
-**************************************************************************
-**************************************************************************
-*/
-
-
-
-/*
-**************************************************************************
-bSpcMSetupClockPLL: internal clock using PLL
-**************************************************************************
-*/
-
-bool bSpcMSetupClockPLL (ST_SPCM_CARDINFO *pstCardInfo, int64 llSamplerate, bool bClockOut)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // check for borders
-    if (llSamplerate > pstCardInfo->llMaxSamplerate)
-        llSamplerate = pstCardInfo->llMaxSamplerate;
-    if (llSamplerate < pstCardInfo->llMinSamplerate)
-        llSamplerate = pstCardInfo->llMinSamplerate;
-
-    // setup the clock mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CLOCKMODE,   SPC_CM_INTPLL);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_SAMPLERATE,  llSamplerate);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CLOCKOUT,    bClockOut ? 1 : 0);
-    if (!dwError) dwError = spcm_dwGetParam_i64 (pstCardInfo->hDrv, SPC_SAMPLERATE, &pstCardInfo->llSetSamplerate);
-    if (!dwError) dwError = spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_OVERSAMPLINGFACTOR, &pstCardInfo->lOversampling);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupClockQuarz: internal clock using high precision quartz
-**************************************************************************
-*/
-
-bool bSpcMSetupClockQuartz (ST_SPCM_CARDINFO *pstCardInfo, int64 llSamplerate, bool bClockOut)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // check for borders
-    if (llSamplerate > pstCardInfo->llMaxSamplerate)
-        llSamplerate = pstCardInfo->llMaxSamplerate;
-    if (llSamplerate < pstCardInfo->llMinSamplerate)
-        llSamplerate = pstCardInfo->llMinSamplerate;
-
-    // setup the clock mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CLOCKMODE,   SPC_CM_QUARTZ1);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_SAMPLERATE,  llSamplerate);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CLOCKOUT,    bClockOut ? 1 : 0);
-    if (!dwError) dwError = spcm_dwGetParam_i64 (pstCardInfo->hDrv, SPC_SAMPLERATE, &pstCardInfo->llSetSamplerate);
-    if (!dwError) dwError = spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_OVERSAMPLINGFACTOR, &pstCardInfo->lOversampling);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupClockExternal: external clock
-**************************************************************************
-*/
-
-bool bSpcMSetupClockExternal (ST_SPCM_CARDINFO *pstCardInfo, int32 lExtRange, bool bClockTerm, int32 lDivider)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    if (lDivider > 1)
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CLOCKMODE, SPC_CM_EXTDIVIDER);
-    else
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CLOCKMODE, SPC_CM_EXTERNAL);
-
-    // M2i needs the info on range of external clock
-    if (((pstCardInfo->lCardType & TYP_SERIESMASK) == TYP_M2ISERIES) || ((pstCardInfo->lCardType & TYP_SERIESMASK) == TYP_M2IEXPSERIES))
-        {
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_EXTERNRANGE, lExtRange);
-        }
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CLOCKDIV,        lDivider);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CLOCK50OHM,      bClockTerm ? 1 : 0);
-
-    pstCardInfo->llSetSamplerate = 1;
-    pstCardInfo->lOversampling =   1;
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupClockRefClock: reference clock
-**************************************************************************
-*/
-
-bool bSpcMSetupClockRefClock (ST_SPCM_CARDINFO *pstCardInfo, int32 lRefClock, int64 llSamplerate, bool bClockTerm)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    // check for borders
-    if (llSamplerate > pstCardInfo->llMaxSamplerate)
-        llSamplerate = pstCardInfo->llMaxSamplerate;
-    if (llSamplerate < pstCardInfo->llMinSamplerate)
-        llSamplerate = pstCardInfo->llMinSamplerate;
-
-    uint32 dwError = ERR_OK;
-
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CLOCKMODE,       SPC_CM_EXTREFCLOCK);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_REFERENCECLOCK,  lRefClock);
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCardInfo->hDrv, SPC_SAMPLERATE,      llSamplerate);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CLOCK50OHM,      bClockTerm ? 1 : 0);
-    if (!dwError) dwError = spcm_dwGetParam_i64 (pstCardInfo->hDrv, SPC_SAMPLERATE,     &pstCardInfo->llSetSamplerate);
-    if (!dwError) dwError = spcm_dwGetParam_i32 (pstCardInfo->hDrv, SPC_OVERSAMPLINGFACTOR, &pstCardInfo->lOversampling);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-**************************************************************************
-**************************************************************************
-  Trigger setup
-**************************************************************************
-**************************************************************************
-**************************************************************************
-*/
-
-
-/*
-**************************************************************************
-bSpcMSetupTrigSoftware: software trigger
-**************************************************************************
-*/
-
-bool bSpcMSetupTrigSoftware (ST_SPCM_CARDINFO *pstCardInfo, bool bTrigOut)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // setup the trigger mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_ORMASK,      SPC_TMASK_SOFTWARE);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_ANDMASK,     0);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ORMASK0,  0);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ORMASK1,  0);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ANDMASK0, 0);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ANDMASK1, 0);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIGGEROUT,       bTrigOut ? 1 : 0);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupTrigExternal: external trigger
-                        If levels are programmable they'll be set to LVTTL
-**************************************************************************
-*/
-
-bool bSpcMSetupTrigExternal (ST_SPCM_CARDINFO *pstCardInfo, int32 lExtMode, bool bTrigTerm, int32 lPulsewidth, bool bSingleSrc, int32 lExtLine)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // setup the external trigger mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_EXT0_MODE + lExtLine,       lExtMode);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_TERM,                       bTrigTerm ? 1 : 0);
-
-    // we only use trigout on M2i cards as we otherwise would override the multi purpose i/o lines of M3i, M4i, M4x and M2p
-    if (((pstCardInfo->lCardType & TYP_SERIESMASK) == TYP_M2ISERIES) || ((pstCardInfo->lCardType & TYP_SERIESMASK) == TYP_M2IEXPSERIES))
-        {
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_OUTPUT,                 0);
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_EXT0_PULSEWIDTH + lExtLine, lPulsewidth);
-        }
-
-    // on bSingleSrc flag no other trigger source is used
-    if (bSingleSrc)
-        {
-        switch (lExtLine)
-            {
-            case 0 : if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_ORMASK, SPC_TMASK_EXT0); break;
-            case 1 : if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_ORMASK, SPC_TMASK_EXT1); break;
-            case 2 : if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_ORMASK, SPC_TMASK_EXT2); break;
-            case 3 : if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_ORMASK, SPC_TMASK_EXT3); break; // X3 on M2p
-            }
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_ANDMASK,        0);
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ORMASK0,     0);
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ORMASK1,     0);
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ANDMASK0,    0);
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ANDMASK1,    0);
-        }
-
-    switch (pstCardInfo->lCardType & TYP_SERIESMASK)
-        {
-        // M3i cards need trigger level to be programmed for Ext0 = analog trigger
-        case TYP_M3ISERIES:
-        case TYP_M3IEXPSERIES:
-            {
-            if (lExtLine == 0)
-                {
-                if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_EXT0_LEVEL0, 1500); // 1500 mV
-                if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_EXT0_LEVEL1,  800); //  800 mV (rearm)
-                }
-            break;
-            }
-        // M4i/M4x cards need trigger level to be programmed for Ext0 or Ext1
-        case TYP_M4IEXPSERIES:
-        case TYP_M4XEXPSERIES:
-            {
-            if (lExtLine == 0)
-                {
-                if ((pstCardInfo->lCardType & (TYP_FAMILYMASK | TYP_CHMASK)) == 0x7700) // single ended 77x0
-                    {
-                    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_THRESHOLD, 1500); // 1500 mV
-                    }
-                else
-                    {
-                    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_EXT0_LEVEL0, 1500);        // 1500 mV
-                    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_EXT0_LEVEL1,  800);        //  800 mV (rearm)
-                    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_EXT0_ACDC, COUPLING_DC);   // DC coupling
-                    }
-                }
-            else if (lExtLine == 1)
-                {
-                if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_EXT1_LEVEL0, 1500);        // 1500 mV
-                if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_EXT1_ACDC, COUPLING_DC);   // DC coupling
-                }
-            break;
-            }
-        // M2p/M5i have a single level on Ext0
-        case TYP_M2PEXPSERIES:
-        case TYP_M5IEXPSERIES:
-            {
-            if (lExtLine == 0)
-                {
-                if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_EXT0_LEVEL0, 1500); // 1500 mV
-                }
-            break;
-            }
-        }
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-/*
-**************************************************************************
-bSpcMSetupTrigExternalLevel: external analog trigger with programmable levels
-**************************************************************************
-*/
-
-bool bSpcMSetupTrigExternalLevel (ST_SPCM_CARDINFO *pstCardInfo, int32 lExtMode, int32 lLevel0, int32 lLevel1, bool bTrigTerm, bool bACCoupling, int32 lPulsewidth, bool bSingleSrc, int32 lExtLine)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    // not supported by M2i and M2i Express cards as they have plain TTL trigger
-    if (((pstCardInfo->lCardType & TYP_SERIESMASK) == TYP_M2ISERIES) || ((pstCardInfo->lCardType & TYP_SERIESMASK) == TYP_M2IEXPSERIES))
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // setup the external trigger mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_EXT0_MODE + lExtLine,       lExtMode);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_TERM,                       bTrigTerm ? 1 : 0);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_EXT0_ACDC + lExtLine,       bACCoupling ? COUPLING_AC : COUPLING_DC);
-
-    // on bSingleSrc flag no other trigger source is used
-    if (bSingleSrc)
-        {
-        switch (lExtLine)
-            {
-            case 0 : if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_ORMASK, SPC_TMASK_EXT0); break;
-            case 1 : if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_ORMASK, SPC_TMASK_EXT1); break;
-            case 2 : if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_ORMASK, SPC_TMASK_EXT2); break;
-            }
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_ANDMASK,        0);
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ORMASK0,     0);
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ORMASK1,     0);
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ANDMASK0,    0);
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ANDMASK1,    0);
-        }
-
-    // M3i cards need trigger level to be programmed for Ext0 = analog trigger
-    // M4i/M4x cards need trigger level to be programmed for Ext0 or Ext1
-    switch (pstCardInfo->lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M3ISERIES:
-        case TYP_M3IEXPSERIES:
-        case TYP_M4IEXPSERIES:
-        case TYP_M4XEXPSERIES:
-            {
-            if (lExtLine == 0)
-                {
-                if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_EXT0_LEVEL0, lLevel0);
-                if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_EXT0_LEVEL1, lLevel1);
-                }
-            else if (lExtLine == 1)
-                {
-                if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_EXT1_LEVEL0, lLevel0);
-                }
-            break;
-            }
-        case TYP_M2PEXPSERIES:
-        case TYP_M5IEXPSERIES:
-            {
-            if (lExtLine == 0)
-                {
-                if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_EXT0_LEVEL0, lLevel0);
-                }
-            break;
-            }
-        }
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-/*
-**************************************************************************
-bSpcMSetupTrigXIO: additional BaseXIO trigger, needs option installed
-**************************************************************************
-*/
-
-bool bSpcMSetupTrigXIO (ST_SPCM_CARDINFO *pstCardInfo, int32 lXIOMode, bool bSingleSrc, int32 lXIOLine)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    // setup the external trigger mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_XIO0_MODE + lXIOLine, lXIOMode);
-
-    // on bSingleSrc flag no other trigger source is used
-    if (bSingleSrc)
-        {
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_ORMASK,         lXIOLine == 0 ? SPC_TMASK_XIO0 : SPC_TMASK_XIO1);
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_ANDMASK,        0);
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ORMASK0,     0);
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ORMASK1,     0);
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ANDMASK0,    0);
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ANDMASK1,    0);
-        }
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupTrigChannel: channel trigger is set for each channel separately
-**************************************************************************
-*/
-
-bool bSpcMSetupTrigChannel (ST_SPCM_CARDINFO *pstCardInfo, int32 lChannel, int32 lTrigMode, int32 lTrigLevel0, int32 lTrigLevel1, int32 lPulsewidth, bool bTrigOut, bool bSingleSrc)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    if ((lChannel < 0) || (lChannel >= pstCardInfo->lMaxChannels))
-        {
-        sprintf (pstCardInfo->szError, "bSpcMSetupTrigChannel: channel number %d not valid. Channels range from 0 to %d\n", lChannel, pstCardInfo->lMaxChannels);
-        return false;
-        }
-
-    uint32 dwError = ERR_OK;
-
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH0_MODE + lChannel,        lTrigMode);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH0_PULSEWIDTH + lChannel,  lPulsewidth);
-
-    if (pstCardInfo->eCardFunction == AnalogIn)
-        {
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH0_LEVEL0 + lChannel,  lTrigLevel0);
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH0_LEVEL1 + lChannel,  lTrigLevel1);
-        }
-
-    // we only use trigout on M2i cards as we otherwise would override the multi purpose i/o lines of M3i
-    if (((pstCardInfo->lCardType & TYP_SERIESMASK) == TYP_M2ISERIES) || ((pstCardInfo->lCardType & TYP_SERIESMASK) == TYP_M2IEXPSERIES))
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_OUTPUT,                 bTrigOut ? 1 : 0);
-
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_TERM,                       0);
-
-    // on bSingleSrc flag no other trigger source is used
-    if (bSingleSrc)
-        {
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_ORMASK,         0);
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_ANDMASK,        0);
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ORMASK1,     0);
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ANDMASK1,    0);
-
-        // some cards need the and mask to use on pulsewidth mode -> to be sure we set the AND mask for all pulsewidth cards
-        if ((lTrigMode & SPC_TM_PW_GREATER) || (lTrigMode & SPC_TM_PW_SMALLER))
-            {
-            if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ORMASK0,     0);
-            if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ANDMASK0,    1 << lChannel);
-            }
-        else
-            {
-            if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ORMASK0,     1 << lChannel);
-            if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ANDMASK0,    0);
-            }
-        }
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupTrigMask: this function sets the trigger masks (bSingleSrc
-of other commands must be false to use this)
-**************************************************************************
-*/
-
-bool bSpcMSetupTrigMask (ST_SPCM_CARDINFO *pstCardInfo, uint32 dwChannelOrMask0, uint32 dwChannelOrMask1, uint32 dwChannelAndMask0, uint32 dwChannelAndMask1, uint32 dwTrigOrMask, uint32 dwTrigAndMask)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_ORMASK,         dwTrigOrMask);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_ANDMASK,        dwTrigAndMask);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ORMASK0,     dwChannelOrMask0);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ORMASK1,     dwChannelOrMask1);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ANDMASK0,    dwChannelAndMask0);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TRIG_CH_ANDMASK1,    dwChannelAndMask1);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-**************************************************************************
-**************************************************************************
-  Input + Output channel setup
-**************************************************************************
-**************************************************************************
-**************************************************************************
-*/
-
-/*
-**************************************************************************
-bSpcMSetupInputChannel: allows all input channel related settings
-**************************************************************************
-*/
-
-bool bSpcMSetupInputChannel (ST_SPCM_CARDINFO *pstCardInfo, int32 lChannel, int32 lInputRange, bool bTerm, int32 lInputOffset, bool bDiffInput)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    if ((lChannel < 0) || (lChannel >= pstCardInfo->lMaxChannels))
-        {
-        sprintf (pstCardInfo->szError, "SpcMSetupInputChannel: channel number %d not valid. Channels range from 0 to %d\n", lChannel, pstCardInfo->lMaxChannels);
-        return false;
-        }
-
-    uint32 dwError = ERR_OK;
-
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_AMP0 +   lChannel * (SPC_AMP1 - SPC_AMP0),     lInputRange);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_OFFS0 +  lChannel * (SPC_OFFS1 - SPC_OFFS0),   lInputOffset);
-    if (pstCardInfo->uCfg.stAI.astPath[0].bInputTermAvailable)
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_50OHM0 + lChannel * (SPC_50OHM1 - SPC_50OHM0),  bTerm ? 1 : 0);
-    if (pstCardInfo->uCfg.stAI.astPath[0].bDiffModeAvailable)
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_DIFF0 + lChannel * (SPC_DIFF1 - SPC_DIFF0),  bDiffInput ? 1 : 0);
-
-    // store some information in the structure
-    pstCardInfo->uCfg.stAI.lSetPath[lChannel] =   0;
-    pstCardInfo->uCfg.stAI.lSetRange[lChannel] =  lInputRange;
-    pstCardInfo->uCfg.stAI.lSetOffset[lChannel] = lInputOffset;
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-/*
-**************************************************************************
-bSpcMSetupPathInputCh: M3i version with different settings
-**************************************************************************
-*/
-
-bool bSpcMSetupPathInputCh (ST_SPCM_CARDINFO *pstCardInfo, int32 lChannel, int32 lPath, int32 lInputRange, int32 lOffset_percent, bool bTerm, bool bACCoupling, bool bBWLimit, bool bDiffInput)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    if ((lChannel < 0) || (lChannel >= pstCardInfo->lMaxChannels))
-        {
-        sprintf (pstCardInfo->szError, "SpcMSetupInputChannel: channel number %d not valid. Channels range from 0 to %d\n", lChannel, pstCardInfo->lMaxChannels);
-        return false;
-        }
-
-    uint32 dwError = ERR_OK;
-
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_PATH0 +  lChannel * (SPC_PATH1 - SPC_PATH0),   lPath);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_AMP0 +   lChannel * (SPC_AMP1 - SPC_AMP0),     lInputRange);
-    if (pstCardInfo->uCfg.stAI.astPath[lPath].bOffsPercentMode)
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_OFFS0 +  lChannel * (SPC_OFFS1 - SPC_OFFS0), lOffset_percent);
-    if (pstCardInfo->uCfg.stAI.astPath[lPath].bInputTermAvailable)
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_50OHM0 +  lChannel * (SPC_50OHM1  - SPC_50OHM0),   bTerm ?       1 : 0);
-    if (pstCardInfo->uCfg.stAI.astPath[lPath].bDiffModeAvailable)
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_DIFF0 +   lChannel * (SPC_DIFF1   - SPC_DIFF0),    bDiffInput ?  1 : 0);
-    if (pstCardInfo->uCfg.stAI.astPath[lPath].bACCouplingAvailable)
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_ACDC0 +   lChannel * (SPC_ACDC1   - SPC_ACDC0),    bACCoupling ? COUPLING_AC : COUPLING_DC);
-    if (pstCardInfo->uCfg.stAI.astPath[lPath].bBWLimitAvailable)
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_FILTER0 + lChannel * (SPC_FILTER1 - SPC_FILTER0),  bBWLimit ?    1 : 0);
-
-    // store some information in the structure
-    pstCardInfo->uCfg.stAI.lSetPath[lChannel] =   lPath;
-    pstCardInfo->uCfg.stAI.lSetRange[lChannel] =  lInputRange;
-    pstCardInfo->uCfg.stAI.lSetOffset[lChannel] = 0;
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-/*
-**************************************************************************
-bSpcMSetupAnalogOutputChannel: allows all output channel related settings
-**************************************************************************
-*/
-
-bool bSpcMSetupAnalogOutputChannel (ST_SPCM_CARDINFO *pstCardInfo, int32 lChannel, int32 lAmplitude, int32 lOutputOffset, int32 lFilter, int32 lStopMode, bool bDoubleOut, bool bDifferential)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    if ((lChannel < 0) || (lChannel >= pstCardInfo->lMaxChannels))
-        {
-        sprintf (pstCardInfo->szError, "SpcMSetupAnalogOutputChannel: channel number %d not valid. Channels range from 0 to %d\n", lChannel, pstCardInfo->lMaxChannels);
-        return false;
-        }
-
-    // Enable output (since M4i).
-    uint32 dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_ENABLEOUT0 + lChannel * (SPC_ENABLEOUT1 - SPC_ENABLEOUT0), 1);
-
-    // Check for programmable gain
-    if (pstCardInfo->uCfg.stAO.bGainProgrammable)
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_AMP0 + lChannel * (SPC_AMP1 - SPC_AMP0), lAmplitude);
-
-    // Check for programmable offset
-    if (pstCardInfo->uCfg.stAO.bOffsetProgrammable)
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_OFFS0 + lChannel * (SPC_OFFS1 - SPC_OFFS0), lOutputOffset);
-
-    // Check for programmable filters
-    if (pstCardInfo->uCfg.stAO.bFilterAvailable)
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_FILTER0 + lChannel * (SPC_FILTER1 - SPC_FILTER0), lFilter);
-
-    // Check for programmable stop levels
-    if (pstCardInfo->uCfg.stAO.bStopLevelProgrammable)
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CH0_STOPLEVEL + lChannel * (SPC_CH1_STOPLEVEL - SPC_CH0_STOPLEVEL), lStopMode);
-
-    // Check for programmable diffmodes
-    if (pstCardInfo->uCfg.stAO.bDiffModeAvailable && !bDoubleOut)
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_DIFF0 + lChannel * (SPC_DIFF1 - SPC_DIFF0),  bDifferential ? 1 : 0);
-
-    // Check for programmable doublemodes
-    if (pstCardInfo->uCfg.stAO.bDiffModeAvailable && !bDifferential)
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_DOUBLEOUT0 + lChannel * (SPC_DOUBLEOUT1 - SPC_DOUBLEOUT0), bDoubleOut ? 1 : 0);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupDigitalOutput: digital output settings for one group
-**************************************************************************
-*/
-
-bool bSpcMSetupDigitalOutput (ST_SPCM_CARDINFO *pstCardInfo, int32 lGroup, int32 lStopMode, int32 lLowLevel, int32 lHighLevel, bool bDiffMode)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-    int32 lStopLvlMod = (lGroup * (pstCardInfo->lMaxChannels / pstCardInfo->uCfg.stDIO.lGroups)) >= (pstCardInfo->lMaxChannels / pstCardInfo->lModulesCount) ? 1 : 0;
-
-    if (pstCardInfo->uCfg.stDIO.bStopLevelProgrammable)
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_CH0_STOPLEVEL + lStopLvlMod * (SPC_CH1_STOPLEVEL - SPC_CH0_STOPLEVEL), lStopMode);
-
-    if (pstCardInfo->uCfg.stDIO.bOutputLevelProgrammable)
-        {
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_LOWLEVEL0 + lGroup * (SPC_LOWLEVEL1 - SPC_LOWLEVEL0), lLowLevel);
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_HIGHLEVEL0 + lGroup * (SPC_HIGHLEVEL1 - SPC_HIGHLEVEL0), lHighLevel);
-        }
-
-    if (pstCardInfo->uCfg.stDIO.bDiffModeAvailable)
-        {} // to be done
-
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSetupDigitalInput: digital input settings for one group
-**************************************************************************
-*/
-
-bool bSpcMSetupDigitalInput (ST_SPCM_CARDINFO *pstCardInfo,    int32 lGroup, bool bTerm)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-
-    if (pstCardInfo->uCfg.stDIO.bInputTermAvailable)
-        if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_110OHM0 + lGroup * (SPC_110OHM1 - SPC_110OHM0), bTerm ? 1 : 0);
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
-
-
-/*
-**************************************************************************
-**************************************************************************
-**************************************************************************
-  Miscellaneous setup
-**************************************************************************
-**************************************************************************
-**************************************************************************
-*/
-
-
-
-/*
-**************************************************************************
-bSpcMSetupTimestamp: set up the timestamp mode and performs a
-synchronisation with reference clock if that mode is activated. Checks for
-BASEXIO option if one wants to use reference clock mode
-**************************************************************************
-*/
-
-bool bSpcMSetupTimestamp (ST_SPCM_CARDINFO *pstCardInfo, int32 lMode, uint32 dwRefTimeoutMS)
-    {
-    if (!pstCardInfo)
-        return false;
-
-    uint32 dwError = ERR_OK;
-    bool bRefClockMode = ((lMode & (SPC_TSCNT_REFCLOCKPOS | SPC_TSCNT_REFCLOCKNEG)) != 0);
-
-    // if ref clock is activated for M2i/M3i cards we check for the installation of base xio as this contains the ref clock input
-    if (bRefClockMode && ((pstCardInfo->lFeatureMap & SPCM_FEAT_BASEXIO) == 0) && ((pstCardInfo->bM2i) || (pstCardInfo->bM3i)))
-        {
-        sprintf (pstCardInfo->szError, "Timestamp ref clock mode requires an installed BASEXIO feature!\n");
-        return false;
-        }
-
-    // set the timestamp mode
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TIMESTAMP_CMD, lMode);
-
-    // in ref clock mode we now try the synchronisation with external clock
-    if (bRefClockMode && !dwError)
-        {
-        dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TIMESTAMP_TIMEOUT, dwRefTimeoutMS);
-        if (!dwError)
-            dwError = spcm_dwSetParam_i32 (pstCardInfo->hDrv, SPC_TIMESTAMP_CMD, SPC_TS_RESET);
-
-        // error = synchronisation failed
-        if (dwError)
-            {
-            sprintf (pstCardInfo->szError, "Timestamp reset: synchronisation with external ref clock failed. Check cabeling and check timeout value\n");
-            return false;
-            }
-        }
-
-    return bSpcMCheckSetError (dwError, pstCardInfo);
-    }
-
diff --git a/Cpp/examples/c_cpp/common/spcm_lib_card.h b/Cpp/examples/c_cpp/common/spcm_lib_card.h
deleted file mode 100644
index d6ab78297b2627c0fc564573cff6fec021bd3a3a..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/common/spcm_lib_card.h
+++ /dev/null
@@ -1,597 +0,0 @@
-/*
-**************************************************************************
-
-spcm_lib_card.h                                (c) Spectrum GmbH , 01/2006
-
-**************************************************************************
-
-defines the library functions as external to use them with projects where
-the lib is directly included (like dll) and where the lib has to be loaded
-separately (like LabWindows or unsupported C compiler)
-
-**************************************************************************
-*/
-
-#ifndef SPCM_LIB_CARD_H
-#define SPCM_LIB_CARD_H
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-
-
-#define SPCM_MAX_AIRANGE    8
-#define SPCM_MAX_AICHANNEL  16
-#define SPCM_MAX_AIPATH     2
-#define SPCM_MAX_AOCHANNEL  8
-#define SPCM_MAX_DIOCHANNEL 64
-
-
-/*
-**************************************************************************
-structure with different card information and setup information that is
-used by the setup and data processing routines
-**************************************************************************
-*/
-
-// different card functionalities
-typedef enum E_SPCM_CARDFNC {AnalogIn, AnalogOut, DigitalOut, DigitalIn, DigitalIO} E_SPCM_CARDFNC;
-
-// card information structure
-typedef struct 
-    {
-
-    // information from the card
-    drv_handle      hDrv;                   // handle to opened card driver
-    int32           lCardIdx;               // index of card (from open), just for display
-    int32           lCardType;              // card type as listed in the manual
-    E_SPCM_CARDFNC  eCardFunction;          // function of the card
-    int32           lSerialNumber;          // serial number of card
-    int64           llInstMemBytes;         // installed on-board memory in bytes
-    int32           lFeatureMap;            // bitmap with installed card features
-    int32           lExtFeatureMap;         // bitmap with installed extended features
-    int32           lMaxChannels;           // number of channels (analog or digital)
-    int32           lModulesCount;          // number of installed modules for data sorting algorithm
-    int32           lBytesPerSample;        // number of bytes for each sample (analog data)
-    int64           llMinSamplerate;        // minimum sampling rate
-    int64           llMaxSamplerate;        // maximum sampling rate
-
-    int32           lLibVersion;            // version of the library
-    int32           lKernelVersion;         // version of the kernel driver
-
-    int32           lCtrlFwVersion;         // version of main control firmware
-    int32           lBaseHwVersion;         // version of base hardware
-    int32           lModHwVersion;          // version of module hardware
-    int32           lModFwVersion;          // version of module firmware
-
-    // current settings
-    bool            bSetError;              // one of the functions generated an error
-    int32           lErrorCode;             // error code
-    char            szError[ERRORTEXTLEN];  // space for the error text
-    uint64          qwSetChEnableMap;       // current channel enable map
-    int64           llSetMemsize;           // programmed memory size
-    int32           lSetChannels;           // number of used channels for this run
-    int64           llSetSamplerate;        // current selected sampling rate (1 for external)
-    int32           lOversampling;          // currently active oversampling factor
-
-    // flags for the examples to determine card family
-    bool            bM2i;                   // M2i.xxxx or M2i.xxxx-exp
-    bool            bM3i;                   // M3i.xxxx or M3i.xxxx-exp
-    bool            bM4i;                   // M4i.xxxx-x8 or M4x.xxxx-x4
-    bool            bM2p;                   // M2p.xxxx-x4
-    bool            bM5i;                   // M5i.xxxx-x16
-    bool            bRemote;                // Netbox or Remote Server
-
-    // card function dependant details
-    union
-        {
-
-        // analog input cards
-        struct ST_SPCM_AI
-            {
-            int32   lResolution;                    // resolution of analog channels
-            int32   lMaxADCValue;                   // maximum range, normally 2^(Resolution-1) but can be limited
-            int32   lPathCount;                     // number of input paths
-            struct ST_SPCM_AI_PATH                  // the different paths may have different features
-                {
-                int32   lRangeCount;                    // number of analog input ranges
-                int32   lRangeMin[SPCM_MAX_AIRANGE];    // analog input ranges
-                int32   lRangeMax[SPCM_MAX_AIRANGE];    // ...
-                bool    bInputTermAvailable;            // input termination available
-                bool    bDiffModeAvailable;             // differential mode available
-                bool    bACCouplingAvailable;           // AC/DC coupling softwar selectable
-                bool    bBWLimitAvailable;              // bandwidth limit available
-                bool    bOffsPercentMode;               // offset programmed in percent of range
-                } astPath[SPCM_MAX_AIPATH];
-
-            int32   lSetPath[SPCM_MAX_AICHANNEL];
-            int32   lSetRange[SPCM_MAX_AICHANNEL];  // current used input range for each channel
-            int32   lSetOffset[SPCM_MAX_AICHANNEL]; // current set input offset
-            } stAI;
-
-        // analog output cards
-        struct ST_SPCM_AO
-            {
-            int32   lResolution;                    // resolution of analog channels
-            int32   lMaxDACValue;                   // maximum range, normally 2^(Resolution-1) but can be limited
-            bool    bGainProgrammable;              // programmable gain available 
-            bool    bOffsetProgrammable;            // programmable offset available
-            bool    bFilterAvailable;               // programmable filters available
-            bool    bStopLevelProgrammable;         // programmable stop level available
-            bool    bDiffModeAvailable;             // differential mode available
-            } stAO;
-
-        // digital input, outputs or i/o cards
-        struct ST_SPCM_DIO
-            {
-            int32   lGroups;                        // number of channel groups that have individual setup
-            bool    bInputTermAvailable;            // input termination available
-            bool    bDiffModeAvailable;             // differential mode available
-            bool    bStopLevelProgrammable;         // programmable stop level available
-            bool    bOutputLevelProgrammable;       // low and high output level is programmable
-            } stDIO;
-        
-        } uCfg;
-    } ST_SPCM_CARDINFO;
-
-
-
-
-
-/*
-**************************************************************************
-bSpcMInitCardByIdx:
-
-opens the driver with the given indes, reads out card information and
-fills the CARDINFO structure
-**************************************************************************
-*/
-
-bool bSpcMInitCardByIdx (               // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,    // pointer to an allocated and empty card info structure
-    int32               lCardIdx);      // index of card to open, index starts with zero
-
-bool bSpcMInitCardByIdx (               // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,    // pointer to an allocated and empty card info structure
-    const char*         szDrvName,      // name of card like /dev/spcm0 (local) or 123.123.123.123 (for digitizerNETBOX only)
-    int32               lCardIdx);      // index of card to open, index starts with zero
-
-
-/*
-**************************************************************************
-nErrorMessageStdOut:
-
-prints the error message to std out and ends the driver if it's active
-program can be left with this function
-**************************************************************************
-*/
-
-int nSpcMErrorMessageStdOut (                   // returns -1
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    const char*         pszMessage,             // user error message,
-    bool                bPrintCardErr = true);  // add card error message
-
-
-
-/*
-**************************************************************************
-pszSpcMTranslateRuntimeError
-
-translation of a runtime error code into a text message. The buffer need 
-to be at least ERRORTEXTLEN long to cover any current or future messages
-**************************************************************************
-*/
-
-char* pszSpcMTranslateRuntimeError (
-    uint32 dwErrorCode, 
-    char* pszBuffer);
-
-
-/*
-**************************************************************************
-vSpcMCloseCard
-
-closes the driver
-**************************************************************************
-*/
-
-void vSpcMCloseCard (
-    ST_SPCM_CARDINFO   *pstCardInfo);           // pointer to a filled card info structure
-
-
-
-/*
-**************************************************************************
-pszSpcMPrintCardInfo
-
-prints the card information to a string for display.
-**************************************************************************
-*/
-
-char* pszSpcMPrintCardInfo (                    // returns the pointer to the printed string
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    char*               pszBuffer,              // buffer for printing
-    int32               lStrLen,                // length of the buffer
-    bool                bExtended = true);      // extended info, if false only name+sn
-
-char* pszSpcMPrintDocumentationLink (
-    const ST_SPCM_CARDINFO *pstCardInfo,        // pointer to a filled card info structure
-    char*                   pszBuffer,          // buffer for printing
-    int32                   lStrLen);           // length of the buffer
-
-
-/*
-**************************************************************************
-bSpcMSetupModeXXX
-
-setup one of the card modes
-**************************************************************************
-*/
-
-// record standard mode single
-bool bSpcMSetupModeRecStdSingle (               // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    uint64              qwChEnable,             // channel enable mask for the next acquisition
-    int64               llMemSamples,           // recording length in samples per channel
-    int64               llPostSamples);         // samples to record after trigger event
-
-// record FIFO mode single
-bool bSpcMSetupModeRecFIFOSingle (              // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    uint64              qwChEnable,             // channel enable mask for the next acquisition
-    int64               llPreSamples,           // number of samples to be stored before the trigger event
-    int64               llBlockToRec = 0,       // blocks and loops can define the maximum recording length
-    int64               llLoopToRec = 0);       // in FIFO mode as Block * Loop. If zero we run continuously
-
-// ***********************************************************************
-
-
-// record standard mode average
-bool bSpcMSetupModeRecStdAverage (              // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    uint64              qwChEnable,             // channel enable mask for the next acquisition
-    int64               llMemSamples,           // recording length in samples per channel
-    int64               llSegmentSize,          // size of each multiple recording segment
-    int64               llPostSamples,          // samples to record after trigger event for each segment
-    int32               lAverages               // number of triggered segments to average
-    );         
-
-// record standard mode multiple recording
-bool bSpcMSetupModeRecStdMulti (                // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    uint64              qwChEnable,             // channel enable mask for the next acquisition
-    int64               llMemSamples,           // recording length in samples per channel
-    int64               llSegmentSize,          // size of each multiple recording segment
-    int64               llPostSamples);         // samples to record after trigger event for each segment
-
-// record standard mode ABA
-bool bSpcMSetupModeRecStdABA (                  // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    uint64              qwChEnable,             // channel enable mask for the next acquisition
-    int64               llMemSamples,           // recording length in samples per channel
-    int64               llSegmentSize,          // size of each multiple recording segment
-    int64               llPostSamples,          // samples to record after trigger event for each segment
-    int32               lABADivider);           // divider for ABA mode slow samples
-
-// record FIFO mode average
-bool bSpcMSetupModeRecFIFOAverage (             // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    uint64              qwChEnable,             // channel enable mask for the next acquisition
-    int64               llSegmentSize,          // size of each multiple recording segment
-    int64               llPostSamples,          // samples to record after trigger event for each segment
-    int32               lAverages,
-    int64               llSegmentsToRec = 0);   // number of segments to record in total. If zero we reun continuously
-
-// record FIFO mode multiple recording
-bool bSpcMSetupModeRecFIFOMulti (               // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    uint64              qwChEnable,             // channel enable mask for the next acquisition
-    int64               llSegmentSize,          // size of each multiple recording segment
-    int64               llPostSamples,          // samples to record after trigger event for each segment
-    int64               llSegmentsToRec = 0);   // numbe of segments to record in total. If zero we reun continuously
-
-// record FIFO mode ABA
-bool bSpcMSetupModeRecFIFOABA (                 // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    uint64              qwChEnable,             // channel enable mask for the next acquisition
-    int64               llSegmentSize,          // size of each multiple recording segment
-    int64               llPostSamples,          // samples to record after trigger event for each segment
-    int32               lABADivider,            // divider for ABA mode slow samples
-    int64               llSegmentsToRec = 0);   // numbe of segments to record in total. If zero we reun continuously
-
-// recalculates the data start address of segment no. idx
-void* pvGetSegmentDataPointer (                 // returns an pointer to the segment start address
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    void*               pvDataBuffer,           // pointer to the data array that holds all segments
-    int32               lSegmentsize,           // size of one segment
-    int32               lSegmentIdx,            // index of the segment of which we wish to get the pointer
-    int32               lBytesPerSample);       // number of bytes per sample    
-
-// ***********************************************************************
-
-// record standard mode gated sampling
-bool bSpcMSetupModeRecStdGate (                 // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    uint64              qwChEnable,             // channel enable mask for the next acquisition
-    int64               llMemSamples,           // recording length in samples per channel
-    int64               llPreSamples,           // number of samples to record before gate starts
-    int64               llPostSamples);         // number of samples to record after gate ends
-
-// record FIFO mode gated sampling
-bool bSpcMSetupModeRecFIFOGate (                // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    uint64              qwChEnable,             // channel enable mask for the next acquisition
-    int64               llPreSamples,           // number of samples to record before gate starts
-    int64               llPostSamples,          // number of samples to record after gate ends
-    int64               llGatesToRec = 0);      // number of gates to record
-
-
-// ***********************************************************************
-
-// replay standard mode single
-bool bSpcMSetupModeRepStdSingle (               // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    uint64              qwChEnable,             // channel enable mask for the next generation
-    int64               llMemSamples);          // samples to replay after trigger event
-
-// replay standard mode looped
-bool bSpcMSetupModeRepStdLoops (                // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    uint64              qwChEnable,             // channel enable mask for the next generation
-    int64               llMemSamples,           // samples to replay after trigger event
-    int64               llLoops = 0);           // loops to replay (0 --> infinite continuous replay)
-
-// replay standard mode single restart
-bool bSpcMSetupModeRepStdSingleRestart (        // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    uint64              qwChEnable,             // channel enable mask for the next generation
-    int64               llMemSamples,           // samples to replay after trigger event
-    int64               llLoops = 0);           // loops to replay (0 --> infinite continuous replay)
-
-// replay FIFO mode single
-bool bSpcMSetupModeRepFIFOSingle (              // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    uint64              qwChEnable,             // channel enable mask for the next acquisition
-    int64               llBlockToRep = 0,       // blocks and loops can define the maximum replay length
-    int64               llLoopToRep = 0);       // in FIFO mode as Block * Loop. If zero we run continuously
-
-// ***********************************************************************
-
-// standard mode multiple replay
-bool bSpcMSetupModeRepStdMulti (                // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    uint64              qwChEnable,             // channel enable mask for the next generation
-    int64               llMemSamples,           // replay length in samples per channel
-    int64               llSegmentSize,          // size of each segment
-    int64               llSegmentsToRep = 1);   // segments to replay (0 = infinite, 1 = memsize once, N = number of segments)
-
-// FIFO mode multiple replay
-bool bSpcMSetupModeRepFIFOMulti (               // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    uint64              qwChEnable,             // channel enable mask for the next generation
-    int64               llSegmentSize,          // size of each segment
-    int64               llSegmentsToRep = 0);   // segments to replay (0 = infinite, N = number of segments)
-
-// ***********************************************************************
-
-// standard mode gated replay 
-bool bSpcMSetupModeRepStdGate (                 // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    uint64              qwChEnable,             // channel enable mask for the next generation
-    int64               llMemSamples,           // recording length in samples per channel
-    int64               llGatesToRep = 1);      // gates to replay (0 = infinte, 1 = memsize once, N = number of gates)
-
-// FIFO mode gated replay 
-bool bSpcMSetupModeRepFIFOGate (                // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    uint64              qwChEnable,             // channel enable mask for the next generation
-    int64               llGatesToRep = 0);      // gates to replay (0 = infinte, N = number of gates)
-
-// ***********************************************************************
-
-bool bSpcMSetupModeRepSequence (                // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    uint64              qwChEnable,             // channel enable mask for the next generation
-    uint32              dwMaxSegments);         // count of divided main sample memory segments
-
-// ***********************************************************************
-
-
-
-/*
-**************************************************************************
-bSpcMSetupClockXXX
-
-setup the clock engine for different modes
-**************************************************************************
-*/
-
-// internal clock using PLL
-bool bSpcMSetupClockPLL (                       // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    int64               llSamplerate,           // desired sampling rate 
-    bool                bClockOut = false);     // clock output enable
-
-// internal clock using high precision quartz
-bool bSpcMSetupClockQuartz (                    // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    int64               llSamplerate,           // sampling rate if internal clock mode
-    bool                bClockOut = false);     // clock output enable
-
-// external clock 
-bool bSpcMSetupClockExternal (                  // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    int32               lExtRange = EXRANGE_LOW,// external clock range if external clock mode is used (M2i only)
-    bool                bClockTerm = true,      // enable clock termination (50 ohm)
-    int32               lDivider = 1);          // clock divider
-
-// reference clock
-bool bSpcMSetupClockRefClock (                  // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    int32               lRefClock,              // reference clock speed if using ref clock mode
-    int64               llSamplerate,           // desired sampling rate
-    bool                bClockTerm = true);     // enable clock termination (50 ohm)
-
-
-
-/*
-**************************************************************************
-bSpcMSetupTriggerXXX
-
-setup the trigger engine for different modes
-**************************************************************************
-*/
-
-// software trigger
-bool bSpcMSetupTrigSoftware (                   // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    bool                bTrigOut = false);      // enable trigger output
-
-// external trigger (if input is using comparators the levels are set to TTL)
-bool bSpcMSetupTrigExternal (                   // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    int32               lExtMode,               // external trigger mode
-    bool                bTrigTerm = true,       // trigger termination active
-    int32               lPulsewidth = 0,        // programmable pulsewidth for all external + pulsewidth modes
-    bool                bSingleSrc = true,      // acts as single trigger source, all other masks cleared
-    int32               lExtLine = 0);          // standard external trigger is line 0
-
-// external analog trigger with programmable levels
-bool bSpcMSetupTrigExternalLevel (              // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    int32               lExtMode,               // external trigger mode
-    int32               lLevel0 = 1500,         // trigger level 0 (mV)
-    int32               lLevel1 = 800,          // trigger level 1 (mV)
-    bool                bTrigTerm = true,       // trigger termination active
-    bool                bACCoupling = false,    // programmable AC coupling
-    int32               lPulsewidth = 0,        // programmable pulsewidth for all external + pulsewidth modes
-    bool                bSingleSrc = true,      // acts as single trigger source, all other masks cleared
-    int32               lExtLine = 0);          // standard external trigger is line 0
-
-// additional BaseXIO trigger
-bool bSpcMSetupTrigXIO (                        // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    int32               lXIOMode,               // external trigger mode
-    bool                bSingleSrc = true,      // acts as single trigger source, all other masks cleared
-    int32               lXIOLine = 0);          // standard XIO trigger is line 0
-
-// channel trigger is set for each channel separately
-bool bSpcMSetupTrigChannel (                    // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    int32               lChannel,               // channel to modify
-    int32               lTrigMode,              // channel trigger mode
-    int32               lTrigLevel0 = 0,        // level 0
-    int32               lTrigLevel1 = 0,        // level 1
-    int32               lPulsewidth = 0,        // programmable pulsewidth for channel
-    bool                bTrigOut = false,       // trigger output
-    bool                bSingleSrc = true);     // acts as single trigger source, all other masks cleared
-
-// this function sets the trigger masks (bSingleSrc of other commands must be false to use this)
-bool bSpcMSetupTrigMask (                       // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    uint32              dwChannelOrMask0,       // or mask of all available channels
-    uint32              dwChannelOrMask1 = 0,   // ...
-    uint32              dwChannelAndMask0 = 0,  // and mask of all available channels
-    uint32              dwChannelAndMask1 = 0,  // ...
-    uint32              dwTrigOrMask = 0,       // trigger or mask (software external, basexio)
-    uint32              dwTrigAndMask = 0);     // trigger and mask (software external, basexio)
-
-
-
-/*
-**************************************************************************
-bSpcMSetupInputChannel
-
-allows all input channel related settings. if one of the setup like
-termination or differential inputs is not available on the card the
-setting is simply ignored
-**************************************************************************
-*/
-
-bool bSpcMSetupInputChannel (                   // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    int32               lChannel,               // channel to change
-    int32               lInputRange,            // input range in mV = (max-min)/2, =1000 for +/-1V range
-    bool                bTerm = true,           // set input termination (50 ohm) if available
-    int32               lInputOffset = 0,       // programmable input offset as listed in the manual
-    bool                bDiffInput = false);    // set differential input if available
-
-// ***********************************************************************
-// suitable for M3i series with enhanced inputs
-
-bool bSpcMSetupPathInputCh (                    // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    int32               lChannel,               // channel to change
-    int32               lPath,                  // input path
-    int32               lInputRange,            // input range in mV = (max-min)/2, =1000 for +/-1V range
-    int32               lOffset_percent = 0,    // offset in percent, if available
-    bool                bTerm = true,           // set input termination (50 ohm) if available
-    bool                bACCoupling = false,    // AC coupling activated
-    bool                bBWLimit = false,       // bandwidth limit activated
-    bool                bDiffInput = false);    // set differential input if available
-
-
-/*
-**************************************************************************
-bSpcMSetupAnalogOutputChannel
-
-allows all analog output channel related settings. if one of the setup like
-DoubleOut is not available on the card the setting is simply ignored
-**************************************************************************
-*/
-
-bool bSpcMSetupAnalogOutputChannel (                    // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO    *pstCardInfo,                   // pointer to a filled card info structure
-    int32               lChannel,                       // channel to change
-    int32               lAmplitude,                     // output amplitude in mV = (max-min)/2, =1000 for +/-1V range
-    int32               lOutputOffset = 0,              // programmable output offset as listed in the manual
-    int32               lFilter = 0,                    // programmable output filter as listed in the manual
-    int32               lStopMode = SPCM_STOPLVL_ZERO,  // defines the behavior after replay or while replay is pausing         
-    bool                bDoubleOut = false,             // enables identical    output on two channels of one module (if available)
-    bool                bDifferential = false);         // enables differential output on two channels of one module (if available)
-
-
-
-/*
-**************************************************************************
-bSpcMSetupDigitalXXXModul
-
-allows all input and output channel related settings for one group of 
-channels. If one of the setups like the programmable output levels is not
-available this setup is simply ignored
-**************************************************************************
-*/
-
-bool bSpcMSetupDigitalOutput (                           // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO    *pstCardInfo,                    // pointer to a filled card info structure
-    int32                lGroup,                         // module/group of channels to change
-    int32                lStopMode = SPCM_STOPLVL_LOW,   // defines the behavior after replay or while replay is pausing
-    int32                lLowLevel = 0,                  // low level in mV if output is programmable
-    int32                lHighLevel = 3300,              // high level in mV if output levels are programmable
-    bool                 bDiffMode = false);             // hardware differential mode if available
-
-bool bSpcMSetupDigitalInput (                            // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO    *pstCardInfo,                    // pointer to a filled card info structure
-    int32                lGroup,                         // module/group of channels to change
-    bool                 bTerm = true);                  // input termination
-
-
-
-/*
-**************************************************************************
-bSpcMSetupTimestamp
-
-set up the timestamp mode and performs a synchronisation with refernce
-clock if that mode is activated
-**************************************************************************
-*/
-
-bool bSpcMSetupTimestamp (                      // returns false if error occured, otherwise true
-    ST_SPCM_CARDINFO   *pstCardInfo,            // pointer to a filled card info structure
-    int32               lMode,                  // mode for timestamp
-    uint32              dwRefTimeoutMS);        // timeout in milli seconds for synchronisation with reference clock
-
-#endif
diff --git a/Cpp/examples/c_cpp/common/spcm_lib_data.cpp b/Cpp/examples/c_cpp/common/spcm_lib_data.cpp
deleted file mode 100644
index 6d33ebb86f9de50518b284c5c67bc286abe50c9b..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/common/spcm_lib_data.cpp
+++ /dev/null
@@ -1,679 +0,0 @@
-/*
-**************************************************************************
-
-spcm_lib_data.cpp                                        (c) Spectrum GmbH
-
-**************************************************************************
-
-Offers simple data manipulation routines for the SpcMDrv data format.
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_data.h"
-
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <string.h>
-
-#define _USE_MATH_DEFINES
-#include <math.h>
-
-
-/*
-**************************************************************************
-bSpcMDemuxDigitalInputData
-
-demultiplexes the digital input data to seperate arrays.
-The data buffers for the demultiplexed data must be allocated by the
-caller. Each buffer must be of the size (LenInSamples)
-**************************************************************************
-*/
-
-bool bSpcMDemuxDigitalInputDataToUInt8 (ST_SPCM_CARDINFO *pstCardInfo, void *pvMuxData, uint32 dwLenInSamples, uint8 **ppbyData)
-    {
-    uint32  dwSample;
-    int32   lCh;
-    uint8*  ppbyChPtr[SPCM_MAX_AICHANNEL];
-
-    if (!pstCardInfo || !pvMuxData)
-        return false;
-
-    // set the sorting table for the channels
-    for (lCh=0; lCh < pstCardInfo->lSetChannels; lCh++)
-        ppbyChPtr[lCh] = ppbyData[lCh];
-
-    // if two modules are active data is sorted mod0ch0, mod1ch0, mod0ch1, ...
-    if (pstCardInfo->qwSetChEnableMap & ~((1 << (pstCardInfo->lMaxChannels / pstCardInfo->lModulesCount)) - 1))
-        for (lCh=0; lCh < (pstCardInfo->lSetChannels >> 1); lCh++)
-            {
-            ppbyChPtr[2 * lCh + 0] = ppbyData[lCh];
-            ppbyChPtr[2 * lCh + 1] = ppbyData[(pstCardInfo->lSetChannels >> 1) + lCh];
-            }
-
-    uint8* pbyMuxBuf = (uint8*) pvMuxData;
-
-    for (dwSample = 0; dwSample < dwLenInSamples; dwSample++)
-        for (lCh = 0; lCh < pstCardInfo->lSetChannels; lCh++)
-            *ppbyChPtr[lCh]++ = *pbyMuxBuf++;
-
-    return true;
-    }
-
-
-/*
-**************************************************************************
-bSpcMDemuxDigitalDataToInt8
-
-demultiplexes the digital channel data to seperate arrays. At 64 bit are
-the both inner words swapped to compensate the hardware-order.
-The data buffers for the demultiplexed data must be allocated by the
-caller.
-**************************************************************************
-*/
-
-bool bSpcMDemuxDigitalDataToInt8 (ST_SPCM_CARDINFO *pstCardInfo, void *pvMuxData, uint32 dwLenInSamples, int8 **ppbyData)
-    {
-    int16 nGroupSample;
-    int8 bySample;
-    int32 lIdxOffset, lChIdx, lSampleIdx;
-    uint32 dwGroupIdx;
-    int16* ppnBuf;
-
-    ppnBuf = (int16*)pvMuxData;
-    lSampleIdx = -1;
-
-    // split data
-    for (dwGroupIdx=0; dwGroupIdx < (dwLenInSamples * pstCardInfo->lSetChannels) / 16; dwGroupIdx++)
-        {
-
-        nGroupSample = ppnBuf[dwGroupIdx];
-
-        switch (pstCardInfo->lSetChannels)
-        {
-            // 1, 2, 4, 8 channels
-            case 1:
-            case 2:
-            case 4:
-            case 8:
-                for (lChIdx=0; lChIdx < 16; lChIdx++)
-                    {
-
-                    if (!(lChIdx%pstCardInfo->lSetChannels))
-                        lSampleIdx++;
-
-                    bySample = (int8)(nGroupSample & 0x0001);
-                    nGroupSample = nGroupSample >> 1;
-
-                    ppbyData[lChIdx%pstCardInfo->lSetChannels][lSampleIdx] = bySample;
-                    }
-
-                break;
-
-            // 16 channels
-            case 16 :
-                for (lChIdx=0; lChIdx < 16; lChIdx++)
-                    {
-                    bySample = (int8)(nGroupSample & 0x0001);
-                    nGroupSample = nGroupSample >> 1;
-
-                    ppbyData[lChIdx][dwGroupIdx] = bySample;
-                    }
-
-                break;
-
-            // 32 channels
-            case 32 :
-                if (!(dwGroupIdx%2))
-                    {
-                    lIdxOffset = 0;
-                    lSampleIdx++;
-                    }
-                else
-                    lIdxOffset = 16;
-
-                for (lChIdx=0; lChIdx < 16; lChIdx++)
-                    {
-                    bySample = (int8)(nGroupSample & 0x0001);
-                    nGroupSample = nGroupSample >> 1;
-
-                    ppbyData[lChIdx + lIdxOffset][lSampleIdx] = bySample;
-                    }
-
-                break;
-
-            // 64 channels
-            case 64 :
-                switch (dwGroupIdx%4)
-                    {
-                    case 0 :
-                        lIdxOffset = 0;
-                        lSampleIdx++;
-                        break;
-                    case 1 :
-                        lIdxOffset = 32;
-                        break;
-                    case 2 :
-                        lIdxOffset = 16;
-                        break;
-                    case 3 :
-                        lIdxOffset = 48;
-                        break;
-                    }
-
-                for (lChIdx=0; lChIdx < 16; lChIdx++)
-                    {
-                    bySample = (int8)(nGroupSample & 0x0001);
-                    nGroupSample = nGroupSample >> 1;
-
-                    ppbyData[lChIdx + lIdxOffset][lSampleIdx] = bySample;
-                    }
-
-                break;
-
-            default:
-                return false;
-            }
-        }
-
-    return true;
-    }
-
-
-/*
-**************************************************************************
-dSpcMIntToVoltage: recalculates an integer value to a voltage value taking
-selected range and selected offset into account
-**************************************************************************
-*/
-
-double dSpcMIntToVoltage (ST_SPCM_CARDINFO *pstCardInfo, int32 lChannel, double dValue)
-    {
-    if (!pstCardInfo)
-        return 0;
-
-    if ((lChannel < 0) || (lChannel >= pstCardInfo->lMaxChannels))
-        {
-        sprintf (pstCardInfo->szError, "SpcMIntToVoltage: channel number %d not valid. Channels range from 0 to %d\n", lChannel, pstCardInfo->lMaxChannels);
-        return 0;
-        }
-
-    double dVoltage_mv;
-
-    // recalculate with input range
-    dVoltage_mv = pstCardInfo->uCfg.stAI.lSetRange[lChannel] * dValue / pstCardInfo->uCfg.stAI.lMaxADCValue;
-
-    // add the signal offset
-    if (pstCardInfo->uCfg.stAI.astPath[pstCardInfo->uCfg.stAI.lSetPath[lChannel]].bOffsPercentMode)
-        dVoltage_mv -= pstCardInfo->uCfg.stAI.lSetRange[lChannel] * pstCardInfo->uCfg.stAI.lSetOffset[lChannel] / 100;
-    else
-        dVoltage_mv -= pstCardInfo->uCfg.stAI.lSetOffset[lChannel];
-
-    return (dVoltage_mv / 1000.0);
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMDemuxAnalogDataToVoltage
-
-demultiplexes the analog channel data to seperate arrays.
-The data buffers for the demultiplexed data must be allocated by the
-caller. Each buffer must be of the size (LenInSamples * sizeof(float))
-
-Recalculates the plain data to voltage levels taking resolution, offset
-and range into account.
-**************************************************************************
-*/
-
-bool bSpcMDemuxAnalogDataToVoltage (ST_SPCM_CARDINFO *pstCardInfo, void *pvMuxData, uint32 dwLenInSamples, float **ppfData)
-    {
-    uint32  dwSample;
-    int32   lCh;
-    float*  ppfChPtr[SPCM_MAX_AICHANNEL];
-    double  dOffset[SPCM_MAX_AICHANNEL], dFactor[SPCM_MAX_AICHANNEL];
-
-    if (!pstCardInfo || !pvMuxData)
-        return false;
-
-    // set the sorting table for the channels
-    for (lCh=0; lCh < pstCardInfo->lSetChannels; lCh++)
-        ppfChPtr[lCh] = ppfData[lCh];
-
-    // if two modules are active data is sorted mod0ch0, mod1ch0, mod0ch1, ...
-    if (pstCardInfo->qwSetChEnableMap & ~((1 << (pstCardInfo->lMaxChannels / pstCardInfo->lModulesCount)) - 1))
-        for (lCh=0; lCh < (pstCardInfo->lSetChannels >> 1); lCh++)
-            {
-            ppfChPtr[2 * lCh + 0] = ppfData[lCh];
-            ppfChPtr[2 * lCh + 1] = ppfData[(pstCardInfo->lSetChannels >> 1) + lCh];
-            }
-
-    // calculate offset and factor for re-calculation to voltage
-    for (lCh=0; lCh < pstCardInfo->lSetChannels; lCh++)
-        {
-        dFactor[lCh] = (double) pstCardInfo->uCfg.stAI.lSetRange[lCh] / pstCardInfo->uCfg.stAI.lMaxADCValue / 1000.0;
-
-        // add the signal offset
-        if (pstCardInfo->uCfg.stAI.astPath[pstCardInfo->uCfg.stAI.lSetPath[lCh]].bOffsPercentMode)
-            dOffset[lCh] = -(double) pstCardInfo->uCfg.stAI.lSetRange[lCh] * pstCardInfo->uCfg.stAI.lSetOffset[lCh] / 100.0 / 1000.0;
-        else
-            dOffset[lCh] = -(double) pstCardInfo->uCfg.stAI.lSetOffset[lCh] / 1000.0;
-        }
-
-    // split word data
-    if (pstCardInfo->lBytesPerSample > 1)
-        {
-        int16* pnMuxBuf = (int16*) pvMuxData;
-
-        for (dwSample = 0; dwSample < dwLenInSamples; dwSample++)
-            for (lCh = 0; lCh < pstCardInfo->lSetChannels; lCh++)
-                *ppfChPtr[lCh]++ = (float) (dOffset[lCh] + dFactor[lCh] * *pnMuxBuf++);
-        }
-
-    // split byte data
-    else
-        {
-        int8* pbyMuxBuf = (int8*) pvMuxData;
-
-        for (dwSample = 0; dwSample < dwLenInSamples; dwSample++)
-            for (lCh = 0; lCh < pstCardInfo->lSetChannels; lCh++)
-                *ppfChPtr[lCh]++ = (float) (dOffset[lCh] + dFactor[lCh] * *pbyMuxBuf++);
-        }
-
-    return true;
-    }
-
-
-
-/*
-**************************************************************************
-bMMuxData
-
-multiplexes a series of channels into one buffer. The function retains
-the information how much bytes one sample has from the CardInfo structure.
-The source buffers must be same format and the destination buffer must be
-lSetChannels * llMemsize for all the data
-**************************************************************************
-*/
-
-bool bSpcMMuxData (ST_SPCM_CARDINFO *pstCardInfo, void *pvMuxData, uint32 dwLenInSamples, void **ppvData)
-    {
-    int32   lCh;
-    void*   ppvChPtr[SPCM_MAX_AOCHANNEL];
-    uint32  dwSample;
-
-    if (!pstCardInfo || !pvMuxData)
-        return false;
-
-    // set the sorting table for the channels
-    for (lCh = 0; lCh < pstCardInfo->lSetChannels; lCh++)
-        ppvChPtr[lCh] = ppvData[lCh];
-
-    // M2i does not use linear sorting if two modules are active
-    if (pstCardInfo->bM2i)
-        {
-        // if two modules are active data is sorted mod0ch0, mod1ch0, mod0ch1, ...
-        if (pstCardInfo->qwSetChEnableMap & ~((1 << (pstCardInfo->lMaxChannels / pstCardInfo->lModulesCount)) - 1))
-            {
-            for (lCh=0; lCh < (pstCardInfo->lSetChannels >> 1); lCh++)
-                {
-                ppvChPtr[2 * lCh + 0] = ppvData[lCh];
-                ppvChPtr[2 * lCh + 1] = ppvData[(pstCardInfo->lSetChannels >> 1) + lCh];
-                }
-            }
-        }
-
-    // now start the mux loop
-    uint32 dwBytesPerSumSample = (uint32) (pstCardInfo->lSetChannels * pstCardInfo->lBytesPerSample);
-    uint32 dwBytesPerSample = pstCardInfo->lBytesPerSample;
-
-    for (dwSample = 0; dwSample < dwLenInSamples; dwSample++)
-        for (lCh = 0; lCh < pstCardInfo->lSetChannels; lCh++)
-            memcpy (((uint8*) pvMuxData) + dwSample * dwBytesPerSumSample + lCh * dwBytesPerSample, ((uint8*) ppvChPtr[lCh]) + dwSample * dwBytesPerSample, dwBytesPerSample);
-
-    return true;
-    }
-
-
-
-/*
-**************************************************************************
-bSpcMSplitAnalogAndDigitalData
-
-If synchronous digital inputs have been used with analog data acquisition,
-analog and digital data are stored in combined samples, the digital data
-using the upper bits of the analog word.
-
-This function splits analog and digital data into separate arrays. Analog
-data is sign extended to int16 again to use it with any calculation
-routine. Digital data
-
-The caller is responsible to allocate buffer data for the split data. The
-analog data buffer must be of the size (LenInSamples * Channels * 2), the
-digital data needs (LenInSamples * Channels)
-**************************************************************************
-*/
-
-bool bSpcMSplitAnalogAndDigitalData (ST_SPCM_CARDINFO *pstCardInfo, void *pvMergedData, uint32 dwLenInSamples, void *pvAnalogData, void *pvDigitalData)
-    {
-    int16 nSample, nAnalogVal, nDigMask;
-    uint32 i;
-
-    if (!pstCardInfo || !pvMergedData)
-        return false;
-
-    int16 *pnMergedData   = (int16*)pvMergedData;
-    int16 *pnAnalogData   = (int16*)pvAnalogData;
-    uint8 *pbyDigitalData = (uint8*)pvDigitalData;
-
-    // split analog and digital part
-    for (i = 0; i < dwLenInSamples; i++)
-        {
-        nSample = pnMergedData[i];
-
-        if (pstCardInfo->uCfg.stAI.lResolution == 12)
-            {
-
-            // card resolution = 12 bit -> 4 digital channels
-            nDigMask = nSample >> 12;
-            nDigMask &= 0x000f;
-
-            if (nSample & 0x800)
-                nAnalogVal = nSample | 0xf000;
-            else
-                nAnalogVal = nSample & 0x0fff;
-            }
-        else
-            {
-
-            // card resolution = 14 bit -> 2 digital channels
-            nDigMask = nSample >> 14;
-            nDigMask &= 0x0003;
-
-            if (nSample & 0x2000)
-                nAnalogVal = nSample | 0xc000;
-            else
-                nAnalogVal = nSample & 0x3fff;
-            }
-
-        pbyDigitalData[i] = (uint8)nDigMask;
-        pnAnalogData[i]   = nAnalogVal;
-        }
-
-    return true;
-    }
-
-
-/*
-**************************************************************************
-bFillSB5Header
-
-Fills a SBench5 file header structure with the current setup of pstCard
-**************************************************************************
-*/
-
-bool bFillSB5Header (ST_SPCM_CARDINFO *pstCard, ST_SB5HEAD *pstHeader, const char* pszName)
-    {
-    char szSource[25];
-    int  i;
-
-    if (!pstCard || !pstHeader)
-        return false;
-
-    // check the arrays that we need
-    if (!pstHeader->pdSourceFS || !pstHeader->pdYOffset || !pstHeader->pdYScale || !pstHeader->plMuxIdx)
-        return false;
-
-    // signal type
-    switch (pstCard->eCardFunction)
-        {
-        case AnalogIn:
-            if (pstCard->lSetChannels == 1)
-                pstHeader->lSignalType = SIGNAL_TYP_ANALOGTIME;
-            else
-                pstHeader->lSignalType = SIGNAL_TYP_ANALOGSTREAM;
-            switch (pstCard->uCfg.stAI.lResolution)
-                {
-                case 8:  pstHeader->lSignalType |= SIGNAL_TYP_8BIT | SIGNAL_TYP_1BYTE; break;
-                case 12: pstHeader->lSignalType |= SIGNAL_TYP_12BIT | SIGNAL_TYP_2BYTE; break;
-                case 14: pstHeader->lSignalType |= SIGNAL_TYP_14BIT | SIGNAL_TYP_2BYTE; break;
-                case 16: pstHeader->lSignalType |= SIGNAL_TYP_16BIT | SIGNAL_TYP_2BYTE; break;
-                default: break;
-                }
-
-            break;
-
-        case DigitalIn:
-        case DigitalIO:
-            if (pstCard->lSetChannels == 1)
-                pstHeader->lSignalType = SIGNAL_TYP_DIGITALTIME;
-            else
-                pstHeader->lSignalType = SIGNAL_TYP_DIGITALSTREAM;
-            break;
-
-        default:
-            return false;
-        }
-
-    // signal name
-    pstHeader->pszSignalName =  new char[strlen(pszName) + 1];
-    strcpy (pstHeader->pszSignalName, pszName);
-
-
-    // source is card name + sn
-    switch (pstCard->lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M2ISERIES:     sprintf (szSource, "M2i.%04x sn %05d", (unsigned)(pstCard->lCardType & TYP_VERSIONMASK), pstCard->lSerialNumber); break;
-        case TYP_M2IEXPSERIES:  sprintf (szSource, "M2i.%04x-Exp sn %05d", (unsigned)(pstCard->lCardType & TYP_VERSIONMASK), pstCard->lSerialNumber); break;
-        default:                sprintf (szSource, "Unknown %04x sn %05d", (unsigned)(pstCard->lCardType & TYP_VERSIONMASK), pstCard->lSerialNumber); break;
-        }
-    pstHeader->pszSource =      new char[strlen(szSource) + 1];
-    strcpy (pstHeader->pszSource, szSource);
-
-
-    // fill in the single information
-    pstHeader->lSumSamples =    (int32) pstCard->llSetMemsize * pstCard->lSetChannels;
-    pstHeader->dXScale =        1.0 / pstCard->llSetSamplerate;
-    pstHeader->lChannels =      pstCard->lSetChannels;
-
-
-    // channel information to be stored
-    switch (pstCard->eCardFunction)
-        {
-        case AnalogIn:
-            for (i=0; i<pstCard->lSetChannels; i++)
-                {
-                pstHeader->pdSourceFS[i] =  pstCard->uCfg.stAI.lSetRange[i];
-                pstHeader->pdYOffset[i] =   - (double) pstCard->uCfg.stAI.lSetOffset[i] / 100 * pstCard->uCfg.stAI.lSetRange[i];
-                pstHeader->pdYScale[i] =    (double) pstCard->uCfg.stAI.lSetRange[i] / pstCard->uCfg.stAI.lMaxADCValue / 1000.0;
-                }
-
-            // if two modules are active data is sorted mod0ch0, mod1ch0, mod0ch1, ...
-            if (pstCard->qwSetChEnableMap & ~((1 << (pstCard->lMaxChannels / pstCard->lModulesCount)) - 1))
-                for (i=0; i < (pstCard->lSetChannels >> 1); i++)
-                    {
-                    pstHeader->plMuxIdx[2 * i + 0] = i;
-                    pstHeader->plMuxIdx[2 * i + 1] = (pstCard->lSetChannels >> 1) + i;
-                    }
-
-            // all channels on one module
-            else
-                for (i=0; i < pstCard->lSetChannels; i++)
-                    pstHeader->plMuxIdx[i] = i;
-
-            break;
-        }
-
-    return true;
-    }
-
-
-
-/*
-**************************************************************************
-bCalcSignal: calculates simple signal shapes for output card test
-**************************************************************************
-*/
-
-bool bSpcMCalcSignal (ST_SPCM_CARDINFO *pstCardInfo, void *pvData, uint32 dwLenInSamples, uint32 dwByteWidth, E_SPCM_SIGSHAPE eShape, uint32 dwLoops, uint32 dwGainP, uint32 dwPhase_degree)
-    {
-    int64   llMinFS, llMaxFS, llValue;
-    uint32  i;
-    int32   lResolution;
-    double  dScale;
-    int8*   pbyData = (int8*)  pvData;
-    int16*  pnData =  (int16*) pvData;
-    int32*  plData =  (int32*) pvData;
-    int64*  pllData = (int64*) pvData;
-
-    if (!pstCardInfo || !pvData || !dwLenInSamples)
-        return false;
-
-
-    // examine the resolution, bytewidth and min/max values
-    switch (pstCardInfo->eCardFunction)
-        {
-        case AnalogIn:
-        case AnalogOut:
-            if (pstCardInfo->eCardFunction == AnalogIn)
-                lResolution = pstCardInfo->uCfg.stAI.lResolution;
-            else
-                lResolution = pstCardInfo->uCfg.stAO.lResolution;
-
-            switch (lResolution)
-                {
-                default:
-                case 7:
-                case 8:
-                    dwByteWidth = 1;
-                    break;
-
-                case 12:
-                case 14:
-                case 16:
-                    dwByteWidth = 2;
-                    break;
-                }
-
-            llMinFS = -pstCardInfo->uCfg.stAO.lMaxDACValue - 1;
-            llMaxFS =  pstCardInfo->uCfg.stAO.lMaxDACValue;
-            dScale = (double) pstCardInfo->uCfg.stAO.lMaxDACValue * dwGainP / 100.0;
-
-            break;
-
-        case DigitalIn:
-        case DigitalOut:
-        case DigitalIO:
-            if (dwByteWidth == 0)
-                {
-                sprintf (pstCardInfo->szError, "ByteWidth can't be zero for digital cards as we didn't know how much channels are activated\n");
-                return false;
-                }
-            // two complement numbers
-            llMaxFS = (((uint64) 1 << (8 * dwByteWidth - 1)) - 1);
-            llMinFS = -llMaxFS - 1;
-            dScale = ((double) llMaxFS) * dwGainP / 100.0;
-            break;
-        }
-
-
-    // calculation of different signal shapes
-    double dSineXScale = 2.0 * M_PI / dwLenInSamples * dwLoops;
-    uint32 dwBlockLen = dwLenInSamples / dwLoops;
-    uint32 dwBlockHalf = dwBlockLen / 2;
-    uint32 dwPosInBlock;
-    double dSpan = (double) ((uint64) (llMaxFS - llMinFS));
-    double dPhase_rad = 2.*M_PI * dwPhase_degree / 360.;
-    uint32 dwPhase_samples = (uint32)((double)(dwBlockLen * dwPhase_degree) / 360.);
-    for (i = 0; i < dwLenInSamples; i++)
-        {
-
-        dwPosInBlock = (i % dwBlockLen);
-
-        // calculation of value
-        switch (eShape)
-            {
-
-            // DC level
-            case eDCZero:    llValue = 0; break;
-            case eDCPlusFS:  llValue = llMaxFS; break;
-            case eDCMinusFS: llValue = llMinFS; break;
-
-            // sine
-            case eSine:
-            case eInvertedSine:
-                llValue = (int64) (dScale * sin (dSineXScale * i + dPhase_rad));
-                break;
-
-            // rectangle
-            case eRectangle:
-            case eInvertedRectangle:
-                if (((dwPosInBlock + dwPhase_samples) % dwBlockLen) < dwBlockHalf)
-                    llValue = llMinFS;
-                else
-                    llValue = llMaxFS;
-                break;
-
-            // triangle
-            case eTriangle:
-            case eInvertedTriangle:
-                if (((dwPosInBlock - dwPhase_samples) % dwBlockLen) < dwBlockHalf)
-                    llValue = (int64) (llMinFS + ((dwPosInBlock - dwPhase_samples) % dwBlockLen) * dSpan / dwBlockHalf);
-                else
-                    llValue = (int64) (llMaxFS - (((dwPosInBlock - dwPhase_samples) % dwBlockLen) - dwBlockHalf) * dSpan / dwBlockHalf);
-                break;
-
-            // sawtooth
-            case eSawtooth:
-            case eInvertedSawtooth:
-                llValue = (int64) (llMinFS + ((dwPosInBlock - dwPhase_samples) % dwBlockLen) * dSpan / dwBlockLen);
-                break;
-
-            default:
-                sprintf (pstCardInfo->szError, "Unknown signal shape selected\n");
-                return false;
-            }
-
-        switch (eShape)
-            {
-            // invert sign for inverted waveforms
-            case eInvertedSine:
-            case eInvertedTriangle:
-            case eInvertedSawtooth:
-            case eInvertedRectangle:
-                llValue *= -1;
-                break;
-            default:
-                // nothing
-                break;
-            }
-
-        // write value to array
-        if (llValue < llMinFS)
-            llValue = llMinFS;
-        else if (llValue > llMaxFS)
-            llValue = llMaxFS;
-
-        switch (dwByteWidth)
-            {
-            default:
-            case 1: *pbyData++ = (int8)  llValue; break;
-            case 2: *pnData++ =  (int16) llValue; break;
-            case 4: *plData++ =  (int32) llValue; break;
-            case 8: *pllData++ = (int64) llValue; break;
-            }
-        } // end of for-loop
-
-    return true;
-    }
diff --git a/Cpp/examples/c_cpp/common/spcm_lib_data.h b/Cpp/examples/c_cpp/common/spcm_lib_data.h
deleted file mode 100644
index 2549c8df84ed7dcf3a001bc3a6a5f6193c38a5c9..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/common/spcm_lib_data.h
+++ /dev/null
@@ -1,319 +0,0 @@
-/*
-**************************************************************************
-
-spcm_lib_data.h                                (c) Spectrum GmbH , 01/2006
-
-**************************************************************************
-
-Offers simple data manipulation routines for the SpcMDrv data format. 
-Feel free to use this source for own projects and modify it in any kind
-
-**************************************************************************
-*/
-
-
-#ifndef SPCM_LIB_DATA_H
-#define SPCM_LIB_DATA_H
-
-#include <stdio.h>
-#include <limits>
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../sb5_file/sb5_file.h"
-
-
-/*
-**************************************************************************
-bSpcMDemuxDigitalInputDataToUInt8
-
-demultiplexes the digital input data to seperate arrays of uint8 values.
-The data buffers for the demultiplexed data must be allocated by the 
-caller. Each buffer must be of the size (LenInSamples)
-**************************************************************************
-*/
-
-bool bSpcMDemuxDigitalInputDataToUInt8 (
-    ST_SPCM_CARDINFO   *pstCardInfo,    // pointer to a filled card info structure 
-    void               *pvMuxData,      // pointer to the muxed data
-    uint32              dwLenInSamples, // length ot muxed data in samples
-    uint8             **ppbyData);      // array of pointers for demuxed data
-
-
-/*
-**************************************************************************
-bSpcMDemuxDigitalDataToInt8
-
-demultiplexes the digital channel data to seperate arrays of int8 values.
-The data buffers for the demultiplexed data must be allocated by the 
-caller. 
-**************************************************************************
-*/
-
-bool bSpcMDemuxDigitalDataToInt8 (
-    ST_SPCM_CARDINFO   *pstCardInfo,    // pointer to a filled card info structure
-    void               *pvMuxData,      // pointer to the muxed data
-    uint32              dwLenInSamples, // length ot muxed data in samples
-    int8              **ppbyData);      // array of pointers for demuxed data
-
-
-/*
-**************************************************************************
-bMMuxData
-
-multiplexes a series of channels into one buffer. The function retains
-the information how much bytes one sample has from the CardInfo structure.
-The source buffers must be same format and the destination buffer must be
-lSetChannels * llMemsize for all the data
-**************************************************************************
-*/
-
-bool bSpcMMuxData (
-    ST_SPCM_CARDINFO   *pstCardInfo,    // pointer to a filled card info structure
-    void               *pvMuxData,      // pointer to the empty muxed data buffer
-    uint32              dwLenInSamples, // length ot channel data in samples
-    void              **ppvData);       // array of pointers for demuxed data
-
-
-
-/*
-**************************************************************************
-dSpcMIntToVoltage
-
-recalculates an integer value to a voltage value taking selected range
-and selected offset into account
-**************************************************************************
-*/
-
-double dSpcMIntToVoltage (              // returns the calculated voltage value 
-    ST_SPCM_CARDINFO   *pstCardInfo,    // pointer to a filled card info structure
-    int32               lChannel,       // channel for which the data is valid
-    double              dValue);        // channel value
-
-
-
-/*
-**************************************************************************
-bSpcMDemuxAnalogDataToVoltage
-
-demultiplexes the analog channel data to seperate arrays.
-The data buffers for the demultiplexed data must be allocated by the 
-caller. Each buffer must be of the size (LenInSamples * sizeof(float))
-
-Recalculates the plain data to voltage levels taking resolution, offset 
-and range into account.
-**************************************************************************
-*/
-
-bool bSpcMDemuxAnalogDataToVoltage (
-    ST_SPCM_CARDINFO   *pstCardInfo,    // pointer to a filled card info structure
-    void               *pvMuxData,      // pointer to the muxed data
-    uint32              dwLenInSamples, // length ot muxed data in samples
-    float             **ppfData);       // array of pointers for demuxed data
-
-
-
-/*
-**************************************************************************
-bSplitAnalogAndDigitalData
-
-If synchronous digital inputs have been used with analog data acquistion,
-analog and digital data are stored in combined samples, the digital data
-using the upper bits of the analog word.
-
-This function splits analog and digital data into separate arrays. Analog
-data is sign extended to int16 again to use it with any calculation 
-routine. Digital data 
-
-The caller is responsible to allocate buffer data for the split data. The
-analog data buffer must be of the size (LenInSamples * Channels * 2), the 
-digital data needs (LenInSamples * Channels)
-**************************************************************************
-*/
-
-bool bSpcMSplitAnalogAndDigitalData (
-    ST_SPCM_CARDINFO   *pstCardInfo,    // pointer to a filled card info structure
-    void               *pvMergedData,   // pointer to the merged data
-    uint32              dwLenInSamples, // length ot merged data in samples
-    void               *pvAnalogData,   // pointer to a free buffer for analog data
-    void               *pvDigitalData); // pointer to a free buffer for digital data
-
-
-
-/*
-**************************************************************************
-vFillSB5Header
-
-Fills a SBench5 file header structure with the current setup of pstCard
-**************************************************************************
-*/
-
-bool bFillSB5Header (
-    ST_SPCM_CARDINFO   *pstCardInfo,    // pointer to a filled card info structure
-    ST_SB5HEAD         *pstHeader,      // pointer to an empty header structure
-    const char*         pszName);       // name of signal
-
-
-/*
-**************************************************************************
-TCalcXXX
-
-some simple calculation routines for generic data 
-**************************************************************************
-*/
-
-
-// remove existing Windows min,max definitions so allow std:: functions
-#ifdef max
-#   undef max
-#endif
-
-#ifdef min
-#   undef min
-#endif
-
-
-// ***********************************************************************
-template <class T>        
-T TSpcMCalcMin(           // returns the min value of the signal
-    T* pTData,            // generic data array
-    uint32 lLenInSamples) // length of the data array
-    {
-    if (!pTData)
-        return 0;
-
-    T TMin = std::numeric_limits < T >::max ();
-
-    for (uint32 j = 0; j < lLenInSamples; j++, pTData++)
-        if (*pTData < TMin)
-            TMin = *pTData;
-
-    return TMin;
-    }
-
-
-// ***********************************************************************
-template <class T>
-T TSpcMCalcMax(           // returns the max value of the signal
-    T* pTData,            // generic data array
-    uint32 lLenInSamples) // length of the data array
-    {
-    if (!pTData)
-        return 0;
-
-    T TMax = std::numeric_limits < T >::min ();
-    
-    
-    for (uint32 j = 0; j < lLenInSamples; j++, pTData++)
-        if (*pTData > TMax)
-            TMax = *pTData;
-
-    return TMax;
-    }
-
-
-// ***********************************************************************
-template <class T>
-double dSpcMCalcAverage(   // returns the average (DC) of the signal
-    T* pTData,             // generic data array
-    uint32 lLenInSamples)  // length of the data array
-    {
-    if (!pTData)
-        return 0;
-
-    uint32 j;
-    double dAverage;
-
-    for (dAverage = 0, j = 0; j < lLenInSamples; j++, pTData++)
-        dAverage += *pTData;
-
-    return (dAverage / lLenInSamples);
-    }
-
-
-/*
-**************************************************************************
-bSpcMDemuxAnalogData
-
-demultiplexes the analog channel data to seperate arrays.
-The data buffers for the demultiplexed data must be allocated by the 
-caller. Each buffer must be of the size (LenInSamples * BytesPerSample)
-**************************************************************************
-*/
-
-template <typename T_MuxData, typename T_ChData>
-bool bSpcMDemuxAnalogData (         
-    ST_SPCM_CARDINFO *pstCardInfo, // pointer to a filled card info structure
-    T_MuxData *pTMuxData,          // pointer to the muxed data
-    uint32 dwLenInSamples,         // length ot muxed data in samples
-    T_ChData **ppTChannelData)     // generic array of pointers for demuxed data
-    {
-    uint32    dwSample;
-    int32     lCh;
-    T_ChData* ppTChPtr[SPCM_MAX_AICHANNEL];
-
-    if (!pstCardInfo || !pTMuxData)
-        return false;
-
-    // set the sorting table for the channels
-    for (lCh=0; lCh < pstCardInfo->lSetChannels; lCh++)
-        ppTChPtr[lCh] = ppTChannelData[lCh];
-
-    // if two modules are active data is sorted mod0ch0, mod1ch0, mod0ch1, ...
-    if (pstCardInfo->qwSetChEnableMap & ~((1 << (pstCardInfo->lMaxChannels / pstCardInfo->lModulesCount)) - 1))
-        for (lCh=0; lCh < (pstCardInfo->lSetChannels >> 1); lCh++)
-            {
-            ppTChPtr[2 * lCh + 0] = ppTChannelData[lCh];
-            ppTChPtr[2 * lCh + 1] = ppTChannelData[(pstCardInfo->lSetChannels >> 1) + lCh];
-            }
-
-    for (dwSample = 0; dwSample < dwLenInSamples; dwSample++)
-        for (lCh = 0; lCh < pstCardInfo->lSetChannels; lCh++)
-            *ppTChPtr[lCh]++ = *pTMuxData++;
-
-    return true;
-    }
-
-/*
-**************************************************************************
-bCalcSignal
-
-calculates simple signal shapes for output card test
-**************************************************************************
-*/
-
-// signal shapes
-typedef enum E_SPCM_SIGSHAPE 
-    {
-    eDCZero,            // zero level
-    eDCPlusFS,          // positive full scale level (max)
-    eDCMinusFS,         // negative full scale level (min)
-    eSine,              // sine signal, one full 360° sine per loop
-    eRectangle,         // rectangle with 50% duty
-    eTriangle,          // triangle starting at -full scale level
-    eSawtooth,          // sawtooth starting at -full scale level
-    eInvertedSine,      // like eSine, but with inverted sign
-    eInvertedRectangle, // like eRectangle, but with inverted sign
-    eInvertedTriangle,  // like eTriangle, but with inverted sign
-    eInvertedSawtooth   // like eSawtooth, but with inverted sign
-    } E_SPCM_SIGSHAPE;
-
-
-bool bSpcMCalcSignal (                  // return true if calculation has succeeded
-    ST_SPCM_CARDINFO   *pstCardInfo,    // pointer to a filled card info structure (needed for resolution)
-    void               *pvData,         // pointer to free buffer for calculated data
-    uint32              dwLenInSamples, // length of the data array in samples
-    uint32              dwByteWidth = 0,// bytes width (for digital cards), if zero we expect a matching width to analog resolution
-    E_SPCM_SIGSHAPE     eShape = eSine, // shape of signal to calculate
-    uint32              dwLoops = 1,    // number of loops in calculated signal 
-    uint32              dwGainP = 100,  // gain in percent in relation to resolution
-    uint32              dwPhase_degree = 0 // phase of signal in degrees
-    );
-
-#endif
diff --git a/Cpp/examples/c_cpp/common/spcm_lib_thread.cpp b/Cpp/examples/c_cpp/common/spcm_lib_thread.cpp
deleted file mode 100644
index 9193145fad3ec758943a8893cec4162018850945..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/common/spcm_lib_thread.cpp
+++ /dev/null
@@ -1,723 +0,0 @@
-/*
-**************************************************************************
-
-spcm_lib_thread.cpp                                      (c) Spectrum GmbH
-
-**************************************************************************
-
-Offers data transfer threads for sample data, timestamp data and ABA date.
-Each thread get's a bundle of parameters including a work function that
-is used to do something with the data. These threads are used in all our
-FIFO examples.
-
-**************************************************************************
-*/
-
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_thread.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <string.h>
-
-
-
-/*
-**************************************************************************
-bInitThreadStructure: initializes all mutexes and events. If the parameter
-hSharedUpdate is set we do not allocate a new event for updat ebut use 
-this one as a shared event
-**************************************************************************
-*/
-
-bool bInitThreadStructure (ST_THREADDATA* pstThreadData, SPCM_EVENT_HANDLE* phSharedEventUpdate)
-    {
-    bool bSetupOk = true;
-
-    // initialize the structre with 0
-    memset (pstThreadData, 0, sizeof (ST_THREADDATA));
-
-    // init the mutex and the events
-    bSetupOk &= (bSetupOk && spcm_bCreateMutex (&pstThreadData->hMutexSharedAccess));
-    bSetupOk &= (bSetupOk && spcm_bCreateEvent (&pstThreadData->hEventInitDone));
-    bSetupOk &= (bSetupOk && spcm_bCreateEvent (&pstThreadData->hEventStart));
-    bSetupOk &= (bSetupOk && spcm_bCreateEvent (&pstThreadData->hEventStartDone));
-    bSetupOk &= (bSetupOk && spcm_bCreateEvent (&pstThreadData->hEventTermDone));
-
-    // if a shared event is given we store this and set a matching flag
-    if (phSharedEventUpdate != NULL)
-        {
-        pstThreadData->phSharedUpdate = phSharedEventUpdate;
-        pstThreadData->bSharedUpdate =  true;
-        }
-
-    // otherwise we allocate a new event
-    else
-        {
-        bSetupOk &= (bSetupOk && spcm_bCreateEvent (&pstThreadData->hEventUpdate));
-        pstThreadData->phSharedUpdate = &pstThreadData->hEventUpdate;
-        pstThreadData->bSharedUpdate = false;
-        }
-
-    return bSetupOk;
-    }
-
-
-
-/*
-**************************************************************************
-vCleanThreadStructure: clean up (we don't need to care for correct 
-initialisation as this is checked in the close routines)
-**************************************************************************
-*/
-
-void vCleanThreadStructure (ST_THREADDATA* pstThreadData)
-    {
-    spcm_vCloseMutex (&pstThreadData->hMutexSharedAccess);
-    spcm_vCloseEvent (&pstThreadData->hEventStart);
-    spcm_vCloseEvent (&pstThreadData->hEventInitDone);
-    spcm_vCloseEvent (&pstThreadData->hEventStartDone);
-    spcm_vCloseEvent (&pstThreadData->hEventTermDone);
-
-    if (!pstThreadData->bSharedUpdate)
-        spcm_vCloseEvent (&pstThreadData->hEventUpdate);
-    }
-
-
-
-
-/*
-**************************************************************************
-main loop. the loop cares for card, data, timestamp and aba data all 
-enabled by flags in the pstBufferData structure. 
-
-This loop can be either called directly or from within the thread function.
-if it's called from the thread function it will handle the mutexes and
-events also.
-  
-Mainly the loop does the following steps:
-
-  Call bWorkSetup (user function to setup all details)
-  Allocate memory for buffer
-  Start card and transfers depending on the flags that have been set
-  Loop
-    Wait for interrupt that announces new data or timeout to occur
-    Read Status and current positions in the buffers
-    Recalculate positions and length
-    Call bWorkDo (user function) with the available data
-    Set the data that was processed available to card again
-  Until (Abort OR Error)
-  Call vWorkClose (user function to close files and clean up)
-  Clean up buffers
-
-**************************************************************************
-*/
-
-
-void vMainLoop (
-    ST_BUFFERDATA*      pstBufferData,          // filled card info structure
-    void*               pvWorkData,             // working data structure that is passed to the calback functions
-    SPCM_WORK_INIT*     pfn_bWorkSetup,         // callback function for pre-run setup
-    SPCM_WORK_DO*       pfn_bWorkDo,            // callback function that is called if new data is available
-    SPCM_WORK_CLOSE*    pfn_vWorkClose,         // callback function at the end of run
-    SPCM_ABORTCHECK*    pfn_bAbortCheck,        // callback function for abort checking on each update loop
-    ST_THREADDATA*      pstThreadData)          // threaddata for synchronization. Can be NULL if non threaded version is used
-
-// ***********************************************************************
-
-    {
-    void*   pvDataBuffer =  NULL;
-    void*   pvTSBuffer =    NULL;
-    void*   pvABABuffer =   NULL;
-    int32   lStartCmd =     0;
-    int32   lWaitCmd =      0;
-    int32   lStatus =       0;
-    int64   llAvailPos =    0;
-    uint32  dwError =       ERR_OK;
-    bool    bContMemUsed =  false;
-
-
-    // secure the initialisation
-    if (pstThreadData)
-        spcm_vGetMutex (&pstThreadData->hMutexSharedAccess);
-
-    // first we do the setup
-    pstBufferData->qwDataTransferred =  0;
-    pstBufferData->qwTSTransferred =    0;
-    pstBufferData->qwABATransferred =   0;
-    pstBufferData->dwError =            ERR_OK;
-    if (pfn_bWorkSetup)
-        if (!(*pfn_bWorkSetup) (pvWorkData, pstBufferData))
-            {
-            printf ("Setup failed!\n");
-            dwError = ERR_INIT;
-            }
-
-
-
-    // now the setup routine has defined the buffer details and we allocate data
-    if (!dwError)
-        {
-        if (pstBufferData->bStartData)
-            {
-
-            // try to use cont mem buffer if size matches
-            uint64 qwContBufLen = 0;
-            spcm_dwGetContBuf_i64 (pstBufferData->pstCard->hDrv, SPCM_BUF_DATA, &pvDataBuffer, &qwContBufLen);
-            bContMemUsed = (qwContBufLen >= pstBufferData->dwDataBufLen);
-            if (!bContMemUsed)
-                pvDataBuffer = pvAllocMemPageAligned (pstBufferData->dwDataBufLen);
-            }
-        if (pstBufferData->bStartTimestamp)
-            pvTSBuffer = pvAllocMemPageAligned (pstBufferData->dwTSBufLen);
-        if (pstBufferData->bStartABA)
-            pvABABuffer = pvAllocMemPageAligned (pstBufferData->dwABABufLen);
-        if ((!pvDataBuffer && pstBufferData->bStartData) || (!pvTSBuffer && pstBufferData->bStartTimestamp) || (!pvABABuffer && pstBufferData->bStartABA))
-            {
-            printf ("Memory Allocation Error\n");
-            dwError = ERR_MEMALLOC;
-            }
-        }
-
-
-    // all is prepared and we define the buffers for the transfer
-    if (!pstBufferData->dwError && pstBufferData->bStartData)
-        pstBufferData->dwError = spcm_dwDefTransfer_i64 (pstBufferData->pstCard->hDrv, SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, (uint32) pstBufferData->dwDataNotify, pvDataBuffer, 0, pstBufferData->dwDataBufLen);
-    if (!pstBufferData->dwError && pstBufferData->bStartTimestamp)
-        pstBufferData->dwError = spcm_dwDefTransfer_i64 (pstBufferData->pstCard->hDrv, SPCM_BUF_TIMESTAMP, SPCM_DIR_CARDTOPC, (uint32) pstBufferData->dwTSNotify, pvTSBuffer, 0, pstBufferData->dwTSBufLen);
-    if (!pstBufferData->dwError && pstBufferData->bStartABA)
-        pstBufferData->dwError = spcm_dwDefTransfer_i64 (pstBufferData->pstCard->hDrv, SPCM_BUF_ABA, SPCM_DIR_CARDTOPC, (uint32) pstBufferData->dwABANotify, pvABABuffer, 0, pstBufferData->dwABABufLen);
-
-
-    // send a message that the initialisation has been done
-    if (pstThreadData)
-        {
-        pstThreadData->dwEventFlags |= EVENTFLAG_INITDONE;
-        spcm_vSignalEvent (&pstThreadData->hEventInitDone);
-        }
-
-
-    // start of the card together with all transfers if enabled
-    if (!dwError)
-        {
-
-        // wait for the start event from the main thread
-        if (pstThreadData)
-            {
-            if ((pstThreadData->dwEventFlags & EVENTFLAG_START) == 0)
-                spcm_bWaitEventWithMutex (&pstThreadData->hEventStart, &pstThreadData->hMutexSharedAccess);
-            spcm_vReleaseMutex (&pstThreadData->hMutexSharedAccess);
-            }
-
-        if (pstBufferData->bStartCard)
-            lStartCmd = M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER;
-
-        if (pstBufferData->bStartData)
-            {
-            lStartCmd |= M2CMD_DATA_STARTDMA;
-            lWaitCmd |=  M2CMD_DATA_WAITDMA;
-            }
-
-        if (pstBufferData->bStartExtraDMA)
-            lStartCmd |= M2CMD_EXTRA_STARTDMA;
-
-        if (pstBufferData->bStartTimestamp || pstBufferData->bStartABA)
-            lWaitCmd |=  M2CMD_EXTRA_WAITDMA;
-
-        spcm_dwSetParam_i32 (pstBufferData->pstCard->hDrv, SPC_TIMEOUT, pstBufferData->lTimeout); 
-        dwError = spcm_dwSetParam_i32 (pstBufferData->pstCard->hDrv, SPC_M2CMD, lStartCmd);
-
-        if (pstThreadData)
-            {
-            pstThreadData->dwEventFlags |= EVENTFLAG_STARTDONE;
-            spcm_vSignalEvent (&pstThreadData->hEventStartDone);
-            }
-        }
-
-
-
-    // this is the main loop that waits for data. As we defined a timeout this routine is latest called in our timeout interval
-    while (!dwError)
-        {
-        dwError = spcm_dwSetParam_i32 (pstBufferData->pstCard->hDrv, SPC_M2CMD, lWaitCmd);
-        spcm_dwGetParam_i32 (pstBufferData->pstCard->hDrv, SPC_M2STATUS, &lStatus);
-        
-        // Recording complete (for setups with SPC_LOOPS != 0)?
-        if (lStatus & M2STAT_DATA_END)
-            {
-            // DATA_END can also occur if all data has been transfered from card after overrun
-            if (lStatus & M2STAT_DATA_OVERRUN)
-                dwError = ERR_FIFOHWOVERRUN;
-            else
-                if (pstBufferData->llDataAvailBytes == 0)
-                    dwError = ERR_FIFOFINISHED;
-            }
-
-        // secure the following access as it's the main data loop
-        if (pstThreadData)
-            spcm_vGetMutex (&pstThreadData->hMutexSharedAccess);
-
-
-        // read out the current position of data buffer and recalculate it to avoid rollover
-        if (pstBufferData->bStartData)
-            {
-            spcm_dwGetParam_i64 (pstBufferData->pstCard->hDrv, SPC_DATA_AVAIL_USER_LEN,   &pstBufferData->llDataAvailBytes);
-            spcm_dwGetParam_i64 (pstBufferData->pstCard->hDrv, SPC_DATA_AVAIL_USER_POS,   &llAvailPos);
-            if ((llAvailPos + pstBufferData->llDataAvailBytes) >= pstBufferData->dwDataBufLen)
-                pstBufferData->llDataAvailBytes = (uint64) (pstBufferData->dwDataBufLen - llAvailPos);
-            pstBufferData->pvDataCurrentBuf = (void*) (((char*) pvDataBuffer) + llAvailPos);
-            }
-
-
-        // read out the timestanp positions and recalculate it to avoid rollover
-        if (pstBufferData->bStartTimestamp)
-            {
-            spcm_dwGetParam_i64 (pstBufferData->pstCard->hDrv, SPC_TS_AVAIL_USER_LEN,     &pstBufferData->llTSAvailBytes);
-            spcm_dwGetParam_i64 (pstBufferData->pstCard->hDrv, SPC_TS_AVAIL_USER_POS,     &llAvailPos);
-            if ((llAvailPos + pstBufferData->llTSAvailBytes) >= pstBufferData->dwTSBufLen)
-                pstBufferData->llTSAvailBytes = pstBufferData->dwTSBufLen - llAvailPos;
-            pstBufferData->pvTSCurrentBuf = (void*) (((char*) pvTSBuffer) + llAvailPos);
-            }
-
-
-        // read out the ABA positions and recalculate it to avoid rollover
-        if (pstBufferData->bStartABA)
-            {
-            spcm_dwGetParam_i64 (pstBufferData->pstCard->hDrv, SPC_ABA_AVAIL_USER_LEN,     &pstBufferData->llABAAvailBytes);
-            spcm_dwGetParam_i64 (pstBufferData->pstCard->hDrv, SPC_ABA_AVAIL_USER_POS,     &llAvailPos);
-            if ((llAvailPos + pstBufferData->llABAAvailBytes) >= pstBufferData->dwABABufLen)
-                pstBufferData->llABAAvailBytes = pstBufferData->dwABABufLen - llAvailPos;
-            pstBufferData->pvABACurrentBuf = (void*) (((char*) pvABABuffer) + llAvailPos);
-            }
-
-        // if there is some new data we call our work function
-        if (pstBufferData->llDataAvailBytes || pstBufferData->llTSAvailBytes || pstBufferData->llABAAvailBytes)
-            if (pfn_bWorkDo)
-                if (!(*pfn_bWorkDo) (pvWorkData, pstBufferData))
-                    dwError = ERR_ABORT;
-
-
-        // now we have to set the data available for the card again (the number of bytes may have been modified by the work routine)
-        if (pstBufferData->bStartData && pstBufferData->llDataAvailBytes)
-            spcm_dwSetParam_i64 (pstBufferData->pstCard->hDrv, SPC_DATA_AVAIL_CARD_LEN, pstBufferData->llDataAvailBytes);
-
-        if (pstBufferData->bStartTimestamp && pstBufferData->llTSAvailBytes)
-            spcm_dwSetParam_i64 (pstBufferData->pstCard->hDrv, SPC_TS_AVAIL_CARD_LEN, pstBufferData->llTSAvailBytes);
-
-        if (pstBufferData->bStartABA && pstBufferData->llABAAvailBytes)
-            spcm_dwSetParam_i64 (pstBufferData->pstCard->hDrv, SPC_ABA_AVAIL_CARD_LEN, pstBufferData->llABAAvailBytes);
-       
-
-        // we continuously count the number of bytes that we have transferred so far
-        pstBufferData->qwDataTransferred +=   pstBufferData->llDataAvailBytes;
-        pstBufferData->qwTSTransferred +=     pstBufferData->llTSAvailBytes;
-        pstBufferData->qwABATransferred +=    pstBufferData->llABAAvailBytes;
-
-
-        // at last we check for abort (not in the threaded version as this is then done in the main thread)
-        if (pfn_bAbortCheck && !pstThreadData)
-            if ((*pfn_bAbortCheck) (pvWorkData, pstBufferData))
-               dwError = ERR_ABORT;
-
-
-        // signal the new status to the main thread
-        if (pstThreadData)
-            {
-            pstBufferData->dwError = dwError;
-            spcm_vSignalEvent (pstThreadData->phSharedUpdate);
-            spcm_vReleaseMutex (&pstThreadData->hMutexSharedAccess);
-            }
-
-        // we don't count timeout as an error as we've forced the loop with a small timeout (non-threaded version)
-        if (!pstThreadData)
-            if (dwError == ERR_TIMEOUT)
-                dwError = ERR_OK;
-
-        // we have to suspend this thread for a short tiem to give other threads some working time
-        if (pstThreadData)
-            spcm_vSuspendThread (1);
-        } // while (!dwError) (Main Loop)
-
-
-    // check for the error in the loop
-    printf ("\n\n");
-    switch (dwError)
-        {
-        case ERR_FIFOHWOVERRUN: printf ("Loop: Hardware Overrun\n"); break;
-        case ERR_FIFOFINISHED:  printf ("Loop: FIFO Mode finished"); break;
-        case ERR_OK:            printf ("Loop: Finished normal\n"); break;
-        case ERR_ABORT:         printf ("Loop: Aborted...\n"); break;
-        default:                printf ("Loop: Error %4d\n", dwError); break;
-        }
-
-
-
-    // copy the error information to the buffer structure
-    if (pstThreadData)
-        spcm_vGetMutex (&pstThreadData->hMutexSharedAccess);
-
-    pstBufferData->dwError = dwError;
-
-    // at least we do one last upodate with the final error code
-    if (pstThreadData)
-        {
-        spcm_vReleaseMutex (&pstThreadData->hMutexSharedAccess);
-        spcm_vSignalEvent (pstThreadData->phSharedUpdate);
-        }
-
-
-
-    // close the work
-    if (pfn_vWorkClose)
-        (*pfn_vWorkClose) (pvWorkData, pstBufferData);
-
-    // clean up
-    if (pvDataBuffer && !bContMemUsed)
-        vFreeMemPageAligned (pvDataBuffer, pstBufferData->dwDataBufLen);
-    if (pvTSBuffer)
-        vFreeMemPageAligned (pvTSBuffer, pstBufferData->dwTSBufLen);
-    if (pvABABuffer)
-        vFreeMemPageAligned (pvABABuffer, pstBufferData->dwABABufLen);
-
-    // we need to leave the thread with a released mutex, otherwise the other threads may block
-    if (pstThreadData)
-        {
-        pstThreadData->dwEventFlags |= EVENTFLAG_TERMDONE;
-        spcm_vSignalEvent (&pstThreadData->hEventTermDone);
-        }
-    }
-
-
-
-
-/*
-**************************************************************************
-vDoMainLoop: 
-
-the non threaded version of the main loop, just calls the shared main loop 
-and let the thread data section be NULL to disable all synchronization
-**************************************************************************
-*/
-
-void vDoMainLoop (
-    ST_BUFFERDATA*      pstBufferData,          // filled card info structure
-    void*               pvWorkData,             // working data structure that is passed to the calback functions
-    SPCM_WORK_INIT*     pfn_bWorkSetup,         // callback function for pre-run setup
-    SPCM_WORK_DO*       pfn_bWorkDo,            // callback function that is called if new data is available
-    SPCM_WORK_CLOSE*    pfn_vWorkClose,         // callback function at the end of run
-    SPCM_ABORTCHECK*    pfn_bAbortCheck)        // callback function for abort checking on each update loop
-
-    {
-    vMainLoop (
-        pstBufferData, 
-        pvWorkData, 
-        pfn_bWorkSetup, 
-        pfn_bWorkDo, 
-        pfn_vWorkClose, 
-        pfn_bAbortCheck, 
-        NULL);
-    }
-
-
-
-/*
-**************************************************************************
-
-DataTransfer Thread: it uses the main loop to run the specified thread
-function. 
-
-**************************************************************************
-*/
-
-SPCM_THREAD_RETURN SPCM_THREAD_CALLTYPE pvDataTransferThread (void* pvArguments)
-    {
-    ST_THREADDATA* pstThreadData = (ST_THREADDATA*) pvArguments;
-    ST_BUFFERDATA* pstBufferData = (ST_BUFFERDATA*) pstThreadData->pstBufferData;
-    void*          pvWorkData =    pstThreadData->pvWorkData;
-
-    vMainLoop (
-        pstBufferData, 
-        pvWorkData, 
-        pstThreadData->pfn_bWorkInit, 
-        pstThreadData->pfn_bWorkDo,
-        pstThreadData->pfn_vWorkClose,
-        NULL,
-        pstThreadData);
-
-    return 0;
-    }
-
-
-
-
-/*
-**************************************************************************
-vDoThreadMainLoop: contains the main FIFO loop in the threaded version.
-This function mainly initializes the thread structures and calls
-the threads to do the work
-**************************************************************************
-*/
-
-void vDoThreadMainLoop (
-    ST_BUFFERDATA*      pstBufferData,          // filled card info structure
-    void*               pvWorkData,             // working data structure that is passed to the calback functions
-
-    SPCM_WORK_INIT*     pfn_bWorkInit,          // callback function for pre-run setup
-    SPCM_WORK_DO*       pfn_bWorkDo,            // callback function that is called if new data is available
-    SPCM_WORK_CLOSE*    pfn_vWorkClose,         // callback function at the end of run
-
-    SPCM_ABORTCHECK*    pfn_bAbortCheck,        // callback function for abort checking on each update loop
-    bool                bSeparateThread,        // use separate threads for data, timestamp and ABA
-
-    SPCM_WORK_INIT*     pfn_bTSInit,            // callback function for timestamo pre-run setup
-    SPCM_WORK_DO*       pfn_bTSDo,              // callback function that is called if new timestamps are available
-    SPCM_WORK_CLOSE*    pfn_vTSClose,           // callback function at the end of timestamp run
-
-    SPCM_WORK_INIT*     pfn_bABAInit,           // callback function for ABA pre-run setup
-    SPCM_WORK_DO*       pfn_bABADo,             // callback function that is called if new ABA data is available
-    SPCM_WORK_CLOSE*    pfn_vABAClose)          // callback function at the end of ABA run
-
-// ***********************************************************************
-
-    {
-    SPCM_THREAD_HANDLE  hThread[3];             // handles for the maximum of three threads we support
-    int16               nThreadCount = 0;       // number of threads we currently use
-    ST_THREADDATA       stThreadData[3];        // shared data structure between main and data thread
-    ST_BUFFERDATA       stBufferData[3];        // own copies of buffer data
-    bool                bOk = true;
-    int                 i;
-    uint32              dwError;                // error code of the thread
-
-    // initialize all to zero for later clean up
-    for (i=0; i<3; i++)
-        {
-        hThread[i] = NULL_HANDLE;
-        memset (&stThreadData[i], 0, sizeof(ST_THREADDATA));
-        }
-
-
-    // we set the private buffer data as a copy of the given one and disable the starting flags for separate transfers
-    for (i=0; i<3; i++)
-        {
-        memcpy ((void*) &stBufferData[i], pstBufferData, sizeof (ST_BUFFERDATA));
-
-        // the transfers should be started separately therefore we need to set the flags individually
-        if (bSeparateThread)
-            {
-            stBufferData[i].bStartABA =         false;
-            stBufferData[i].bStartTimestamp =   false;
-            stBufferData[i].bStartData =        false;
-            stBufferData[i].bStartCard =        false;
-            }
-        }
-
-
-    // count the threads to use and set separate start flags and separate work callback functions
-    if (bSeparateThread)
-        {
-        if (pstBufferData->bStartData)
-            {
-            stBufferData[nThreadCount].bStartData =         true;
-            stBufferData[nThreadCount].bStartExtraDMA =     false;
-            stBufferData[nThreadCount].bStartCard =         pstBufferData->bStartCard;
-            nThreadCount++;
-            }
-
-        if (pstBufferData->bStartTimestamp)
-            {
-            stBufferData[nThreadCount].bStartTimestamp =    true;
-            stBufferData[nThreadCount].bStartExtraDMA =     true;
-            nThreadCount++;
-            }
-
-        // extra dma can only be started once.
-        if (pstBufferData->bStartABA)
-            {
-            stBufferData[nThreadCount].bStartABA =          true;
-            stBufferData[nThreadCount].bStartExtraDMA =     !pstBufferData->bStartTimestamp;
-            nThreadCount++;
-            }
-        }
-    else
-        {
-        stBufferData[nThreadCount].bStartExtraDMA = pstBufferData->bStartTimestamp || pstBufferData->bStartABA;
-        nThreadCount = 1;
-        }
-
-
-
-
-    // setup the thread data structure we thereby use a shared update as this main thread should get all update calls
-    // the work data structure is also shared between the different threads
-    for (i=0; (i<nThreadCount) && bOk; i++)
-        {
-        bOk = bInitThreadStructure (&stThreadData[i], (i == 0 ? NULL : &stThreadData[0].hEventUpdate));
-        stThreadData[i].pstBufferData =     &stBufferData[i];
-        stThreadData[i].pvWorkData =        pvWorkData;
-
-        if (stBufferData[i].bStartData)
-            {
-            stThreadData[i].pfn_bWorkDo =        pfn_bWorkDo;
-            stThreadData[i].pfn_bWorkInit =      pfn_bWorkInit;
-            stThreadData[i].pfn_vWorkClose =     pfn_vWorkClose;
-            }
-
-        if (stBufferData[i].bStartTimestamp && bSeparateThread)
-            {
-            stThreadData[i].pfn_bWorkDo =        pfn_bTSDo;
-            stThreadData[i].pfn_bWorkInit =      pfn_bTSInit;
-            stThreadData[i].pfn_vWorkClose =     pfn_vTSClose;
-            }
-
-        if (stBufferData[i].bStartABA && bSeparateThread)
-            {
-            stThreadData[i].pfn_bWorkDo =        pfn_bABADo;
-            stThreadData[i].pfn_bWorkInit =      pfn_bABAInit;
-            stThreadData[i].pfn_vWorkClose =     pfn_vABAClose;
-            }
-
-        if (!stThreadData[i].pfn_bWorkDo)
-            stThreadData[i].pfn_bWorkDo =        pfn_bWorkDo;
-
-        if (!stThreadData[i].pfn_bWorkInit)
-            stThreadData[i].pfn_bWorkInit =      pfn_bWorkInit;
-
-
-        if (!stThreadData[i].pfn_vWorkClose)
-            stThreadData[i].pfn_vWorkClose =     pfn_vWorkClose;
-        }
-
-    if (!bOk)
-        {
-        printf ("An error occurred while initializing mutex and events!\n");
-        return;
-        }
-
-
-
-    // now we start the threads
-    for (i=0; (i<nThreadCount) && bOk; i++)
-        bOk = spcm_bCreateThread (&pvDataTransferThread, &hThread[i], (void*) &stThreadData[i]);
-
-    if (!bOk)
-        printf ("An error occurred while initializing mutex and events!\n");
-
-    // no error, we wait for initialization and check for error
-    if (bOk)
-        printf ("\nThread(s) are started now\n...wait for initialisation of thread\n");
-
-    // wait for thread initialisation done
-    for (i=0; (i<nThreadCount) && bOk; i++)
-        {
-        spcm_vGetMutex (&stThreadData[i].hMutexSharedAccess);
-        if ((stThreadData[i].dwEventFlags & EVENTFLAG_INITDONE) == 0)
-            spcm_bWaitEventWithMutex (&stThreadData[i].hEventInitDone, &stThreadData[i].hMutexSharedAccess);
-        if (stThreadData[i].pstBufferData->dwError)
-            {
-            bOk = false;
-            printf ("...initialisation failed with error %d\n", stThreadData[i].pstBufferData->dwError);
-            dwError = stThreadData[i].pstBufferData->dwError;
-            }
-        }
-
-
-    // initialisation ok, we now send the start event
-    if (bOk)
-        printf ("...initialisation done, thread is now started\n");
-
-    // first step: all threads but not the data (and card start) thread are started
-    for (i=0; (i<nThreadCount) && bOk; i++)
-        if (!stThreadData[i].pstBufferData->bStartData)
-            {
-            stThreadData[i].dwEventFlags |= EVENTFLAG_START;
-            spcm_vSignalEvent (&stThreadData[i].hEventStart);
-
-            if ((stThreadData[i].dwEventFlags & EVENTFLAG_STARTDONE) == 0)
-                spcm_bWaitEventWithMutex (&stThreadData[i].hEventStartDone, &stThreadData[i].hMutexSharedAccess);
-
-            spcm_vReleaseMutex (&stThreadData[i].hMutexSharedAccess);
-            }
-
-    // second step: the data thread is started and with this the card is started
-    for (i=0; (i<nThreadCount) && bOk; i++)
-        if (stThreadData[i].pstBufferData->bStartData)
-            {
-            stThreadData[i].dwEventFlags |= EVENTFLAG_START;
-            spcm_vSignalEvent (&stThreadData[i].hEventStart);
-
-            if ((stThreadData[i].dwEventFlags & EVENTFLAG_STARTDONE) == 0)
-                spcm_bWaitEventWithMutex (&stThreadData[i].hEventStartDone, &stThreadData[i].hMutexSharedAccess);
-
-            spcm_vReleaseMutex (&stThreadData[i].hMutexSharedAccess);
-            }
-
-
-    // we now simply wait for the (shared) update command
-    while (bOk)
-        {
-        spcm_vWaitEvent (&stThreadData[0].hEventUpdate);
-
-        // on each update we can abort the loop
-        if (pfn_bAbortCheck)
-            if (pfn_bAbortCheck (pvWorkData, &stBufferData[0]))
-                {
-                spcm_dwSetParam_i32 (pstBufferData->pstCard->hDrv, SPC_M2CMD, M2CMD_CARD_STOP | M2CMD_DATA_STOPDMA | M2CMD_EXTRA_STOPDMA);
-                printf ("\n...Aborted by user\n");
-                break;
-                }
-
-        // we check all error codes of running threads
-        for (i=0; (i<nThreadCount) && bOk; i++)
-            {
-            spcm_vGetMutex (&stThreadData[i].hMutexSharedAccess);
-            dwError = stThreadData[i].pstBufferData->dwError;
-            bOk = (dwError == ERR_OK);
-            spcm_vReleaseMutex (&stThreadData[i].hMutexSharedAccess);
-            }
-        }
-
-    // print the error code
-    switch (dwError)
-        {
-        case ERR_TIMEOUT:       printf ("\nTimeout has occured"); break;
-        case ERR_FIFOHWOVERRUN: printf ("\nHardware Overrun"); break;
-        case ERR_FIFOFINISHED:  printf ("\nFIFO Mode finished"); break;
-        case ERR_OK:            printf ("\nFinished normal"); break;
-        case ERR_ABORT:         printf ("\nAborted by user"); break;
-        case ERR_MEMALLOC:      printf ("\nMemory Allocation error"); break;
-        default:                printf ("\nError %4d ", dwError); break;
-        }
-    
-    pstBufferData->dwError = dwError;
-
-    // we have to stop the transfer to force the threads to return
-    spcm_dwSetParam_i32 (pstBufferData->pstCard->hDrv, SPC_M2CMD, M2CMD_CARD_STOP | M2CMD_DATA_STOPDMA | M2CMD_EXTRA_STOPDMA);
-
-    // now it's time to clean up
-    for (i=0; i<nThreadCount; i++)
-        {
-        if ((stThreadData[i].dwEventFlags & EVENTFLAG_TERMDONE) == 0)
-            spcm_vWaitEvent (&stThreadData[i].hEventTermDone);
-        spcm_vJoinThread (&hThread[i], 0);
-        spcm_vCloseThread (&hThread[i]);
-        vCleanThreadStructure (&stThreadData[i]);
-        }
-    }
-
-
-
-/*
-**************************************************************************
-bKeyAbortCheck: simple abort function that check for escape
-**************************************************************************
-*/ 
-
-bool bKeyAbortCheck (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    if (bKbhit())
-        if (cGetch() == 27)
-            return true;
-
-    return false;
-    }
diff --git a/Cpp/examples/c_cpp/common/spcm_lib_thread.h b/Cpp/examples/c_cpp/common/spcm_lib_thread.h
deleted file mode 100644
index f30a503a551d421b9e4d3d09d6205c7f71ac98c5..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/common/spcm_lib_thread.h
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
-**************************************************************************
-
-spcm_lib_thread.h                              (c) Spectrum GmbH , 02/2006
-
-**************************************************************************
-
-Offers data transfer threads for sample data, timestamp data and ABA date.
-Each thread get's a bundle of parameters including a work function that
-is used to do something with the data. These thread sare used in all our
-FIFO examples.
-
-**************************************************************************
-*/
-
-
-
-#ifndef SPCM_LIB_THREAD_H
-#define SPCM_LIB_THREAD_H
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-// ----- operating system dependent functions for thead, event and mutex handling -----
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-
-
-
-// our namespace that we use inside the ostools functions
-using namespace SPCM_NAMESPACE;
-
-
-
-/*
-**************************************************************************
-we define three working functions that the thread calls on start, on
-each data update and on close. By defining these functions one can
-implement nearly every functionality using this thread function.
-
-Be aware that all these functions are called with the mutex hold. If the
-function is doing more work it is requested to release the mutex inbetween
-
-**************************************************************************
-*/
-
-struct ST_THREADDATA;
-struct ST_BUFFERDATA;
-
-// initialisation of the working routines
-typedef bool (SPCM_WORK_INIT)  (void* pvWorkData, ST_BUFFERDATA* pstBufferData);
-
-// this function does the job. It get's the current available bytes and may modify it if it doesn't use all data
-typedef bool (SPCM_WORK_DO)    (void* pvWorkData, ST_BUFFERDATA* pstBufferData);
-
-// this function closes (if file access is done) the work and cleans up if necessary
-typedef void (SPCM_WORK_CLOSE) (void* pvWorkData, ST_BUFFERDATA* pstBufferData);
-
-// simple abort function to be implemented by user program
-typedef bool (SPCM_ABORTCHECK) (void* pvWorkData, ST_BUFFERDATA* pstBufferData);
-
-
-
-// simple abort function that waits returns true if escape is pressed
-bool bKeyAbortCheck (void* pvWorkData, ST_BUFFERDATA* pstBufferData);
-
-
-
-/*
-**************************************************************************
-buffer data: structure to handover current buffer status and available
-bytes. The structure is modified several times:
-
-WORK_INIT: 
-  get's the general setup (pstCard object)
-  defines BufLen and Notify for up to three transfer objects
-  may set an error code
-
-WORK_DO
-  get's the current pointers to the data buffers and the currently available bytes
-  modifies the currently available bytes if it doesn't uses all of them
-  may set an error code
-
-**************************************************************************
-*/
-
-struct ST_BUFFERDATA
-    {
-    // general setup and status
-    ST_SPCM_CARDINFO*   pstCard;                // pointer to the shared card info structure
-    uint32              dwError;                // error code 
-    int32               lTimeout;               // timeout in ms for the wait commands
-
-    // starting flags for the different transfers (all together are started)
-    bool                bStartCard;             // starts the card
-    bool                bStartData;             // starts the data transfer
-    bool                bStartTimestamp;        // starts the timestamp transfer
-    bool                bStartABA;              // starts the ABA transfer
-    bool                bStartExtraDMA;         // this thread starts the extra DMA
-
-    // these settings are to be set by WorkSetup and are used for definitions
-    uint32              dwDataBufLen;           // complete buffer length 
-    uint32              dwDataNotify;           // notify size 
-
-    uint32              dwTSBufLen;             // buffer length of the timestamp
-    uint32              dwTSNotify;             // notify size of timestamp
-
-    uint32              dwABABufLen;            // ABA buffer length
-    uint32              dwABANotify;            // notify size of ABA buffer
-
-    // these settings are maintained by the main loop (thread) and are update by the working function
-    void*               pvDataCurrentBuf;       // a pointer to the current data buffer starting address
-    int64               llDataAvailBytes;       // current data length that is available
-    uint64              qwDataTransferred;      // complete transferred amount of data
-
-    void*               pvTSCurrentBuf;         // a pointer to the current timestamp buffer starting address
-    int64               llTSAvailBytes;         // current timestamp length that is available
-    uint64              qwTSTransferred;        // complete transferred amount of timestamp data
-
-    void*               pvABACurrentBuf;        // a pointer to the current ABA buffe starting address
-    int64               llABAAvailBytes;        // current ABA data length that is available
-    uint64              qwABATransferred;       // complete transferred amount of ABA data
-    };
-
-
-
-/*
-**************************************************************************
-The thread data structure contains all exchange data between main program
-and the transfer thread. It also contains the mutexes and events to 
-allow synchronisation
-**************************************************************************
-*/
-#define EVENTFLAG_INITDONE  0x0000001
-#define EVENTFLAG_START     0x0000002
-#define EVENTFLAG_STARTDONE 0x0000004
-#define EVENTFLAG_TERMDONE  0x0000008
-
-
-struct ST_THREADDATA 
-    {
-    // events from main to thread
-    SPCM_EVENT_HANDLE   hEventStart;            // starts the acquistion
-
-    // events from thread to main
-    SPCM_EVENT_HANDLE   hEventInitDone;         // initialisation of thread is done
-    SPCM_EVENT_HANDLE   hEventStartDone;        // the start has been done, tranfer is running now
-    SPCM_EVENT_HANDLE   hEventUpdate;           // data is updated
-    SPCM_EVENT_HANDLE   hEventTermDone;         // termination is done
-    bool                bSharedUpdate;          // the update event is shared with other threads
-    SPCM_EVENT_HANDLE*  phSharedUpdate;         // either the shared update event or my own one if I'm the one to share
-
-    uint32              dwEventFlags;           // event flags to avoid Linux pthread problems
-
-    SPCM_MUTEX_HANDLE   hMutexSharedAccess;     // controls the multiple exclusion access to the buffer data section
-    ST_BUFFERDATA*      pstBufferData;          // a buffer data structure to fill and forward to working function
-    void*               pvWorkData;             // the private working data
-
-    SPCM_WORK_INIT*     pfn_bWorkInit;          // initialisation function
-    SPCM_WORK_DO*       pfn_bWorkDo;            // the working function
-    SPCM_WORK_CLOSE*    pfn_vWorkClose;         // closes the working routine
-    };
-
-
-
-/*
-**************************************************************************
-vDoThread MainLoop: 
-
-contains the default main thread loop. This one can be used to control one 
-common thread that cares for all transfers or separate threads for data, 
-timestamp and ABA data.
-
-Select the behaviour with the bSeparateThread flag. If separate threads
-are used it is necessary to give init, worker and close function callbacks
-for each transfer thread. 
-
-**************************************************************************
-*/
-
-void vDoThreadMainLoop (
-    ST_BUFFERDATA*      pstBufferData,          // filled card info structure
-    void*               pvWorkData,             // working data structure that is passed to the calback functions
-
-    SPCM_WORK_INIT*     pfn_bWorkInit,          // callback function for pre-run setup
-    SPCM_WORK_DO*       pfn_bWorkDo,            // callback function that is called if new data is available
-    SPCM_WORK_CLOSE*    pfn_vWorkClose = NULL,  // callback function at the end of run
-
-    SPCM_ABORTCHECK*    pfn_bAbortCheck = NULL, // callback function for abort checking on each update loop
-    bool                bSeparateThread = false,// use separate threads for data, timestamp and ABA
-
-    SPCM_WORK_INIT*     pfn_bTSInit = NULL,     // callback function for timestamo pre-run setup
-    SPCM_WORK_DO*       pfn_bTSDo = NULL,       // callback function that is called if new timestamps are available
-    SPCM_WORK_CLOSE*    pfn_vTSClose = NULL,    // callback function at the end of timestamp run
-
-    SPCM_WORK_INIT*     pfn_bABAInit = NULL,    // callback function for ABA pre-run setup
-    SPCM_WORK_DO*       pfn_bABADo = NULL,      // callback function that is called if new ABA data is available
-    SPCM_WORK_CLOSE*    pfn_vABAClose = NULL);  // callback function at the end of ABA run
-
-
-
-
-/*
-**************************************************************************
-vDoMainLoop: 
-
-contains the default main loop in a non-threaded version. This one can be 
-used to control data transfer, timestamp transfer and ABA transfer at the 
-same time without using threads.
-**************************************************************************
-*/
-
-void vDoMainLoop (
-    ST_BUFFERDATA*      pstBufferData,          // filled card info structure
-    void*               pvWorkData,             // working data structure that is passed to the calback functions
-
-    SPCM_WORK_INIT*     pfn_bWorkInit,          // callback function for pre-run setup
-    SPCM_WORK_DO*       pfn_bWorkDo,            // callback function that is called if new data is available
-    SPCM_WORK_CLOSE*    pfn_vWorkClose = NULL,  // callback function at the end of run
-
-    SPCM_ABORTCHECK*    pfn_bAbortCheck = NULL);// callback function for abort checking on each update loop
-
-#endif
diff --git a/Cpp/examples/c_cpp/common/spcm_netbox_sendmail.cpp b/Cpp/examples/c_cpp/common/spcm_netbox_sendmail.cpp
deleted file mode 100644
index 8e4f1e5c40e6312d59dccbcf20d9d77b8562b304..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/common/spcm_netbox_sendmail.cpp
+++ /dev/null
@@ -1,365 +0,0 @@
-/*
-**************************************************************************
-
-spcm_netbox_sendmail.cpp
-
-**************************************************************************
-
-This code uses libcurl for mail transfer
-  
-**************************************************************************
-*/
-
-#include <iostream>
-#include <curl/curl.h>
-#include <cstdlib>
-#include <cstring>
- 
-#define MAX_ATTACHMENTS 16
- 
-static char* g_szSMTP = NULL;
-static char* g_szSMTPUser = NULL;
-static char* g_szSMTPPassword = NULL;
-static char* g_szSubject = NULL;
-static char* g_szBody = NULL;
-static char* g_aszFilename[MAX_ATTACHMENTS] = {NULL};
-static unsigned g_dwNextAttachmentIdx = 0;
-
-static const int CHARS= 76;     //Sending 54 chararcters at a time with \r , \n and \0 it becomes 57
-static const int ADD_SIZE= 15 + MAX_ATTACHMENTS*4;  // 15 lines for To, From, ..., plus 4 per attachment
-static const int SEND_BUF_SIZE= 54;
-static char (*fileBuf)[CHARS] = NULL;
-static const char cb64[]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
- 
-using namespace std;
- 
-bool LARGEFILE = false; /*For Percent*/
-int status = 0;   /*For Percent*/
-int percent2 = 0; /*For Percent*/
-int percent3 = 0; /*For Percent*/
-int percent4 = 0; /*For Percent*/
-int percent5 = 0; /*For Percent*/
-void LargeFilePercent(int rowcount)
-    {
-    //This is for displaying the percentage
-    //while encoding larger files
-    int percent = rowcount/100;
-
-    if(LARGEFILE == true)
-        {
-        status++;
-        percent2++;
-        if (percent2 == 18)
-            {
-            percent3++;
-            percent2 = 0;
-            }
-        if (percent3 == percent)
-            {
-            percent4++;
-            percent3 = 0;
-            }
-        if (percent4 == 10)
-            {
-            system("cls");
-            cout << "Larger Files take longer to encode, Please be patient." << endl
-                 << endl << "Encoding, please be patient..." << endl;
-            cout << percent5 << "%";
-            percent5 += 10;
-            percent4 = 0;
-            }
-        if (status == 10000)
-            {
-            if(percent5 == 0)
-                {
-                cout << " 0%"; percent5 = 10;
-                }
-            cout << ".";
-            status = 0;
-            }
-        }
-    }
- 
-void encodeblock(unsigned char in[3], unsigned char out[4], int len)
-    {
-    out[0] = cb64[ in[0] >> 2 ];
-    out[1] = cb64[ ((in[0] & 0x03) << 4) | ((in[1] & 0xf0) >> 4) ];
-    out[2] = (unsigned char) (len > 1 ? cb64[ ((in[1] & 0x0f) << 2) | ((in[2] & 0xc0) >> 6) ] : '=');
-    out[3] = (unsigned char) (len > 2 ? cb64[ in[2] & 0x3f ] : '=');
-    }
- 
-void encode(FILE *infile, unsigned char *output_buf, int rowcount/*For Percent*/)
-    {
-    unsigned char in[3], out[4];
-        int i, len;
-        *output_buf = 0;
- 
-    while(!feof(infile))
-        {
-        len = 0;
-        for(i = 0; i < 3; i++)
-            {
-            in[i] = (unsigned char) getc(infile);
-            if(!feof(infile) )
-                {
-                len++;
-                }
-            else
-                {
-                in[i] = 0;
-                }
-            }
-        if(len)
-            {
-            encodeblock(in, out, len);
-            strncat((char*)output_buf, (char*)out, 4);
-            }
-            LargeFilePercent(rowcount); //Display encoded file percent /*For Percent*/
-        }
-    }
- 
- 
-struct fileBuf_upload_status
-    {
-    int lines_read;
-    };
- 
-FILE* g_hFileTmp = NULL;
-size_t read_file (char** aszFilenames, const char* szFrom, const char* szTo)
-    {
-    size_t len         = 0;
-    size_t buffer_size = 0;
-    char key = ' ';
-
-    unsigned dwFileIdx = 0;
-    struct
-        {
-        std::string sEncoded;
-        int lNumRows;
-        } astEncodedFiles[MAX_ATTACHMENTS];
-    while (aszFilenames[dwFileIdx] != NULL)
-        {
-        //Open the file and make sure it exsits
-        FILE* hFile = fopen (aszFilenames[dwFileIdx], "rb");
-        if(!hFile)
-            {
-            cout << "File not found!!!" << endl;
-            exit (EXIT_FAILURE);
-            }
-
-        //Get filesize
-        fseek (hFile, 0, SEEK_END);
-        size_t fileSize = ftell (hFile);
-        fseek (hFile, 0, SEEK_SET);
-
-
-        //Check Filesize
-        if (fileSize > 256000/*bytes*/)
-            {
-            cout << "Larger Files take longer to encode, Please be patient." << endl;
-            LARGEFILE = true; /*For Percent*/
-            }
-        cout << endl << "Encoding " << aszFilenames[dwFileIdx] << " please be patient..." << endl;
-
-        //Calculate the number of rows in Base64 encoded string
-        //also calculate the size of the new char to be created
-        //for the base64 encode string
-        astEncodedFiles[dwFileIdx].lNumRows = fileSize / SEND_BUF_SIZE + 1;
-        int charsize = (astEncodedFiles[dwFileIdx].lNumRows * 72) + (astEncodedFiles[dwFileIdx].lNumRows * 2);
-
-        //Base64 encode image and create encoded_buf string
-        unsigned char* b64encode = new unsigned char[charsize];
-        *b64encode = 0;
-        encode (hFile, b64encode, astEncodedFiles[dwFileIdx].lNumRows/*For Percent*/);
-        fclose (hFile);
-        astEncodedFiles[dwFileIdx].sEncoded = (char*)b64encode;
-        delete [] b64encode;
-
-        dwFileIdx++;
-        }
-
-    if (LARGEFILE == true)
-        cout << endl << endl; /*For Percent*/
-
-    //Create structure of email to be sent
-    unsigned dwNumLines = ADD_SIZE; //ADD_SIZE for TO,FROM,SUBJECT,CONTENT-TYPE,CONTENT-TRANSFER-ENCODING,CONETNT-DISPOSITION and \r\n and content
-    for (unsigned i = 0; i < dwFileIdx; ++i)
-        dwNumLines += astEncodedFiles[i].lNumRows;
-    fileBuf = new char[dwNumLines][CHARS];
-    for (unsigned i = 0; i < dwNumLines; ++i)
-        fileBuf[i][0] = '\0';
-
-#define BOUNDARY "------------060709040305030006090208"
-    buffer_size += snprintf (fileBuf[len++], CHARS, "From: %s \r\n", szFrom);
-    buffer_size += snprintf (fileBuf[len++], CHARS, "To: %s \r\n", szTo);
-    buffer_size += snprintf (fileBuf[len++], CHARS, "Subject: %s\r\n", g_szSubject);
-    buffer_size += snprintf (fileBuf[len++], CHARS, "MIME-Version: 1.0\r\n");
-    if (dwFileIdx != 0)
-        {
-        buffer_size += snprintf (fileBuf[len++], CHARS, "Content-Type: multipart/mixed;\r\n");
-        buffer_size += snprintf (fileBuf[len++], CHARS, " boundary=\"" BOUNDARY "\"\r\n");
-        buffer_size += snprintf (fileBuf[len++], CHARS, "\r\n"); // empty line to divide header and data
-        buffer_size += snprintf (fileBuf[len++], CHARS, "This is a multi-part message in MIME format.\r\n");
-        buffer_size += snprintf (fileBuf[len++], CHARS, "--" BOUNDARY "\r\n");
-        }
-    buffer_size += snprintf (fileBuf[len++], CHARS, "Content-Type: text/plain; charset=utf-8\r\n");
-    buffer_size += snprintf (fileBuf[len++], CHARS, "Content-Transfer-Encoding: 7bit\r\n\r\n");
-    buffer_size += snprintf (fileBuf[len++], CHARS, "%s\r\n", g_szBody);
-    buffer_size += snprintf (fileBuf[len++], CHARS, "\r\n");
-    buffer_size += snprintf (fileBuf[len++], CHARS, "\r\n");
-    for (unsigned i = 0; i < dwFileIdx; ++i)
-        {
-        buffer_size += snprintf (fileBuf[len++], CHARS, "--" BOUNDARY "\r\n");
-        buffer_size += snprintf (fileBuf[len++], CHARS, "Content-Type: application/x-msdownload; name=\"%s\"\r\n", strrchr (aszFilenames[i], '/') + 1);
-        buffer_size += snprintf (fileBuf[len++], CHARS, "Content-Transfer-Encoding: base64\r\n");
-        buffer_size += snprintf (fileBuf[len++], CHARS, "Content-Disposition: attachment; filename=\"%s\"\r\n\r\n", strrchr (aszFilenames[i], '/') + 1);
-
-        //This part attaches the Base64 encoded string and
-        //sets the Base64 linesize to 72 characters + \r\n
-        size_t dwPos = 0;
-        std::string sub_encoded_buf;
-        for (int lRow = 0; lRow <= astEncodedFiles[i].lNumRows - 1; lRow++)
-            {
-            sub_encoded_buf = astEncodedFiles[i].sEncoded.substr (dwPos * 72, 72);  // Reads 72 characters at a time
-            sub_encoded_buf += "\r\n";                        // and appends \r\n at the end
-            strcpy (fileBuf[len++], sub_encoded_buf.c_str()); // copy the 72 characters & \r\n to email
-            buffer_size += sub_encoded_buf.size();            // now increase the buffer_size  
-            dwPos++;                                          // finally increase pos by 1
-            }
-        }
-
-// this seems to be unncessary.
-//    if (dwFileIdx != 0)
-//        buffer_size += snprintf (fileBuf[len++], CHARS, BOUNDARY "--");
-
-
-    return buffer_size;
-    }
- 
- /*
-  The fileBuf_source() is a function which CURL calls when it need to obtain data that will be uploaded to the server.
-  Imagine that fileBuf_source() is something similar to fread(). When called it performs any voodoo-mumbo-jumbo that is needed,
-  but in the end uploadable data must be stored in *ptr buffer, which is curl's internal buffer. For your in-memory buffer
-  memcpy() will do just fine as body of fileBuf_source(), so you don't need real fread() at all.
- 
-  size * nmemb tells you how big buffer curl has reserved for a single chunk of data. The last void* is a pointer which was
-  set by CURLOPT_READDATA option - it's a do-what-ever-you-need-with-it kind of pointer, so it can point to a structure
-  containing data which you're uploading and a some additional info e.g. current progress.
-  */
-static size_t fileBuf_source(void *ptr, size_t size, size_t nmemb, void *userp)
-    {
-    struct fileBuf_upload_status *upload_ctx = (struct fileBuf_upload_status *)userp;
-    const char *fdata;
-
-    if((size == 0) || (nmemb == 0) || ((size*nmemb) < 1))
-        {
-        return 0;
-        }
-
-    fdata = fileBuf[upload_ctx->lines_read];
-
-    if (strcmp (fdata, ""))
-        {
-        //printf ("Line %d: %s\n", upload_ctx->lines_read, fdata);
-        size_t len = strlen(fdata);
-        memcpy(ptr, fdata, len);
-        upload_ctx->lines_read++;
-        return len;
-        }
-
-    return 0;
-    }
-
-// ----- defines SMTP server and login credentials -----
-void vNetboxMailSetServerAndLogin (const char* szSMTPServer, const char* szUsername, const char* szPassword)
-    {
-    if (g_szSMTP != NULL)
-        delete [] g_szSMTP;
-    g_szSMTP = new char[strlen (szSMTPServer) + 1];
-    strcpy (g_szSMTP, szSMTPServer);
-
-    if (g_szSMTPUser != NULL)
-        delete [] g_szSMTPUser;
-    g_szSMTPUser = new char[strlen (szUsername) + 1];
-    strcpy (g_szSMTPUser, szUsername);
-
-    if (g_szSMTPPassword != NULL)
-        delete [] g_szSMTPPassword;
-    g_szSMTPPassword = new char[strlen (szPassword) + 1];
-    strcpy (g_szSMTPPassword, szPassword);
-    }
-
-// ----- defines the subject of the mail -----
-void vNetboxMailSetSubject (const char* szSubject)
-    {
-    if (g_szSubject != NULL)
-        delete [] g_szSubject;
-    g_szSubject = new char[strlen (szSubject) + 1];
-    strcpy (g_szSubject, szSubject);
-    }
-
-// ----- defines the body (content) of the mail -----
-void vNetboxMailSetBody (const char* szBody)
-    {
-    if (g_szBody != NULL)
-        delete [] g_szBody;
-    g_szBody = new char[strlen (szBody) + 1];
-    strcpy (g_szBody, szBody);
-    }
-
-// ----- adds a file that should be attached to the mail -----
-// ----- call this function multiple times for multiple attachments -----
-void vNetboxMailAddAttachment (const char* szFilename)
-    {
-    if (g_aszFilename[g_dwNextAttachmentIdx] != NULL)
-        delete [] g_aszFilename[g_dwNextAttachmentIdx];
-    g_aszFilename[g_dwNextAttachmentIdx] = new char[strlen (szFilename) + 1];
-    strcpy (g_aszFilename[g_dwNextAttachmentIdx], szFilename);
-    g_dwNextAttachmentIdx++;
-    }
-
-// ----- defines sender and recipient of the mail and starts mail transfer -----
-void vNetboxMailSendMail (const char* szFrom, const char* szTo)
-    {
-    CURL *curl;
-    CURLcode res = CURLE_OK;
-    struct curl_slist *recipients = NULL;
-    struct fileBuf_upload_status file_upload_ctx;
-    size_t file_size(0);
-
-    file_upload_ctx.lines_read = 0;
-
-    file_size = read_file (g_aszFilename, szFrom, szTo);
-
-    curl = curl_easy_init();
-    if(curl)
-        {
-        curl_easy_setopt(curl, CURLOPT_URL, g_szSMTP);              // SMTP server address
-        curl_easy_setopt(curl, CURLOPT_USERNAME, g_szSMTPUser);     // username on the SMTP server
-        curl_easy_setopt(curl, CURLOPT_PASSWORD, g_szSMTPPassword); // password for the SMTP server
-/*
-        curl_easy_setopt(curl, CURLOPT_USE_SSL, (long)CURLUSESSL_ALL);
-*/
-        //curl_easy_setopt(curl, CURLOPT_CAINFO, "google.pem");
-        curl_easy_setopt(curl, CURLOPT_MAIL_FROM, szFrom);
-        recipients = curl_slist_append(recipients, szTo);
-        curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients);
-        curl_easy_setopt(curl, CURLOPT_INFILESIZE, file_size);
-        curl_easy_setopt(curl, CURLOPT_READFUNCTION, fileBuf_source);
-        curl_easy_setopt(curl, CURLOPT_READDATA, &file_upload_ctx);
-        curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
-        curl_easy_setopt(curl, CURLOPT_VERBOSE, 0); //Dont display Curl Connection data Change 1L to 0
- 
-        res = curl_easy_perform(curl);
- 
-        if(res != CURLE_OK)
-            fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
-        curl_slist_free_all(recipients);
-        curl_easy_cleanup(curl);
-
-        g_dwNextAttachmentIdx = 0;
-        memset (g_aszFilename, 0, sizeof (char*) * MAX_ATTACHMENTS);
-        }
-    delete[] fileBuf;
-    }
-
diff --git a/Cpp/examples/c_cpp/common/spcm_netbox_sendmail.h b/Cpp/examples/c_cpp/common/spcm_netbox_sendmail.h
deleted file mode 100644
index df24e48f160dcb895e5f8f0cf67bf3557b04c078..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/common/spcm_netbox_sendmail.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef SPCM_NETBOX_SENDMAIL_H
-#define SPCM_NETBOX_SENDMAIL_H
-
-// These files use libcurl for mail transfer.
-
-// mail content
-void vNetboxMailSetServerAndLogin (const char* szSMTPServer, const char* szUsername, const char* szPassword);
-void vNetboxMailSetSubject (const char* szSubject);
-void vNetboxMailSetBody (const char* szBody);
-void vNetboxMailAddAttachment (const char* szFile);
-
-void vNetboxMailSendMail (const char* szFrom, const char* szTo);
-
-#endif // SPCM_NETBOX_SENDMAIL_H
-
diff --git a/Cpp/examples/c_cpp/dll_loading/spcm_drv_def.h b/Cpp/examples/c_cpp/dll_loading/spcm_drv_def.h
deleted file mode 100644
index 042d31644c725c9846baf7528bb7dc18306a058b..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/dll_loading/spcm_drv_def.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
-**************************************************************************
-
-spcm_drv_def.h                                 (c) Spectrum GmbH , 04/2006
-
-**************************************************************************
-
-Contains a definetion of all driver function for external linking
-  
-Feel free to use this source for own projects and modify it in any kind
-
-**************************************************************************
-*/
-
-// driver handling
-typedef drv_handle (_stdcall SPCM_HOPEN)              (char* szDeviceName);
-typedef void       (_stdcall SPCM_VCLOSE)             (drv_handle hDevice);
-
-// software register handling
-typedef uint32     (_stdcall SPCM_DWSETPARAM_I32)     (drv_handle hDevice, int32 lRegister, int32 lValue);           
-typedef uint32     (_stdcall SPCM_DWSETPARAM_I64M)    (drv_handle hDevice, int32 lRegister, int32 lValueHigh, uint32 dwValueLow);
-typedef uint32     (_stdcall SPCM_DWSETPARAM_I64)     (drv_handle hDevice, int32 lRegister, int64 llValue);
-
-typedef uint32     (_stdcall SPCM_DWGETPARAM_I32)     (drv_handle hDevice, int32 lRegister, int32* plValue);
-typedef uint32     (_stdcall SPCM_DWGETPARAM_I64M)    (drv_handle hDevice, int32 lRegister, int32* plValueHigh, uint32* pdwValueLow);
-typedef uint32     (_stdcall SPCM_DWGETPARAM_I64)     (drv_handle hDevice, int32 lRegister, int64* pllValue);
-  
-// data transfer functions
-typedef uint32     (_stdcall SPCM_DWDEFTRANSFER_I64M) (drv_handle hDevice, uint32 dwBufType, uint32 dwDirection, uint32 dwNotifySize, void* pvDataBuffer, uint32 dwBrdOffsH, uint32 dwBrdOffsL, uint32 dwTransferLenH, uint32 dwTransferLenL);
-typedef uint32     (_stdcall SPCM_DWDEFTRANSFER_I64)  (drv_handle hDevice, uint32 dwBufType, uint32 dwDirection, uint32 dwNotifySize, void* pvDataBuffer, uint64 qwBrdOffs,  uint64 qwTransferLen);
-typedef uint32     (_stdcall SPCM_DWINVALIDATEBUF)    (drv_handle hDevice, uint32 dwBufType);
-
-// error handling
-typedef uint32     (_stdcall SPCM_DWGETERRORINFO_I32) (drv_handle hDevice, uint32* pdwErrorReg, int32* plErrorValue, char pszErrorTextBuffer[ERRORTEXTLEN]);
-
-// continuous memory
-typedef uint32     (_stdcall SPCM_DWGETCONTBUF_I64)   (drv_handle hDevice, uint32 dwBufType, void** ppvDataBuffer, uint64* pqwContBufLen);
-typedef uint32     (_stdcall SPCM_DWGETCONTBUF_I64M)  (drv_handle hDevice, uint32 dwBufType, void** ppvDataBuffer, uint32* pdwContBufLenH, uint32* pdwContBufLenL);
-
diff --git a/Cpp/examples/c_cpp/dll_loading/spcm_load_dll.cpp b/Cpp/examples/c_cpp/dll_loading/spcm_load_dll.cpp
deleted file mode 100644
index 83ee92cf99159fe48f7df335300d96a814067cb2..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/dll_loading/spcm_load_dll.cpp
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
-**************************************************************************
-
-spcm_load_dll.cpp                                       (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all SpcMDrv based products.
-
-Information about the different products and their drivers can be found
-online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/platform-driver-and-series-differences
-
-This example shows how to load library functions dynamically from a
-windows dll or linux shared object (.so),
-e.g. if not having a matching lib-file for the compiler.
-
-Feel free to use this source for own projects and modify it in any kind.
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <windows.h>
-
-
-
-// ----- include the driver function definitions -----
-#include "spcm_drv_def.h"
-
-
-// ----- global definitions of the function pointers -----
-SPCM_HOPEN*                 pfn_spcm_hOpen;
-SPCM_VCLOSE*                pfn_spcm_vClose;
-SPCM_DWSETPARAM_I32*        pfn_spcm_dwSetParam_i32;
-SPCM_DWSETPARAM_I64M*       pfn_spcm_dwSetParam_i64m;
-SPCM_DWSETPARAM_I64*        pfn_spcm_dwSetParam_i64;
-SPCM_DWGETPARAM_I32*        pfn_spcm_dwGetParam_i32;
-SPCM_DWGETPARAM_I64M*       pfn_spcm_dwGetParam_i64m;
-SPCM_DWGETPARAM_I64*        pfn_spcm_dwGetParam_i64;
-SPCM_DWDEFTRANSFER_I64M*    pfn_spcm_dwDefTransfer_i64m;
-SPCM_DWDEFTRANSFER_I64*     pfn_spcm_dwDefTransfer_i64;
-SPCM_DWINVALIDATEBUF*       pfn_spcm_dwInvalidateBuf;
-SPCM_DWGETERRORINFO_I32*    pfn_spcm_dwGetErrorInfo_i32;
-SPCM_DWGETCONTBUF_I64M*     pfn_spcm_dwGetContBuf_i64m;
-SPCM_DWGETCONTBUF_I64*      pfn_spcm_dwGetContBuf_i64;
-
-
-int main()
-    {
-    drv_handle  hDrv;
-    int32       lValue;
-
-
-#ifdef WIN32
-    bool b32Bit = true; // set to false if you compile a 64bit program
-    HMODULE     hDLL;
-
-    // ----- 32bit -----
-    if (b32Bit)
-        {
-        // we first load the dll and check whether it is available
-        hDLL = LoadLibrary ("spcm_win32.dll");
-        if (!hDLL)
-            {
-            printf ("Library spcm_win32.dll can't be located\n");
-
-            return 1;
-            }
-
-
-
-        // now we load the functions from the DLL using the function names
-        pfn_spcm_hOpen =              (SPCM_HOPEN*)               GetProcAddress (hDLL, "_spcm_hOpen@4");
-        pfn_spcm_vClose =             (SPCM_VCLOSE*)              GetProcAddress (hDLL, "_spcm_vClose@4");
-        pfn_spcm_dwSetParam_i32 =     (SPCM_DWSETPARAM_I32*)      GetProcAddress (hDLL, "_spcm_dwSetParam_i32@12");
-        pfn_spcm_dwSetParam_i64m =    (SPCM_DWSETPARAM_I64M*)     GetProcAddress (hDLL, "_spcm_dwSetParam_i64m@16");
-        pfn_spcm_dwSetParam_i64 =     (SPCM_DWSETPARAM_I64*)      GetProcAddress (hDLL, "_spcm_dwSetParam_i64@16");
-        pfn_spcm_dwGetParam_i32 =     (SPCM_DWGETPARAM_I32*)      GetProcAddress (hDLL, "_spcm_dwGetParam_i32@12");
-        pfn_spcm_dwGetParam_i64m =    (SPCM_DWGETPARAM_I64M*)     GetProcAddress (hDLL, "_spcm_dwGetParam_i64m@16");
-        pfn_spcm_dwGetParam_i64 =     (SPCM_DWGETPARAM_I64*)      GetProcAddress (hDLL, "_spcm_dwGetParam_i64@12");
-        pfn_spcm_dwDefTransfer_i64m = (SPCM_DWDEFTRANSFER_I64M*)  GetProcAddress (hDLL, "_spcm_dwDefTransfer_i64m@36");
-        pfn_spcm_dwDefTransfer_i64 =  (SPCM_DWDEFTRANSFER_I64*)   GetProcAddress (hDLL, "_spcm_dwDefTransfer_i64@36");
-        pfn_spcm_dwInvalidateBuf =    (SPCM_DWINVALIDATEBUF*)     GetProcAddress (hDLL, "_spcm_dwInvalidateBuf@8");
-        pfn_spcm_dwGetErrorInfo_i32 = (SPCM_DWGETERRORINFO_I32*)  GetProcAddress (hDLL, "_spcm_dwGetErrorInfo_i32@16");
-        pfn_spcm_dwGetContBuf_i64m =  (SPCM_DWGETCONTBUF_I64M*)   GetProcAddress (hDLL, "_spcm_dwGetContBuf_i64m@20");
-        pfn_spcm_dwGetContBuf_i64 =   (SPCM_DWGETCONTBUF_I64*)    GetProcAddress (hDLL, "_spcm_dwGetContBuf_i64@16");
-        }
-
-    // ----- 64bit -----
-    else
-        {
-        // we first load the dll and check whether it is available
-        hDLL = LoadLibrary ("spcm_win64.dll");
-        if (!hDLL)
-            {
-            printf ("Library spcm_win64.dll can't be located\n");
-
-            return 1;
-            }
-
-
-
-        // now we load the functions from the DLL using the function names
-        pfn_spcm_hOpen =              (SPCM_HOPEN*)               GetProcAddress (hDLL, "spcm_hOpen");
-        pfn_spcm_vClose =             (SPCM_VCLOSE*)              GetProcAddress (hDLL, "spcm_vClose");
-        pfn_spcm_dwSetParam_i32 =     (SPCM_DWSETPARAM_I32*)      GetProcAddress (hDLL, "spcm_dwSetParam_i32");
-        pfn_spcm_dwSetParam_i64m =    (SPCM_DWSETPARAM_I64M*)     GetProcAddress (hDLL, "spcm_dwSetParam_i64m");
-        pfn_spcm_dwSetParam_i64 =     (SPCM_DWSETPARAM_I64*)      GetProcAddress (hDLL, "spcm_dwSetParam_i64");
-        pfn_spcm_dwGetParam_i32 =     (SPCM_DWGETPARAM_I32*)      GetProcAddress (hDLL, "spcm_dwGetParam_i32");
-        pfn_spcm_dwGetParam_i64m =    (SPCM_DWGETPARAM_I64M*)     GetProcAddress (hDLL, "spcm_dwGetParam_i64m");
-        pfn_spcm_dwGetParam_i64 =     (SPCM_DWGETPARAM_I64*)      GetProcAddress (hDLL, "spcm_dwGetParam_i64");
-        pfn_spcm_dwDefTransfer_i64m = (SPCM_DWDEFTRANSFER_I64M*)  GetProcAddress (hDLL, "spcm_dwDefTransfer_i64m");
-        pfn_spcm_dwDefTransfer_i64 =  (SPCM_DWDEFTRANSFER_I64*)   GetProcAddress (hDLL, "spcm_dwDefTransfer_i64");
-        pfn_spcm_dwInvalidateBuf =    (SPCM_DWINVALIDATEBUF*)     GetProcAddress (hDLL, "spcm_dwInvalidateBuf");
-        pfn_spcm_dwGetErrorInfo_i32 = (SPCM_DWGETERRORINFO_I32*)  GetProcAddress (hDLL, "spcm_dwGetErrorInfo_i32");
-        pfn_spcm_dwGetContBuf_i64m =  (SPCM_DWGETCONTBUF_I64M*)   GetProcAddress (hDLL, "spcm_dwGetContBuf_i64m");
-        pfn_spcm_dwGetContBuf_i64 =   (SPCM_DWGETCONTBUF_I64*)    GetProcAddress (hDLL, "spcm_dwGetContBuf_i64");
-        }
-
-#else // Linux
-    void* hLib = dlopen ("libspcm_linux.so", RTLD_NOW);
-    if (!hLib)
-        {
-        printf ("Library libspcm_linux.so can't be located\n");
-
-        return 1;
-        }
-
-    pfn_spcm_hOpen =              (SPCM_HOPEN*)              dlsym (hLib, "spcm_hOpen");
-    pfn_spcm_vClose =             (SPCM_VCLOSE*)             dlsym (hLib, "spcm_vClose");
-    pfn_spcm_dwSetParam_i32 =     (SPCM_DWSETPARAM_I32*)     dlsym (hLib, "spcm_dwSetParam_i32");
-    pfn_spcm_dwSetParam_i64m =    (SPCM_DWSETPARAM_I64M*)    dlsym (hLib, "spcm_dwSetParam_i64m");
-    pfn_spcm_dwSetParam_i64 =     (SPCM_DWSETPARAM_I64*)     dlsym (hLib, "spcm_dwSetParam_i64");
-    pfn_spcm_dwGetParam_i32 =     (SPCM_DWGETPARAM_I32*)     dlsym (hLib, "spcm_dwGetParam_i32");
-    pfn_spcm_dwGetParam_i64m =    (SPCM_DWGETPARAM_I64M*)    dlsym (hLib, "spcm_dwGetParam_i64m");
-    pfn_spcm_dwGetParam_i64 =     (SPCM_DWGETPARAM_I64*)     dlsym (hLib, "spcm_dwGetParam_i64");
-    pfn_spcm_dwDefTransfer_i64m = (SPCM_DWDEFTRANSFER_I64M*) dlsym (hLib, "spcm_dwDefTransfer_i64m");
-    pfn_spcm_dwDefTransfer_i64 =  (SPCM_DWDEFTRANSFER_I64*)  dlsym (hLib, "spcm_dwDefTransfer_i64");
-    pfn_spcm_dwInvalidateBuf =    (SPCM_DWINVALIDATEBUF*)    dlsym (hLib, "spcm_dwInvalidateBuf");
-    pfn_spcm_dwGetErrorInfo_i32 = (SPCM_DWGETERRORINFO_I32*) dlsym (hLib, "spcm_dwGetErrorInfo_i32");
-    pfn_spcm_dwGetContBuf_i64m =  (SPCM_DWGETCONTBUF_I64M*)  dlsym (hLib, "spcm_dwGetContBuf_i64m"); 
-    pfn_spcm_dwGetContBuf_i64 =   (SPCM_DWGETCONTBUF_I64*)   dlsym (hLib, "spcm_dwGetContBuf_i64"); 
-#endif
-
-
-    // check whether all these loads have been sucessful
-    if (!pfn_spcm_hOpen || !pfn_spcm_vClose || !pfn_spcm_dwSetParam_i32 || !pfn_spcm_dwSetParam_i64m ||
-        !pfn_spcm_dwSetParam_i64 || !pfn_spcm_dwGetParam_i32 || !pfn_spcm_dwGetParam_i64m || !pfn_spcm_dwGetParam_i64 ||
-        !pfn_spcm_dwDefTransfer_i64m || !pfn_spcm_dwDefTransfer_i64 || !pfn_spcm_dwInvalidateBuf || !pfn_spcm_dwGetErrorInfo_i32 ||
-        !pfn_spcm_dwGetContBuf_i64m || !pfn_spcm_dwGetContBuf_i64)
-        {
-        printf ("One of the functions wasn't found inside the library!\n");
-#ifdef WIN32
-        FreeLibrary (hDLL);
-#else
-        dlclose (hLib);
-#endif
-
-        return 1;
-        }
-
-
-
-    // as an example we open the first card, read out type and serial number and close the card again
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    hDrv = (*pfn_spcm_hOpen) ("/dev/spcm0");
-    // hDrv = (*pfn_spcm_hOpen) ("TCPIP::192.168.1.10::inst0::INSTR");
-    if (hDrv)
-        {
-        (*pfn_spcm_dwGetParam_i32) (hDrv, SPC_PCITYP, &lValue);
-        printf ("Card Type:      M2i.%04x\n", lValue & TYP_VERSIONMASK);
-
-        (*pfn_spcm_dwGetParam_i32) (hDrv, SPC_PCISERIALNO, &lValue);
-        printf ("Serial number:  %05d\n", lValue);
-
-        (*pfn_spcm_vClose) (hDrv);
-        }
-    else
-        printf ("no card found ...\n");
-
-
-#ifdef WIN32
-    FreeLibrary (hDLL);
-#else
-    dlclose (hLib);
-#endif
-
-    return 0;
-    }
-
diff --git a/Cpp/examples/c_cpp/netbox_discovery/makefile b/Cpp/examples/c_cpp/netbox_discovery/makefile
deleted file mode 100644
index 9b770e8bc99d08d4343c13f03bcb7e4f6032edab..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/netbox_discovery/makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-COMPILER =   	g++
-EXECUTABLE = 	netbox_discovery
-LIBS += 	-lspcm_linux -lpthread -lrt
-
-OBJECTS = 	netbox_discovery.o\
-		../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS) 
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/netbox_discovery/netbox_discovery.cpp b/Cpp/examples/c_cpp/netbox_discovery/netbox_discovery.cpp
deleted file mode 100644
index 5e25330b888141a6106b6d4ddd5c0fc3576b0915..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/netbox_discovery/netbox_discovery.cpp
+++ /dev/null
@@ -1,175 +0,0 @@
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-#include <algorithm>
-#include <string>
-#include <vector>
-#include <iomanip>
-#include <iostream>
-#include <sstream>
-#include <cstring> // memset
-
-#define TIMEOUT_DISCOVERY 5000 // timeout value in ms
-
-std::vector <std::string> vsGetAvailableVisaStrings ()
-    {
-    const uint32 dwMaxNumRemoteCards = 50;
-    const uint32 dwMaxVisaStringLen = 50;
-    const uint32 dwMaxIdnStringLen = 256;
-
-    char* pszVisa[dwMaxNumRemoteCards] = { NULL };
-    char* pszIdn[dwMaxNumRemoteCards] = { NULL };
-
-    std::vector <std::string> vsVisa;
-
-    // allocate memory for string list
-    for (uint32 i = 0; i < dwMaxNumRemoteCards; i++)
-        {
-        pszVisa[i] = new char [dwMaxVisaStringLen];
-        pszIdn[i] = new char [dwMaxIdnStringLen];
-        memset (pszVisa[i], 0, dwMaxVisaStringLen);
-        memset (pszIdn[i], 0, dwMaxIdnStringLen);
-        }
-
-    // first make discovery - check if there are any LXI compatible remote devices
-    uint32 dwError = spcm_dwDiscovery ((char**)pszVisa, dwMaxNumRemoteCards, dwMaxVisaStringLen, TIMEOUT_DISCOVERY);
-
-    // second: check from which manufacturer the devices are
-    spcm_dwSendIDNRequest ((char**)pszIdn, dwMaxNumRemoteCards, dwMaxIdnStringLen);
-
-     // ----- store VISA strings for all discovered cards and open them afterwards -----
-    for (uint32 i = 0; i < dwMaxNumRemoteCards; i++)
-        {
-        std::string sIDN (pszIdn[i]);
-
-        if (sIDN.size () == 0)
-            break;
-
-        if (sIDN.find("Spectrum") != std::string::npos)
-            vsVisa.push_back (pszVisa[i]);
-        }
-
-    for (uint32 i = 0; i < dwMaxNumRemoteCards; i++)
-        {
-        delete [] pszVisa[i];
-        delete [] pszIdn[i];
-        }
-
-    return vsVisa;
-    }
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    std::vector <std::string> vsVisaStrings;
-    std::vector <int32> vlNetboxSerialnumbers;
-
-    struct ST_REMOTE_CARD
-        {
-        std::string sIP;
-        int32 lCardSN;
-        int32 lNetboxSN;
-        std::string sCard;
-        std::string sVISA;
-        std::string sNetbox;
-
-        // helper function for std::sort
-        bool operator<(const ST_REMOTE_CARD& rstRHS)
-            {
-            if (sIP < rstRHS.sIP)
-                return true;
-            else if (sIP == rstRHS.sIP)
-                {
-                if (lNetboxSN > rstRHS.lNetboxSN) // use "greater than" here to get the card with the Netbox-SN to the top
-                    return true;
-                else if (lNetboxSN == rstRHS.lCardSN)
-                    {
-                    return (lCardSN < rstRHS.lCardSN);
-                    }
-                }
-            return false;
-            }
-        };
-    std::vector < ST_REMOTE_CARD > vstRemoteCards;
-
-    std::cout << "Netbox discovery running...\n\n";
-    vsVisaStrings = vsGetAvailableVisaStrings ();
-
-    for (uint32 i = 0; i < vsVisaStrings.size (); i++)
-        {
-        // open card
-        drv_handle hCard = spcm_hOpen (vsVisaStrings[i].c_str ());
-        if (!hCard)
-            {
-            std::cout << "no card found...\n";
-            return 0;
-            }
-
-        std::string sIP (vsVisaStrings[i].substr (vsVisaStrings[i].find ("::") + 2));
-        sIP = sIP.substr (0, sIP.find ("::"));
-
-        // read some infos about the card
-        int32 lCardType;
-        spcm_dwGetParam_i32 (hCard, SPC_PCITYP, &lCardType);
-        int32 lCardSN;
-        spcm_dwGetParam_i32 (hCard, SPC_PCISERIALNO, &lCardSN);
-        int32 lNetboxType;
-        spcm_dwGetParam_i32 (hCard, SPC_NETBOX_TYPE, &lNetboxType);
-        int32 lNetboxSN;
-        spcm_dwGetParam_i32 (hCard, SPC_NETBOX_SERIALNO, &lNetboxSN);
-
-        std::ostringstream sCard;
-        switch (lCardType & TYP_SERIESMASK)
-            {
-            case TYP_M2ISERIES:     sCard << "M2i." << std::hex << (lCardType & 0xFFFF); break;
-            case TYP_M2IEXPSERIES:  sCard << "M2i." << std::hex << (lCardType & 0xFFFF) << "-exp"; break;
-            case TYP_M3ISERIES:     sCard << "M3i." << std::hex << (lCardType & 0xFFFF); break;
-            case TYP_M3IEXPSERIES:  sCard << "M3i." << std::hex << (lCardType & 0xFFFF) << "-exp"; break;
-            case TYP_M4IEXPSERIES:  sCard << "M4i." << std::hex << (lCardType & 0xFFFF); break;
-            case TYP_M4XEXPSERIES:  sCard << "M4x." << std::hex << (lCardType & 0xFFFF); break;
-            case TYP_M2PEXPSERIES:  sCard << "M2p." << std::hex << (lCardType & 0xFFFF) << "-x4"; break;
-            case TYP_M5IEXPSERIES:  sCard << "M5i." << std::hex << (lCardType & 0xFFFF) << "-x16"; break;
-            }
-
-        std::ostringstream sNetbox;
-        if (lNetboxType != 0)
-            {
-            sNetbox << "DN" << std::hex << ((lNetboxType & NETBOX_SERIES_MASK) >> 24) << "." << std::hex << ((lNetboxType & NETBOX_FAMILY_MASK) >> 16) << std::hex << ((lNetboxType & NETBOX_SPEED_MASK) >> 8) << "-" << std::setw(2) << std::setfill ('0') << std::dec << (lNetboxType & NETBOX_CHANNEL_MASK);
-            }
-
-        ST_REMOTE_CARD stRemoteCard = { sIP, lCardSN, lNetboxSN, sCard.str (), vsVisaStrings[i], sNetbox.str () };
-        vstRemoteCards.push_back (stRemoteCard);
-
-        // close card
-        spcm_vClose (hCard);
-        }
-    std::sort (vstRemoteCards.begin (), vstRemoteCards.end ());
-
-    if (vstRemoteCards.size ())
-        std::cout << "Netboxes found:\n";
-    else
-        std::cout << "No Netboxes found!\n";
-
-    std::string sLastIP;
-    for (uint32 i = 0; i < vstRemoteCards.size (); i++)
-        {
-        if (vstRemoteCards[i].sIP != sLastIP)
-            {
-            std::cout << vstRemoteCards[i].sNetbox << " at " << vstRemoteCards[i].sIP << " with SN " << vstRemoteCards[i].lNetboxSN << std::endl;
-            sLastIP = vstRemoteCards[i].sIP;
-            }
-        std::cout << "\t" << vstRemoteCards[i].sCard << " SN" << vstRemoteCards[i].lCardSN << " at " << vstRemoteCards[i].sVISA << std::endl;
-        }
-
-    return EXIT_SUCCESS;
-    }
-
-
diff --git a/Cpp/examples/c_cpp/netbox_discovery/netbox_discovery.sln b/Cpp/examples/c_cpp/netbox_discovery/netbox_discovery.sln
deleted file mode 100644
index 40cb43c1b0c212184dbcae556589a62bbd7623ca..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/netbox_discovery/netbox_discovery.sln
+++ /dev/null
@@ -1,28 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-VisualStudioVersion = 14.0.25420.1
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "netbox_discovery", "netbox_discovery.vcxproj", "{AB068386-BB5C-4442-ACFF-B5D9A79C311A}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|x64 = Debug|x64
-		Debug|x86 = Debug|x86
-		Release|x64 = Release|x64
-		Release|x86 = Release|x86
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|x64.ActiveCfg = Debug|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|x64.Build.0 = Debug|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|x86.ActiveCfg = Debug|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|x86.Build.0 = Debug|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|x64.ActiveCfg = Release|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|x64.Build.0 = Release|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|x86.ActiveCfg = Release|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|x86.Build.0 = Release|Win32
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/Cpp/examples/c_cpp/netbox_discovery/netbox_discovery.vcxproj b/Cpp/examples/c_cpp/netbox_discovery/netbox_discovery.vcxproj
deleted file mode 100644
index a03ab12202b3a8f263a39fc494f4255ce8f10a26..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/netbox_discovery/netbox_discovery.vcxproj
+++ /dev/null
@@ -1,260 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectName>netbox_discovery</ProjectName>
-    <ProjectGuid>{AB068386-BB5C-4442-ACFF-B5D9A79C311A}</ProjectGuid>
-    <RootNamespace>simple_rec_fifo</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/simple_rec_fifo.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/simple_rec_fifo.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/simple_rec_fifo.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/simple_rec_fifo.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/simple_rec_fifo.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/simple_rec_fifo.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/netbox_discovery.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/simple_rec_fifo.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/simple_rec_fifo.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/simple_rec_fifo.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/simple_rec_fifo.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/simple_rec_fifo.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/simple_rec_fifo.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/simple_rec_fifo.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\x64/Debug/netbox_discovery.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/simple_rec_fifo.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="netbox_discovery.cpp" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/netbox_discovery/netbox_discovery.vcxproj.filters b/Cpp/examples/c_cpp/netbox_discovery/netbox_discovery.vcxproj.filters
deleted file mode 100644
index afa78fb819b3e4404a3e6a4af3995395e5bdce2d..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/netbox_discovery/netbox_discovery.vcxproj.filters
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>Header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>Header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>Header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>Header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <Filter Include="Header">
-      <UniqueIdentifier>{6fb0b1a4-a1ee-472a-92d9-1368d14cfb85}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Libs">
-      <UniqueIdentifier>{3eae0868-da56-4740-8e36-0fbc9985e63d}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="netbox_discovery.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib" />
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/netbox_embedded_server/client/client_main.cpp b/Cpp/examples/c_cpp/netbox_embedded_server/client/client_main.cpp
deleted file mode 100644
index a47b1e89dc5961eb9f5cfd37b0506e42d5d9e8cd..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/netbox_embedded_server/client/client_main.cpp
+++ /dev/null
@@ -1,124 +0,0 @@
-#ifdef WIN32
-#   include <winsock2.h> // before everything else!
-#   include <Ws2tcpip.h>
-
-
-
-#   undef min
-#   undef max
-
-typedef int ssize_t;
-#else
-#   include <sys/socket.h>
-#   include <netinet/in.h>
-#   include <arpa/inet.h>
-#   include <unistd.h>
-#   include <errno.h>
-#   include <sys/types.h>
-#   include <netdb.h>
-
-typedef int SOCKET;
-#define SOCKET_ERROR -1
-#endif
-
-#include <cstring>
-#include <ctime>
-
-#include <iostream>
-
-#include <cstdlib>
-
-// ----- include standard driver header from library -----
-#include "../../c_header/dlltyp.h"
-
-#include "../../common/ostools/spcm_oswrap.h"
-#include "../../common/ostools/spcm_ostools.h"
-#include "../../common/ostools/spcm_network_winLin.h"
-
-#define SERVER_PORT     22927
-#define START 0
-#define STOP  1
-
-
-int main ()
-    {
-    // ----- init network -----
-    dwInitNetwork ();
-
-    // ----- create network socket -----
-    SOCKET sockfd = lSocket (AF_INET, SOCK_STREAM, 0);
-    if (sockfd < 0)
-        {
-        std::cerr << "Could not create socket" << std::endl;
-        return EXIT_FAILURE;
-        }
-
-    // ----- hostname or IP address of server -----
-    const char* szHostname = "192.168.1.10";
-    //const char* szHostname = "SERVER";
-
-    // ----- convert hostname to IP address -----
-    struct sockaddr_in serv_addr;
-    memset (&serv_addr, 0, sizeof(serv_addr));
-    serv_addr.sin_family = AF_INET;
-
-    int lErr = lInet_pton (szHostname, &serv_addr);
-    if (lErr == SOCKET_ERROR)
-        {
-        std::cerr << "Could not convert IP address" << std::endl;
-        lClose (sockfd);
-        return EXIT_FAILURE;
-        }
-    serv_addr.sin_port = htons (SERVER_PORT);
-
-    // ----- connect to server -----
-    if (lConnect (sockfd, (struct sockaddr *)&serv_addr, sizeof (serv_addr)) == -1)
-        {
-        std::cerr << "Could not connect to server" << std::endl;
-        lClose (sockfd);
-        return EXIT_FAILURE;
-        }
-
-    // ----- send start command to server -----
-    uint32 dwMagic = START;
-    dwWrite (sockfd, &dwMagic, sizeof (uint32));
-
-    char acBuffer[1024];
-    while (true)
-        {
-        // ----- read data from sender -----
-        unsigned dwReadBytes = dwRead (sockfd, acBuffer, sizeof (acBuffer) - 1);
-        if (dwReadBytes == 0)
-            {
-            // connection closed
-            std::cerr << "Connection closed" << std::endl;
-            break;
-            }
-        else if (dwReadBytes == SOCKET_ERROR)
-            {
-            // error occured
-            std::cerr << "NETWORK ERROR" << std::endl;
-            break;
-            }
-        else
-            {
-            acBuffer[dwReadBytes] = '\0';
-            std::cout << acBuffer << std::endl;
-            }
-
-        // check for escape = abort
-        if (bKbhit ())
-            {
-            if (cGetch () == 27)
-                {
-                uint32 dwMagic = STOP;
-                dwWrite (sockfd, &dwMagic, sizeof (uint32));
-                break;
-                }
-            }
-        }
-
-    lClose (sockfd);
-
-    return EXIT_SUCCESS;
-    }
diff --git a/Cpp/examples/c_cpp/netbox_embedded_server/client/makefile b/Cpp/examples/c_cpp/netbox_embedded_server/client/makefile
deleted file mode 100644
index 1945d82b63c19cd10e5becf0dd28aa2b705e8e29..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/netbox_embedded_server/client/makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-COMPILER =   	g++
-EXECUTABLE = 	netbox_embedded_client
-LIBS += 	-lspcm_linux -lpthread -lrt
-CFLAGS +=   -DSPCM_NAMESPACE=client
-
-OBJECTS = 	client_main.o\
-		../../common/ostools/spcm_ostools_linux.o \
-		../../common/ostools/spcm_network_winLin.o \
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS) 
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/netbox_embedded_server/client/netbox_embedded_client.vcproj b/Cpp/examples/c_cpp/netbox_embedded_server/client/netbox_embedded_client.vcproj
deleted file mode 100644
index 1a0d174f5168196fccd9df84413ce319f8f459b9..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/netbox_embedded_server/client/netbox_embedded_client.vcproj
+++ /dev/null
@@ -1,219 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="netbox_embedded_client"
-	ProjectGUID="{93F48CF1-5ED5-4202-A223-F2A932FAE397}"
-	RootNamespace="netbox_embedded_client"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;SPCM_NAMESPACE=client"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="ws2_32.lib"
-				GenerateDebugInformation="true"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				PreprocessorDefinitions="WIN32;SPCM_NAMESPACE=client"
-				RuntimeLibrary="2"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				GenerateDebugInformation="true"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\client_main.cpp"
-				>
-			</File>
-			<Filter
-				Name="ostools"
-				>
-				<File
-					RelativePath="..\..\common\ostools\spcm_network_winLin.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\common\ostools\spcm_ostools_win.cpp"
-					>
-				</File>
-			</Filter>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-			<Filter
-				Name="ostools"
-				>
-				<File
-					RelativePath="..\..\common\ostools\spcm_network_winLin.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\common\ostools\spcm_ostools.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\common\ostools\spcm_oswrap.h"
-					>
-				</File>
-			</Filter>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/netbox_embedded_server/dbus/dbus-example.c b/Cpp/examples/c_cpp/netbox_embedded_server/dbus/dbus-example.c
deleted file mode 100644
index e3f479331aade12e33208b09eef6d670851d937f..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/netbox_embedded_server/dbus/dbus-example.c
+++ /dev/null
@@ -1,391 +0,0 @@
-#define DBUS_API_SUBJECT_TO_CHANGE
-#include <dbus/dbus.h>
-#include <stdbool.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-/**
- * Connect to the DBUS bus and send a broadcast signal
- */
-void sendsignal(char* sigvalue)
-{
-   DBusMessage* msg;
-   DBusMessageIter args;
-   DBusConnection* conn;
-   DBusError err;
-   int ret;
-   dbus_uint32_t serial = 0;
-
-   printf("Sending signal with value %s\n", sigvalue);
-
-   // initialise the error value
-   dbus_error_init(&err);
-
-   // connect to the DBUS system bus, and check for errors
-   conn = dbus_bus_get(DBUS_BUS_SYSTEM, &err);
-   if (dbus_error_is_set(&err)) { 
-      fprintf(stderr, "Connection Error (%s)\n", err.message); 
-      dbus_error_free(&err); 
-   }
-   if (NULL == conn) { 
-      exit(1); 
-   }
-
-   // register our name on the bus, and check for errors
-   //ret = dbus_bus_request_name(conn, "test.signal.source", DBUS_NAME_FLAG_REPLACE_EXISTING , &err);
-   ret = dbus_bus_request_name(conn, "com.spectrum.netbox.lan", DBUS_NAME_FLAG_REPLACE_EXISTING , &err);
-   if (dbus_error_is_set(&err)) { 
-      fprintf(stderr, "Name Error (%s)\n", err.message); 
-      dbus_error_free(&err); 
-   }
-   if (DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER != ret) { 
-      exit(1);
-   }
-
-   // create a signal & check for errors 
-   msg = dbus_message_new_signal("/test/signal/Object", // object name of the signal
-                                 "Netbox.signal.Type", // interface name of the signal
-                                 "LAN"); // name of the signal
-   if (NULL == msg) 
-   { 
-      fprintf(stderr, "Message Null\n"); 
-      exit(1); 
-   }
-
-   // append arguments onto signal
-   dbus_message_iter_init_append(msg, &args);
-   if (!dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &sigvalue)) {
-      fprintf(stderr, "Out Of Memory!\n"); 
-      exit(1);
-   }
-
-   // send the message and flush the connection
-   if (!dbus_connection_send(conn, msg, &serial)) {
-      fprintf(stderr, "Out Of Memory!\n"); 
-      exit(1);
-   }
-   dbus_connection_flush(conn);
-   
-   printf("Signal Sent\n");
-   
-   // free the message and close the connection
-   dbus_message_unref(msg);
-   dbus_connection_close(conn);
-}
-
-/**
- * Call a method on a remote object
- */
-void query(char* param) 
-{
-   DBusMessage* msg;
-   DBusMessageIter args;
-   DBusConnection* conn;
-   DBusError err;
-   DBusPendingCall* pending;
-   int ret;
-   bool stat;
-   dbus_uint32_t level;
-
-   printf("Calling remote method with %s\n", param);
-
-   // initialiset the errors
-   dbus_error_init(&err);
-
-   // connect to the system bus and check for errors
-   conn = dbus_bus_get(DBUS_BUS_SYSTEM, &err);
-   if (dbus_error_is_set(&err)) { 
-      fprintf(stderr, "Connection Error (%s)\n", err.message); 
-      dbus_error_free(&err);
-   }
-   if (NULL == conn) { 
-      exit(1); 
-   }
-
-   // request our name on the bus
-   ret = dbus_bus_request_name(conn, "test.method.caller", DBUS_NAME_FLAG_REPLACE_EXISTING , &err);
-   if (dbus_error_is_set(&err)) { 
-      fprintf(stderr, "Name Error (%s)\n", err.message); 
-      dbus_error_free(&err);
-   }
-   if (DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER != ret) { 
-      exit(1);
-   }
-
-   // create a new method call and check for errors
-   msg = dbus_message_new_method_call("test.method.server", // target for the method call
-                                      "/test/method/Object", // object to call on
-                                      "test.method.Type", // interface to call on
-                                      "Method"); // method name
-   if (NULL == msg) { 
-      fprintf(stderr, "Message Null\n");
-      exit(1);
-   }
-
-   // append arguments
-   dbus_message_iter_init_append(msg, &args);
-   if (!dbus_message_iter_append_basic(&args, DBUS_TYPE_STRING, &param)) {
-      fprintf(stderr, "Out Of Memory!\n"); 
-      exit(1);
-   }
-   
-   // send message and get a handle for a reply
-   if (!dbus_connection_send_with_reply (conn, msg, &pending, -1)) { // -1 is default timeout
-      fprintf(stderr, "Out Of Memory!\n"); 
-      exit(1);
-   }
-   if (NULL == pending) { 
-      fprintf(stderr, "Pending Call Null\n"); 
-      exit(1); 
-   }
-   dbus_connection_flush(conn);
-   
-   printf("Request Sent\n");
-   
-   // free message
-   dbus_message_unref(msg);
-   
-   // block until we recieve a reply
-   dbus_pending_call_block(pending);
-
-   // get the reply message
-   msg = dbus_pending_call_steal_reply(pending);
-   if (NULL == msg) {
-      fprintf(stderr, "Reply Null\n"); 
-      exit(1); 
-   }
-   // free the pending message handle
-   dbus_pending_call_unref(pending);
-
-   // read the parameters
-   if (!dbus_message_iter_init(msg, &args))
-      fprintf(stderr, "Message has no arguments!\n"); 
-   else if (DBUS_TYPE_BOOLEAN != dbus_message_iter_get_arg_type(&args)) 
-      fprintf(stderr, "Argument is not boolean!\n"); 
-   else
-      dbus_message_iter_get_basic(&args, &stat);
-
-   if (!dbus_message_iter_next(&args))
-      fprintf(stderr, "Message has too few arguments!\n"); 
-   else if (DBUS_TYPE_UINT32 != dbus_message_iter_get_arg_type(&args)) 
-      fprintf(stderr, "Argument is not int!\n"); 
-   else
-      dbus_message_iter_get_basic(&args, &level);
-
-   printf("Got Reply: %d, %d\n", stat, level);
-   
-   // free reply and close connection
-   dbus_message_unref(msg);   
-   dbus_connection_close(conn);
-}
-
-void reply_to_method_call(DBusMessage* msg, DBusConnection* conn)
-{
-   DBusMessage* reply;
-   DBusMessageIter args;
-   bool stat = true;
-   dbus_uint32_t level = 21614;
-   dbus_uint32_t serial = 0;
-   char* param = "";
-
-   // read the arguments
-   if (!dbus_message_iter_init(msg, &args))
-      fprintf(stderr, "Message has no arguments!\n"); 
-   else if (DBUS_TYPE_STRING != dbus_message_iter_get_arg_type(&args)) 
-      fprintf(stderr, "Argument is not string!\n"); 
-   else 
-      dbus_message_iter_get_basic(&args, &param);
-
-   printf("Method called with %s\n", param);
-
-   // create a reply from the message
-   reply = dbus_message_new_method_return(msg);
-
-   // add the arguments to the reply
-   dbus_message_iter_init_append(reply, &args);
-   if (!dbus_message_iter_append_basic(&args, DBUS_TYPE_BOOLEAN, &stat)) { 
-      fprintf(stderr, "Out Of Memory!\n"); 
-      exit(1);
-   }
-   if (!dbus_message_iter_append_basic(&args, DBUS_TYPE_UINT32, &level)) { 
-      fprintf(stderr, "Out Of Memory!\n"); 
-      exit(1);
-   }
-
-   // send the reply && flush the connection
-   if (!dbus_connection_send(conn, reply, &serial)) {
-      fprintf(stderr, "Out Of Memory!\n"); 
-      exit(1);
-   }
-   dbus_connection_flush(conn);
-
-   // free the reply
-   dbus_message_unref(reply);
-}
-
-/**
- * Server that exposes a method call and waits for it to be called
- */
-void listen() 
-{
-   DBusMessage* msg;
-   DBusConnection* conn;
-   DBusError err;
-   int ret;
-
-   printf("Listening for method calls\n");
-
-   // initialise the error
-   dbus_error_init(&err);
-   
-   // connect to the bus and check for errors
-   conn = dbus_bus_get(DBUS_BUS_SYSTEM, &err);
-   if (dbus_error_is_set(&err)) { 
-      fprintf(stderr, "Connection Error (%s)\n", err.message); 
-      dbus_error_free(&err); 
-   }
-   if (NULL == conn) {
-      fprintf(stderr, "Connection Null\n"); 
-      exit(1); 
-   }
-   
-   // request our name on the bus and check for errors
-   ret = dbus_bus_request_name(conn, "test.method.server", DBUS_NAME_FLAG_REPLACE_EXISTING , &err);
-   if (dbus_error_is_set(&err)) { 
-      fprintf(stderr, "Name Error (%s)\n", err.message); 
-      dbus_error_free(&err);
-   }
-   if (DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER != ret) { 
-      fprintf(stderr, "Not Primary Owner (%d)\n", ret);
-      exit(1); 
-   }
-
-   // loop, testing for new messages
-   while (true) {
-      // non blocking read of the next available message
-      dbus_connection_read_write(conn, 0);
-      msg = dbus_connection_pop_message(conn);
-
-      // loop again if we haven't got a message
-      if (NULL == msg) { 
-         sleep(1); 
-         continue; 
-      }
-      
-      // check this is a method call for the right interface & method
-      if (dbus_message_is_method_call(msg, "test.method.Type", "Method")) 
-         reply_to_method_call(msg, conn);
-
-      // free the message
-      dbus_message_unref(msg);
-   }
-
-   // close the connection
-   dbus_connection_close(conn);
-}
-
-/**
- * Listens for signals on the bus
- */
-void receive()
-{
-   DBusMessage* msg;
-   DBusMessageIter args;
-   DBusConnection* conn;
-   DBusError err;
-   int ret;
-   char* sigvalue;
-
-   printf("Listening for signals\n");
-
-   // initialise the errors
-   dbus_error_init(&err);
-   
-   // connect to the bus and check for errors
-   conn = dbus_bus_get(DBUS_BUS_SYSTEM, &err);
-   if (dbus_error_is_set(&err)) { 
-      fprintf(stderr, "Connection Error (%s)\n", err.message);
-      dbus_error_free(&err); 
-   }
-   if (NULL == conn) { 
-      exit(1);
-   }
-   
-   // request our name on the bus and check for errors
-   ret = dbus_bus_request_name(conn, "com.spectrum.netbox.embedded.waitingforlan", DBUS_NAME_FLAG_REPLACE_EXISTING , &err);
-   if (dbus_error_is_set(&err)) { 
-      fprintf(stderr, "Name Error (%s)\n", err.message);
-      dbus_error_free(&err); 
-   }
-   if (DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER != ret) {
-      exit(1);
-   }
-
-   // add a rule for which messages we want to see
-   dbus_bus_add_match(conn, "type='signal',interface='Netbox.signal.Type'", &err); // see signals from the given interface
-   dbus_connection_flush(conn);
-   if (dbus_error_is_set(&err)) { 
-      fprintf(stderr, "Match Error (%s)\n", err.message);
-      exit(1); 
-   }
-   printf("Match rule sent\n");
-
-   // loop listening for signals being emmitted
-   while (true) {
-
-      // non blocking read of the next available message
-      dbus_connection_read_write(conn, 0);
-      msg = dbus_connection_pop_message(conn);
-
-      // loop again if we haven't read a message
-      if (NULL == msg) { 
-         sleep(1);
-         continue;
-      }
-
-      // check if the message is a signal from the correct interface and with the correct name
-      if (dbus_message_is_signal(msg, "Netbox.signal.Type", "LAN")) {
-         
-         // read the parameters
-         if (!dbus_message_iter_init(msg, &args))
-            fprintf(stderr, "Message Has No Parameters\n");
-         else if (DBUS_TYPE_STRING != dbus_message_iter_get_arg_type(&args)) 
-            fprintf(stderr, "Argument is not string!\n"); 
-         else
-            dbus_message_iter_get_basic(&args, &sigvalue);
-         
-         printf("Got Signal with value %s\n", sigvalue);
-      }
-
-      // free the message
-      dbus_message_unref(msg);
-   }
-   // close the connection
-   dbus_connection_close(conn);
-}
-
-int main(int argc, char** argv)
-{
-   if (2 > argc) {
-      printf ("Syntax: dbus-example [send|receive|listen|query] [<param>]\n");
-      return 1;
-   }
-   char* param = "no param";
-   if (3 >= argc && NULL != argv[2]) param = argv[2];
-   if (0 == strcmp(argv[1], "send"))
-      sendsignal(param);
-   else if (0 == strcmp(argv[1], "receive"))
-      receive();
-   else if (0 == strcmp(argv[1], "listen"))
-      listen();
-   else if (0 == strcmp(argv[1], "query"))
-      query(param);
-   else {
-      printf ("Syntax: dbus-example [send|receive|listen|query] [<param>]\n");
-      return 1;
-   }
-   return 0;
-}
-
diff --git a/Cpp/examples/c_cpp/netbox_embedded_server/dbus/makefile b/Cpp/examples/c_cpp/netbox_embedded_server/dbus/makefile
deleted file mode 100644
index 6dc4c3f74e8758f5e4d7ebe00d5491201bc47605..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/netbox_embedded_server/dbus/makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Define a list of pkg-config packages we want to use
-pkg_packages := dbus-glib-1
-PKG_CFLAGS  := $(shell pkg-config --cflags $(pkg_packages))
-PKG_LDFLAGS := $(shell pkg-config --libs $(pkg_packages))
-# Additional flags for the compiler:
-#    -g : Add debugging symbols
-# -Wall : Enable most gcc warnings
-ADD_CFLAGS := -g -Wall
-# Combine user supplied, additional, and pkg-config flags
-CFLAGS  := $(PKG_CFLAGS) $(ADD_CFLAGS) $(CFLAGS)
-LDFLAGS := $(PKG_LDFLAGS) $(LDFLAGS)
-targets = dbus-example
-.PHONY: all clean
-all: $(targets)
-dbus-example: dbus-example.c
-	$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)
-clean:
-	$(RM) $(targets)
diff --git a/Cpp/examples/c_cpp/netbox_embedded_server/dbus/readme.txt b/Cpp/examples/c_cpp/netbox_embedded_server/dbus/readme.txt
deleted file mode 100644
index cd8af6df4eefe3a46608dc8925c35e46f75b1883..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/netbox_embedded_server/dbus/readme.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-The Netbox distributes a DBUS signal that shows if network is up.
-
-To check this signal use the receive() function of the supplied DBUS example program.
diff --git a/Cpp/examples/c_cpp/netbox_embedded_server/readme.txt b/Cpp/examples/c_cpp/netbox_embedded_server/readme.txt
deleted file mode 100644
index 2568859b072252d0b083ff5ba0dceca01678817d..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/netbox_embedded_server/readme.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-This directory contains examples for the Embedded Server Option.
-
-Client
-Server
-These two programs implement a very simple client-server communication. The server is intended to run on the Netbox while the client runs on the user's PC.
-
-dbus
-This is an example on how to connect to the Netbox's internal signals (currently only LAN state).
-
-simple_rec_fifo_mail
-This example will run a FIFO multi acquisition and send a mail for each acquired segment as a SBench6-compatible binary file. Please keep in mind that a high trigger frequency will flood your mailserver with emails which might trigger some spam detection mechanisms.
-
diff --git a/Cpp/examples/c_cpp/netbox_embedded_server/server/makefile b/Cpp/examples/c_cpp/netbox_embedded_server/server/makefile
deleted file mode 100644
index 5b37c2008253ad6aef91098f0fad60c2a6f7a170..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/netbox_embedded_server/server/makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-COMPILER =   	g++
-EXECUTABLE = 	netbox_embedded_server
-LIBS += 	-lspcm_linux -lpthread -lrt
-CFLAGS +=   -DSPCM_NAMESPACE=server
-
-OBJECTS = 	server_main.o\
-		../../common/ostools/spcm_ostools_linux.o \
-		../../common/ostools/spcm_network_winLin.o \
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS) 
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/netbox_embedded_server/server/netbox_embedded_server.vcproj b/Cpp/examples/c_cpp/netbox_embedded_server/server/netbox_embedded_server.vcproj
deleted file mode 100644
index c84d56868592914f7c69930a39d0a69ea71112dc..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/netbox_embedded_server/server/netbox_embedded_server.vcproj
+++ /dev/null
@@ -1,223 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="netbox_embedded_server"
-	ProjectGUID="{2D1AA406-1C82-4926-B726-014905A18E66}"
-	RootNamespace="netbox_embedded_server"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;SPCM_NAMESPACE=server"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="ws2_32.lib"
-				GenerateDebugInformation="true"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			CharacterSet="2"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				PreprocessorDefinitions="WIN32;SPCM_NAMESPACE=server"
-				RuntimeLibrary="2"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				GenerateDebugInformation="true"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\server_main.cpp"
-				>
-			</File>
-			<Filter
-				Name="ostools"
-				>
-				<File
-					RelativePath="..\..\common\ostools\spcm_network_winLin.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\common\ostools\spcm_ostools_win.cpp"
-					>
-				</File>
-			</Filter>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-			<Filter
-				Name="common"
-				>
-				<File
-					RelativePath="..\..\common\ostools\spcm_network_winLin.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\common\ostools\spcm_ostools.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\common\ostools\spcm_oswrap.h"
-					>
-				</File>
-			</Filter>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-		<File
-			RelativePath="..\..\c_header\spcm_win32_msvcpp.lib"
-			>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/netbox_embedded_server/server/server_main.cpp b/Cpp/examples/c_cpp/netbox_embedded_server/server/server_main.cpp
deleted file mode 100644
index 96ac08b7dc5409d8e90870f2cf69219d02af8d32..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/netbox_embedded_server/server/server_main.cpp
+++ /dev/null
@@ -1,364 +0,0 @@
-/*
-*******************************************************************************
-
-server_main.cpp                                               (c) Spectrum GmbH
-
-*******************************************************************************
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-*******************************************************************************
-*/
-
-#ifdef WIN32
-#   include <winsock2.h> // before everything else!
-#   include <Ws2tcpip.h>
-
-
-
-#   undef min
-#   undef max
-
-typedef int ssize_t;
-#else
-#   include <sys/socket.h>
-#   include <netinet/in.h>
-#   include <arpa/inet.h>
-#   include <unistd.h>
-#   include <errno.h>
-#   include <sys/types.h>
-#   include <netdb.h>
-
-typedef int SOCKET;
-#define SOCKET_ERROR -1
-#endif
-
-#include <cstring>
-#include <ctime>
-
-#include <iostream>
-#include <iomanip>
-#include <algorithm>
-
-#include <cstdlib>
-
-// ----- include standard driver header from library -----
-#include "../../c_header/dlltyp.h"
-#include "../../c_header/regs.h"
-#include "../../c_header/spcerr.h"
-#include "../../c_header/spcm_drv.h"
-
-#include "../../common/ostools/spcm_oswrap.h"
-#include "../../common/ostools/spcm_ostools.h"
-#include "../../common/ostools/spcm_network_winLin.h"
-
-
-#define SERVER_PORT     22927
-#define START 0
-#define STOP  1
-
-bool bDataCanBeReadFromSocket (SOCKET lSocket)
-    {
-    fd_set          fdset;
-    struct timeval  stNoWait;
-
-    FD_ZERO (&fdset);
-    FD_SET (lSocket, &fdset);
-    memset (&stNoWait, 0, sizeof (stNoWait));
-
-    // returns immediately if data can be read from socket without blocking
-    lSelect (lSocket + 1, &fdset, NULL, NULL, &stNoWait);
-    if (FD_ISSET (lSocket, &fdset))
-        return true;
-    else
-        return false;
-    }
-
-
-bool bSetupCard ()
-    {
-
-    return true;
-    }
-
-int main ()
-    {
-    dwInitNetwork ();
-
-    SOCKET listenfd = lSocket (AF_INET, SOCK_STREAM, 0);
-
-    struct sockaddr_in serv_addr;
-    memset(&serv_addr, '0', sizeof(serv_addr));
-    serv_addr.sin_family = AF_INET;
-    serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
-    serv_addr.sin_port = htons(SERVER_PORT);
-
-    lBind (listenfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr));
-
-    lListen (listenfd, 10);
-
-    SOCKET lAcceptedSocket = INVALID_SOCKET;
-    fd_set rfds;
-    SOCKET lMaxSockFd = listenfd;
-    char acBuffer[1024];
-    while (true)
-        {
-        FD_ZERO (&rfds);
-        lMaxSockFd = -1;
-        if (lAcceptedSocket == INVALID_SOCKET)
-            {
-            std::cout << "Waiting for client..." << std::endl;
-            FD_SET (listenfd, &rfds);
-            lMaxSockFd = listenfd;
-            }
-        else
-            {
-            FD_SET (lAcceptedSocket, &rfds);
-            lMaxSockFd = std::max (lMaxSockFd, lAcceptedSocket);
-            }
-
-        select ((int)(lMaxSockFd + 1), &rfds, NULL, NULL, NULL);
-
-        if (FD_ISSET(listenfd, &rfds))
-            {
-            std::cout << "Accepted client..." << std::endl;
-            lAcceptedSocket = accept (listenfd, (struct sockaddr*)NULL, NULL);
-            }
-
-        // ----- read socket and print received data -----
-        if (FD_ISSET (lAcceptedSocket, &rfds))
-            {
-            // ----- read data from sender -----
-            unsigned dwReadBytes = dwRead (lAcceptedSocket, acBuffer, sizeof (acBuffer) - 1);
-            if (dwReadBytes == 0)
-                {
-                // connection closed
-                lClose (lAcceptedSocket);
-                lAcceptedSocket = INVALID_SOCKET;
-                }
-            else if (dwReadBytes == SOCKET_ERROR)
-                {
-                // error occured
-                std::cerr << "NETWORK ERROR" << std::endl;
-                lClose (lAcceptedSocket);
-                lAcceptedSocket = INVALID_SOCKET;
-                }
-            else
-                {
-                uint32 dwMagic = *reinterpret_cast < uint32* > (acBuffer);
-                switch (dwMagic)
-                    {
-                    case START:
-                        {
-                        drv_handle  hCard;
-                        int32       lCardType, lSerialNumber, lFncType;
-                        int16*      pnData;
-                        char        szErrorTextBuffer[ERRORTEXTLEN];
-                        uint32      dwError;
-                        int32       lStatus;
-                        int64       llAvailUser, llPCPos;
-                        uint64      qwTotalMem = 0;
-                        uint64      qwToTransfer = MEGA_B(64);
-
-                        // settings for the FIFO mode buffer handling
-                        int64       llBufferSize =  MEGA_B(4);
-                        int32       lNotifySize =   KILO_B(16);
-
-
-                        // open card
-                        // uncomment the second line and replace the IP address to use remote
-                        // cards like in a digitizerNETBOX
-                        hCard = spcm_hOpen ("/dev/spcm0");
-                        if (!hCard)
-                            {
-                            std::cerr << "no card found..." << std::endl;
-                            return EXIT_FAILURE;
-                            }
-
-#ifndef WIN32
-                        system ("netbox_led_client conngreen=1");
-#endif
-
-                        // read type, function and sn and check for A/D card
-                        spcm_dwGetParam_i32 (hCard, SPC_PCITYP,         &lCardType);
-                        spcm_dwGetParam_i32 (hCard, SPC_PCISERIALNO,    &lSerialNumber);
-                        spcm_dwGetParam_i32 (hCard, SPC_FNCTYPE,        &lFncType);
-
-                        std::cout << "Found: ";
-                        switch (lCardType & TYP_SERIESMASK)
-                            {
-                            case TYP_M2ISERIES:     std::cout << "M2i." << std::hex << (lCardType & TYP_VERSIONMASK);            break;
-                            case TYP_M2IEXPSERIES:  std::cout << "M2i." << std::hex << (lCardType & TYP_VERSIONMASK) << "-Exp";  break;
-                            case TYP_M3ISERIES:     std::cout << "M3i." << std::hex << (lCardType & TYP_VERSIONMASK);            break;
-                            case TYP_M3IEXPSERIES:  std::cout << "M3i." << std::hex << (lCardType & TYP_VERSIONMASK) << "-Exp";  break;
-                            case TYP_M4IEXPSERIES:  std::cout << "M4i." << std::hex << (lCardType & TYP_VERSIONMASK) << "-x8";   break;
-                            case TYP_M4XEXPSERIES:  std::cout << "M4x." << std::hex << (lCardType & TYP_VERSIONMASK) << "-x4";   break;
-                            default:                std::cout << "unknown type";                                               break;
-                            }
-                        std::cout << " sn " << std::setw (5) << lSerialNumber << std::endl;
-
-                        if (lFncType != SPCM_TYPE_AI)
-                            {
-                            std::cerr << "Card not supported by example" << std::endl;
-                            return EXIT_FAILURE;
-                            }
-
-
-                        // do a simple standard setup
-                        spcm_dwSetParam_i32 (hCard, SPC_CHENABLE,        CHANNEL0);             // just 1 channel enabled
-                        spcm_dwSetParam_i32 (hCard, SPC_PATH0,           0);
-                        spcm_dwSetParam_i32 (hCard, SPC_AMP0,            1000);
-                        spcm_dwSetParam_i32 (hCard, SPC_CARDMODE,        SPC_REC_FIFO_MULTI);   // single FIFO mode
-                        spcm_dwSetParam_i32 (hCard, SPC_SEGMENTSIZE,     lNotifySize);
-                        spcm_dwSetParam_i32 (hCard, SPC_POSTTRIGGER,     lNotifySize - 64);
-                        spcm_dwSetParam_i32 (hCard, SPC_PRETRIGGER,      1024);                 // 1k of pretrigger data at start of FIFO mode
-                        spcm_dwSetParam_i32 (hCard, SPC_LOOPS,           0);                    // endless FIFO
-                        spcm_dwSetParam_i32 (hCard, SPC_TIMEOUT,         5000);                 // timeout 5 s
-                        spcm_dwSetParam_i32 (hCard, SPC_TRIG_ORMASK,     SPC_TMASK_NONE);       // trigger set to channel
-                        spcm_dwSetParam_i32 (hCard, SPC_TRIG_CH_ORMASK0, SPC_TMASK0_CH0);       // trigger set to channel0
-                        spcm_dwSetParam_i32 (hCard, SPC_TRIG_CH0_MODE,   SPC_TM_POS);
-                        spcm_dwSetParam_i32 (hCard, SPC_TRIG_CH0_LEVEL0, 20);
-                        spcm_dwSetParam_i32 (hCard, SPC_TRIG_ANDMASK,    0);                    // ...
-                        spcm_dwSetParam_i32 (hCard, SPC_CLOCKMODE,       SPC_CM_INTPLL);        // clock mode internal PLL
-
-                        // we try to set the samplerate to 100 kHz (M2i) or 20 MHz (M3i and M4i) on internal PLL, no clock output
-                        if (((lCardType & TYP_SERIESMASK) == TYP_M2ISERIES) || ((lCardType & TYP_SERIESMASK) == TYP_M2IEXPSERIES))
-                            spcm_dwSetParam_i64 (hCard, SPC_SAMPLERATE, KILO(100));
-                        else
-                            spcm_dwSetParam_i64 (hCard, SPC_SAMPLERATE, MEGA(20));
-
-                        spcm_dwSetParam_i32 (hCard, SPC_CLOCKOUT,       0);                     // no clock output
-
-
-                        // define the data buffer
-                        pnData = (int16*) pvAllocMemPageAligned ((uint64) llBufferSize);
-                        if (!pnData)
-                            {
-                            std::cerr << "memory allocation failed" << std::endl;
-                            spcm_vClose (hCard);
-                            return false;
-                            }
-
-                        spcm_dwDefTransfer_i64 (hCard, SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, lNotifySize, pnData, 0, llBufferSize);
-
-
-                        // start everything
-                        dwError = spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER | M2CMD_DATA_STARTDMA);
-
-                        // check for error
-                        if (dwError != ERR_OK)
-                            {
-                            spcm_dwGetErrorInfo_i32 (hCard, NULL, NULL, szErrorTextBuffer);
-                            std::cout << szErrorTextBuffer << std::endl;
-                            vFreeMemPageAligned (pnData, (uint64) llBufferSize);
-                            spcm_vClose (hCard);
-                            return 0;
-                            }
-
-                        // ----- start data processing loop -----
-                        while (qwTotalMem < qwToTransfer)
-                            {
-                            // ----- check if client has been clocked or if it has sent an abort command -----
-                            bool bKeepRunning = true;
-                            if (bDataCanBeReadFromSocket (lAcceptedSocket))
-                                {
-                                unsigned dwReadBytes = dwRead (lAcceptedSocket, acBuffer, sizeof (acBuffer) - 1);
-                                if (dwReadBytes == 0)
-                                    {
-                                    // connection closed
-                                    lClose (lAcceptedSocket);
-                                    lAcceptedSocket = INVALID_SOCKET;
-                                    bKeepRunning = false;
-                                    }
-                                else if (dwReadBytes == SOCKET_ERROR)
-                                    {
-                                    // error occured
-                                    lClose (lAcceptedSocket);
-                                    lAcceptedSocket = INVALID_SOCKET;
-                                    bKeepRunning = false;
-                                    }
-                                else
-                                    {
-                                    dwMagic = *reinterpret_cast < uint32* > (acBuffer);
-                                    if (dwMagic == STOP)
-                                        {
-                                        bKeepRunning = false;
-                                        break;
-                                        }
-                                    }
-                                }
-                            if (!bKeepRunning)
-                                {
-                                // send the stop command
-                                dwError = spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_CARD_STOP | M2CMD_DATA_STOPDMA);
-
-                                spcm_vClose (hCard);
-                                break;
-                                }
-
-                            if ((dwError = spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_DATA_WAITDMA)) != ERR_OK)
-                                {
-                                if (dwError == ERR_TIMEOUT)
-                                    std::cout << "... Timeout" << std::endl;
-                                else
-                                    std::cerr << "... Error: " << dwError << std::endl;
-                                break;
-                                }
-
-                            else
-                                {
-                                spcm_dwGetParam_i32 (hCard, SPC_M2STATUS,             &lStatus);
-                                spcm_dwGetParam_i64 (hCard, SPC_DATA_AVAIL_USER_LEN,  &llAvailUser);
-                                spcm_dwGetParam_i64 (hCard, SPC_DATA_AVAIL_USER_POS,  &llPCPos);
-
-                                if (llAvailUser >= lNotifySize)
-                                    {
-#ifndef WIN32
-                                    system ("netbox_led_client armgreen=1");
-#endif
-                                    uint32 dwNumSamples = lNotifySize / sizeof (int16);
-                                    qwTotalMem += dwNumSamples;
-
-                                    char* pcStartPos = (char*)pnData + llPCPos;
-                                    char* pcEndPos   = pcStartPos + lNotifySize;
-
-                                    // this is the point to do anything with the data
-                                    // since notify size is multiple of buffer size, we don't care about buffer wrap-around
-                                    int16 nMax = *std::max_element ((int16*)pcStartPos, (int16*)pcEndPos);
-                                    int16 nMin = *std::min_element ((int16*)pcStartPos, (int16*)pcEndPos);
-                                    int32 lAvg = 0;
-                                    for (unsigned dwIdx = 0; dwIdx < dwNumSamples; dwIdx++)
-                                        {
-                                        lAvg += *(((int16*)pcStartPos) + dwIdx);
-                                        }
-                                    lAvg /= dwNumSamples;
-
-                                    char acText[128];
-                                    snprintf (acText, 128, "Maximum: %hd  Minimum: %hd  Average: %d\n", nMax, nMin, lAvg);
-
-                                    ssize_t dwWritten_bytes = dwWrite (lAcceptedSocket, acText, strlen (acText));
-
-                                    spcm_dwSetParam_i32 (hCard, SPC_DATA_AVAIL_CARD_LEN,  lNotifySize);
-#ifndef WIN32
-                                    system ("netbox_led_client armgreen=0");
-#endif
-                                    }
-                                }
-                            }
-                        break;
-                        }
-                    default:
-                        // unknown magic number. Should not reach here
-                        break;
-                    }
-                }
-            }
-        }
-
-    return EXIT_SUCCESS;
-    }
diff --git a/Cpp/examples/c_cpp/netbox_embedded_server/simple_rec_fifo_mail/makefile b/Cpp/examples/c_cpp/netbox_embedded_server/simple_rec_fifo_mail/makefile
deleted file mode 100644
index 884aceb3869351e9c384ed314be6ddde8f596312..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/netbox_embedded_server/simple_rec_fifo_mail/makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-COMPILER =   	g++
-EXECUTABLE = 	simple_rec_fifo_mail
-LIBS += 	-lspcm_linux -lpthread -lrt -lcurl
-
-OBJECTS = 	simple_rec_fifo_mail.o\
-		../../common/ostools/spcm_ostools_linux.o\
-		../../common//spcm_netbox_sendmail.o\
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS) 
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/netbox_embedded_server/simple_rec_fifo_mail/simple_rec_fifo_mail.cpp b/Cpp/examples/c_cpp/netbox_embedded_server/simple_rec_fifo_mail/simple_rec_fifo_mail.cpp
deleted file mode 100644
index 69873adcde0e268aad6390b070a0c991a25fe3fb..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/netbox_embedded_server/simple_rec_fifo_mail/simple_rec_fifo_mail.cpp
+++ /dev/null
@@ -1,286 +0,0 @@
-/*
-**************************************************************************
-
-simple_rec_fifo.cpp                                      (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all Netboxes based analog acquisition cards.
-
-Information about the different products and their drivers can be found
-online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/platform-driver-and-series-differences
-
-Shows a simple FIFO mode example using only the few necessary commands
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../../c_header/dlltyp.h"
-#include "../../c_header/regs.h"
-#include "../../c_header/spcerr.h"
-#include "../../c_header/spcm_drv.h"
-
-#include "../../common/ostools/spcm_oswrap.h"
-#include "../../common/ostools/spcm_ostools.h"
-
-#include "../../common/spcm_netbox_sendmail.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-
-
-/*
-**************************************************************************
-szTypeToName: doing name translation
-**************************************************************************
-*/
-
-char* szTypeToName (int32 lCardType)
-    {
-    static char szName[50];
-    switch (lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M2ISERIES:     sprintf (szName, "M2i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2IEXPSERIES:  sprintf (szName, "M2i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3ISERIES:     sprintf (szName, "M3i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3IEXPSERIES:  sprintf (szName, "M3i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4IEXPSERIES:  sprintf (szName, "M4i.%04x-x8",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4XEXPSERIES:  sprintf (szName, "M4x.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2PEXPSERIES:  sprintf (szName, "M2p.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M5IEXPSERIES:  sprintf (szName, "M5i.%04x-x16", lCardType & TYP_VERSIONMASK);  break;
-        default:                sprintf (szName, "unknown type");                               break;
-        }
-    return szName;
-    }
-
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    drv_handle  hCard;
-    int32       lCardType, lSerialNumber, lFncType;
-    int16*      pnData;
-    char        szErrorTextBuffer[ERRORTEXTLEN];
-    uint32      dwError;
-    int32       lStatus;
-    int64       llAvailUser, llPCPos;
-    uint64      qwTotalMem = 0;
-    uint64      qwToTransfer = MEGA_B(64);
-
-    // settings for the FIFO mode buffer handling
-    int64       llBufferSize = MEGA_B(4);
-    int32       lNotifySize =  KILO_B(16);
-
-
-    // open card
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    hCard = spcm_hOpen ("/dev/spcm0");
-    // hCard = spcm_hOpen ("TCPIP::192.168.1.10::inst0::INSTR");
-    if (!hCard)
-        {
-        printf ("no card found...\n");
-        return 0;
-        }
-
-
-    // read type, function and sn and check for A/D card
-    spcm_dwGetParam_i32 (hCard, SPC_PCITYP,         &lCardType);
-    spcm_dwGetParam_i32 (hCard, SPC_PCISERIALNO,    &lSerialNumber);
-    spcm_dwGetParam_i32 (hCard, SPC_FNCTYPE,        &lFncType);
-
-    switch (lFncType)
-        {
-        case SPCM_TYPE_AI:
-            printf ("Found: %s sn %05d\n", szTypeToName (lCardType), lSerialNumber);
-            break;
-
-        default:
-            printf ("Card: %s sn %05d not supported by example\n", szTypeToName (lCardType), lSerialNumber);
-            return 0;
-        }
-
-
-    int32 lSegmentSize = KILO_B(4);
-    int32 lPost        = KILO_B(3);
-
-    // do a simple standard setup
-    spcm_dwSetParam_i32 (hCard, SPC_CHENABLE,       CHANNEL0);              // just 1 channel enabled
-    spcm_dwSetParam_i32 (hCard, SPC_SEGMENTSIZE,    lSegmentSize);          // 4k segment size
-    spcm_dwSetParam_i32 (hCard, SPC_POSTTRIGGER,    lPost);                 // 1k of pretrigger data at each segment
-    spcm_dwSetParam_i32 (hCard, SPC_CARDMODE,       SPC_REC_FIFO_MULTI);    // FIFO Multi mode
-    spcm_dwSetParam_i32 (hCard, SPC_TIMEOUT,        5000);                  // timeout 5 s
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_ORMASK,    0);    // trigger set to software
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_ANDMASK,   0);                     // ...
-    spcm_dwSetParam_i32 (hCard, SPC_CLOCKMODE,      SPC_CM_INTPLL);         // clock mode internal PLL
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_CH_ORMASK0, SPC_TMASK0_CH0);       // channel trigger on channel 0
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_CH0_LEVEL0,  0);                   // trigger level 0 LSB (= 0 mV)
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_CH0_MODE,  SPC_TM_POS);            // trigger on positive edge
-
-    // we try to set the samplerate to 100 kHz (M2i) or 20 MHz (M3i and M4i) on internal PLL, no clock output
-    int32 lSamplerate = 0;
-    if (((lCardType & TYP_SERIESMASK) == TYP_M2ISERIES) || ((lCardType & TYP_SERIESMASK) == TYP_M2IEXPSERIES))
-        lSamplerate = KILO(100);
-    else
-        lSamplerate = MEGA(20);
-    spcm_dwSetParam_i64 (hCard, SPC_SAMPLERATE, lSamplerate);
-
-    spcm_dwSetParam_i32 (hCard, SPC_CLOCKOUT,       0);                     // no clock output
-
-
-    // define the data buffer
-    pnData = (int16*) pvAllocMemPageAligned ((uint64) llBufferSize);
-    if (!pnData)
-        {
-        printf ("memory allocation failed\n");
-        spcm_vClose (hCard);
-        return 0;
-        }
-
-    spcm_dwDefTransfer_i64 (hCard, SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, lNotifySize, pnData, 0, llBufferSize);
-
-    int32 lMaxADCValue = 0;
-    int32 lIR          = 0;
-    spcm_dwGetParam_i32 (hCard, SPC_MIINST_MAXADCVALUE, &lMaxADCValue);
-    spcm_dwGetParam_i32 (hCard, SPC_AMP0,               &lIR);
-
-    // ----- create a SBench6 compatible header file -----
-    FILE* hFile = fopen ("/tmp/segment_binheader.txt", "w");
-    fprintf (hFile, "FileType = 16\n");
-    fprintf (hFile, "HeaderFileVersion = 2\n");
-    fprintf (hFile, "NumAChannels = 1\n");
-    fprintf (hFile, "NumDChannels = 0\n");
-    fprintf (hFile, "FileFlags = 0\n");
-    fprintf (hFile, "DataEncoding = 0\n");
-    fprintf (hFile, "TSSize = 8\n");
-    fprintf (hFile, "RawDataFormat = 268501268\n");
-    fprintf (hFile, "\n");
-    fprintf (hFile, "[Ch0]\n");
-    fprintf (hFile, "Name = AI-Ch0\n");
-    fprintf (hFile, "XUnit = s\n");
-    fprintf (hFile, "YUnit = V\n");
-    fprintf (hFile, "Description = AI-Ch0\n");
-    fprintf (hFile, "MaxRange = %lf\n",  static_cast < double > (lIR) / 1000);
-    fprintf (hFile, "MinRange = %lf\n", -static_cast < double > (lIR) / 1000);
-    fprintf (hFile, "OrigMaxRange = %d\n",  lIR);
-    fprintf (hFile, "OrigMinRange = %d\n", -lIR);
-    fprintf (hFile, "UserOffset = 0\n");
-    fprintf (hFile, "\n");
-    fprintf (hFile, "LenH = 0\n");
-    fprintf (hFile, "LenL = %d\n", lSegmentSize); // each segment is transfered as single file
-    fprintf (hFile, "PostH = 0\n");
-    fprintf (hFile, "PostL = %d\n", lPost);
-    fprintf (hFile, "SegmentH = 0\n");
-    fprintf (hFile, "SegmentL = %d\n", lSegmentSize);
-    fprintf (hFile, "Resolution = 16\n");
-    fprintf (hFile, "Samplerate = %d\n", lSamplerate);
-    fprintf (hFile, "TrigPosH = 0\n");
-    fprintf (hFile, "TrigPosL = %d\n", lSegmentSize - lPost);
-    fprintf (hFile, "TrigDelayH = 0\n");
-    fprintf (hFile, "TrigDelayL = 0\n");
-    fprintf (hFile, "OffsetH = 0\n");
-    fprintf (hFile, "OffsetL = 0\n");
-    fprintf (hFile, "Flags = 0\n");
-    fprintf (hFile, "ABADivider = 1\n");
-    fprintf (hFile, "SlowABALenH = 0\n");
-    fprintf (hFile, "SlowABALenL = 0\n");
-    fprintf (hFile, "MaxADCValue = %d\n", lMaxADCValue);
-    fprintf (hFile, "TSRefClock = 1\n");
-    fprintf (hFile, "OversamplingFactor = 1\n");
-    fprintf (hFile, "TSSamplerate = 0\n");
-    fprintf (hFile, "Pretrigger = %d\n", lSegmentSize - lPost);
-    fclose (hFile);
-
-    // start everything
-    dwError = spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER | M2CMD_DATA_STARTDMA);
-
-
-    // check for error
-    if (dwError != ERR_OK)
-        {
-        spcm_dwGetErrorInfo_i32 (hCard, NULL, NULL, szErrorTextBuffer);
-        printf ("%s\n", szErrorTextBuffer);
-        vFreeMemPageAligned (pnData, (uint64) llBufferSize);
-        spcm_vClose (hCard);
-        return 0;
-        }
-
-
-    // run the FIFO mode and loop through the data
-    else
-        {
-        while (qwTotalMem < qwToTransfer)
-            {
-            if ((dwError = spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_DATA_WAITDMA)) != ERR_OK)
-                {
-                if (dwError == ERR_TIMEOUT)
-                    printf ("... Timeout\n");
-                else
-                    printf ("... Error: %d\n", dwError);
-                break;
-                }
-
-            else
-                {
-                spcm_dwGetParam_i32 (hCard, SPC_M2STATUS,             &lStatus);
-                spcm_dwGetParam_i64 (hCard, SPC_DATA_AVAIL_USER_LEN,  &llAvailUser);
-                spcm_dwGetParam_i64 (hCard, SPC_DATA_AVAIL_USER_POS,  &llPCPos);
-
-                if (llAvailUser >= lNotifySize)
-                    {
-                    qwTotalMem += lNotifySize;
-                    printf ("Stat:%08x Pos:%016llx Avail:%016llx Total:%.2fMB\n", lStatus, llPCPos, llAvailUser, (double) (int64) qwTotalMem / MEGA_B(1));
-
-                    // store data to disk
-                    FILE* hFile = fopen ("/tmp/segment.bin", "wb");
-                    fwrite ((char*)pnData, lNotifySize, 1, hFile);
-                    fclose (hFile);
-
-                    vNetboxMailSetServerAndLogin ("smtp://192.168.1.10:25", "netbox@email.com", "password");
-                    vNetboxMailSetSubject        ("Your Netbox is awaiting your attention");
-                    vNetboxMailSetBody           ("This is the body of the message");
-                    vNetboxMailAddAttachment     ("/tmp/segment.bin");
-                    vNetboxMailAddAttachment     ("/tmp/segment_binheader.txt");
-                    vNetboxMailSendMail          ("from@email.com", "to@email.com");
-
-                    spcm_dwSetParam_i32 (hCard, SPC_DATA_AVAIL_CARD_LEN,  lNotifySize);
-                    }
-
-                // check for esape = abort
-                if (bKbhit ())
-                    if (cGetch () == 27)
-                        break;
-                }
-            }
-        }
-
-
-    // send the stop command
-    dwError = spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_CARD_STOP | M2CMD_DATA_STOPDMA);
-
-    // clean up
-    printf ("Finished...\n");
-    vFreeMemPageAligned (pnData, (uint64) llBufferSize);
-    spcm_vClose (hCard);
-
-    return 1;
-    }
-
diff --git a/Cpp/examples/c_cpp/netbox_embedded_server/simple_rec_fifo_mail/simple_rec_fifo_mail.vcproj b/Cpp/examples/c_cpp/netbox_embedded_server/simple_rec_fifo_mail/simple_rec_fifo_mail.vcproj
deleted file mode 100644
index 2693b864d16673d0ee6bbc1abf54cd1aa06b5f3e..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/netbox_embedded_server/simple_rec_fifo_mail/simple_rec_fifo_mail.vcproj
+++ /dev/null
@@ -1,252 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="simple_rec_fifo_mail"
-	ProjectGUID="{AB068386-BB5C-4442-ACFF-B5D9A79C311A}"
-	RootNamespace="simple_rec_fifo"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/simple_rec_fifo.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/simple_rec_fifo.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/simple_rec_fifo.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/simple_rec_fifo.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/simple_rec_fifo.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/simple_rec_fifo.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/simple_rec_fifo.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/simple_rec_fifo.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/simple_rec_fifo.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/simple_rec_fifo.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="header"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_netbox_sendmail.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath=".\simple_rec_fifo_mail.cpp"
-			>
-		</File>
-		<File
-			RelativePath="..\..\common\spcm_netbox_sendmail.cpp"
-			>
-		</File>
-		<File
-			RelativePath="..\..\common\ostools\spcm_ostools_win.cpp"
-			>
-		</File>
-		<File
-			RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-			>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/pulse_generator/makefile b/Cpp/examples/c_cpp/pulse_generator/makefile
deleted file mode 100644
index 89e9d669194d09550615f327ea1ef4b8065d10aa..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/pulse_generator/makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-COMPILER =   	g++
-EXECUTABLE = 	pulse_generator
-LIBS += 	-lspcm_linux -lpthread -lrt
-
-OBJECTS = 	pulse_generator.o\
-		../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/pulse_generator/pulse_generator.cpp b/Cpp/examples/c_cpp/pulse_generator/pulse_generator.cpp
deleted file mode 100644
index 79434fe82f4bd6ee912a748a52c9243d3dc6e222..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/pulse_generator/pulse_generator.cpp
+++ /dev/null
@@ -1,330 +0,0 @@
-/*
-**************************************************************************
-
-pulse_generator.cpp                                      (c) Spectrum GmbH
-
-**************************************************************************
-
-Example program for the pulse generator feature on M4i, M4x, M2p and M5i cards.
-Different setups are shown to highlight the capabilities of the pulse
-generator feature.
-The setup of the card for acquisition/replay is shown in the other examples.
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-
-/*
-**************************************************************************
-szTypeToName: doing name translation
-**************************************************************************
-*/
-
-char* szTypeToName (int32 lCardType)
-    {
-    static char szName[50];
-    switch (lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M2ISERIES:     sprintf (szName, "M2i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2IEXPSERIES:  sprintf (szName, "M2i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3ISERIES:     sprintf (szName, "M3i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3IEXPSERIES:  sprintf (szName, "M3i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4IEXPSERIES:  sprintf (szName, "M4i.%04x-x8",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4XEXPSERIES:  sprintf (szName, "M4x.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2PEXPSERIES:  sprintf (szName, "M2p.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M5IEXPSERIES:  sprintf (szName, "M5i.%04x-x16", lCardType & TYP_VERSIONMASK);  break;
-        default:                sprintf (szName, "unknown type");                               break;
-        }
-    return szName;
-    }
-
-// ----------------------------------------------------------------------------
-// ----- this functions sets up the pulse generator for X0 to create a continuous signal
-void vSingleContinuousSignal (drv_handle hCard)
-    {
-    int64 llPulseGenClock = 0;
-    spcm_dwGetParam_i64 (hCard, SPC_XIO_PULSEGEN_CLOCK, &llPulseGenClock);
-
-    // enable pulse generator output on XIO lines
-    spcm_dwSetParam_i32 (hCard, SPCM_X0_MODE, SPCM_XMODE_PULSEGEN);
-
-    // setup pulse generator 0 (output on X0)
-    // generate a continuous signal with 1 MHz
-    int32 lLenFor1MHz = static_cast < int32 > (llPulseGenClock / MEGA(1));
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN0_MODE,     SPCM_PULSEGEN_MODE_TRIGGERED);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN0_LEN,      lLenFor1MHz);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN0_HIGH,     lLenFor1MHz / 2); // 50% HIGH, 50% LOW
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN0_DELAY,    0);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN0_LOOPS,    0); // 0: infinite
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN0_MUX1_SRC, SPCM_PULSEGEN_MUX1_SRC_UNUSED);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN0_MUX2_SRC, SPCM_PULSEGEN_MUX2_SRC_SOFTWARE); // started by software force command
-
-    // arm the trigger detection for all pulse generators
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN_ENABLE, SPCM_PULSEGEN_ENABLE0);
-
-    // write the settings to the card
-    // update the clock section to generate the programmed frequencies (SPC_SAMPLERATE)
-    // and write the pulse generator settings
-    spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_CARD_WRITESETUP);
-
-    // start all pulse generators that wait for a software command
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN_COMMAND, SPCM_PULSEGEN_CMD_FORCE);
-    }
-
-
-// ----------------------------------------------------------------------------
-// ----- this functions sets up all pulse generators to create continuous signals
-// ----- with various frequencies, high/low characteristics, and offset
-void vMultipleContinuousSignals (drv_handle hCard, int32 lCardType)
-    {
-    int64 llPulseGenClock = 0;
-    spcm_dwGetParam_i64 (hCard, SPC_XIO_PULSEGEN_CLOCK, &llPulseGenClock);
-
-    int32 lPulseGenEnableMask = 0;
-
-    // setup pulse generator 0 (output on X0)
-    // generate a continuous signal with the maximum frequency
-    spcm_dwSetParam_i32 (hCard, SPCM_X0_MODE,               SPCM_XMODE_PULSEGEN); // enable pulse generator output on X0 line
-
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN0_MODE,     SPCM_PULSEGEN_MODE_TRIGGERED);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN0_LEN,      2);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN0_HIGH,     1); // 50% HIGH, 50% LOW
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN0_DELAY,    0);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN0_LOOPS,    0); // 0: infinite
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN0_MUX1_SRC, SPCM_PULSEGEN_MUX1_SRC_UNUSED);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN0_MUX2_SRC, SPCM_PULSEGEN_MUX2_SRC_SOFTWARE); // started by software force command
-    lPulseGenEnableMask |= SPCM_PULSEGEN_ENABLE0; // add pulse generator 0 to enable mask
-
-
-    // setup pulse generator 1 (output on X1)
-    // generate a continuous signal with ~1 MHz, 50% duty cycle
-    spcm_dwSetParam_i32 (hCard, SPCM_X1_MODE,               SPCM_XMODE_PULSEGEN); // enable pulse generator output on X1 line
-
-    int32 lLenFor1MHz = static_cast < int32 > (llPulseGenClock / MEGA(1));
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN1_MODE,     SPCM_PULSEGEN_MODE_TRIGGERED);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN1_LEN,      lLenFor1MHz);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN1_HIGH,     lLenFor1MHz / 2); // 50% HIGH, 50% LOW
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN1_DELAY,    0);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN1_LOOPS,    0); // 0: infinite
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN1_MUX1_SRC, SPCM_PULSEGEN_MUX1_SRC_UNUSED);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN1_MUX2_SRC, SPCM_PULSEGEN_MUX2_SRC_SOFTWARE); // started by software force command
-    lPulseGenEnableMask |= SPCM_PULSEGEN_ENABLE1; // add pulse generator 1 to enable mask
-
-
-    // setup pulse generator 2 (output on X2)
-    // same signal as pulse generator 1, but with a phase shift
-    spcm_dwSetParam_i32 (hCard, SPCM_X2_MODE,               SPCM_XMODE_PULSEGEN); // enable pulse generator output on X2 line
-
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN2_MODE,     SPCM_PULSEGEN_MODE_TRIGGERED);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN2_LEN,      lLenFor1MHz);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN2_HIGH,     lLenFor1MHz / 2); // 50% HIGH, 50% LOW
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN2_DELAY,    lLenFor1MHz / 4); // delay for 1/4 of the period to achieve a "phase shift" by 90°
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN2_LOOPS,    0); // 0: infinite
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN2_MUX1_SRC, SPCM_PULSEGEN_MUX1_SRC_UNUSED);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN2_MUX2_SRC, SPCM_PULSEGEN_MUX2_SRC_SOFTWARE); // started by software force command
-    lPulseGenEnableMask |= SPCM_PULSEGEN_ENABLE2; // add pulse generator 2 to enable mask
-
-
-    // setup pulse generator 3 (output on X3. Not available on M4i/M4x)
-    if (((lCardType & TYP_SERIESMASK) != TYP_M4IEXPSERIES) && ((lCardType & TYP_SERIESMASK) != TYP_M4XEXPSERIES))
-        {
-        spcm_dwSetParam_i32 (hCard, SPCM_X3_MODE, SPCM_XMODE_PULSEGEN); // enable pulse generator output on X3 lines
-
-        // generate a continuous signal with ~500 kHz after the first edge on pulse generator 2 occurred, and delay the start for two periods of the 1MHz signal.
-        int32 lLenFor500kHz = static_cast < int32 > (llPulseGenClock / KILO(500));
-        spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN3_MODE,     SPCM_PULSEGEN_MODE_TRIGGERED);
-        spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN3_LEN,      lLenFor500kHz);
-        spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN3_HIGH,     9*lLenFor500kHz / 10); // 90% HIGH, 10% LOW
-        spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN3_DELAY,    2*lLenFor1MHz); // delay for two periods of 1MHz signal
-        spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN3_LOOPS,    0); // 0: infinite
-        spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN3_MUX1_SRC, SPCM_PULSEGEN_MUX1_SRC_UNUSED);
-        spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN3_MUX2_SRC, SPCM_PULSEGEN_MUX2_SRC_PULSEGEN2); // started by first edge of pulse generator 2
-        lPulseGenEnableMask |= SPCM_PULSEGEN_ENABLE3; // add pulse generator 3 to enable mask
-        }
-
-    // arm the trigger detection for all pulse generators
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN_ENABLE, lPulseGenEnableMask);
-
-    // write the settings to the card
-    // update the clock section to generate the programmed frequencies (SPC_SAMPLERATE)
-    // and write the pulse generator settings
-    spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_CARD_WRITESETUP);
-
-    // start all pulse generators that wait for a software command
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN_COMMAND, SPCM_PULSEGEN_CMD_FORCE);
-    }
-
-
-// ----------------------------------------------------------------------------
-// ----- This functions creates a single pulse on X1 after the card has detected a trigger event.
-// ----- Possible application: "change" length of trigger output signal, or create a delayed version of trigger output
-void vCreateDelayedTriggerPulse (drv_handle hCard)
-    {
-    // we use software trigger to trigger the card immediately after it has been started (start command at end of this function)
-    spcm_dwSetParam_i64 (hCard, SPC_TRIG_ORMASK, SPC_TMASK_SOFTWARE);
-
-    int64 llPulseGenClock = 0;
-    spcm_dwGetParam_i64 (hCard, SPC_XIO_PULSEGEN_CLOCK, &llPulseGenClock);
-
-    spcm_dwSetParam_i32 (hCard, SPCM_X0_MODE, SPCM_XMODE_TRIGOUT);  // trigger output for reference on X0
-    spcm_dwSetParam_i32 (hCard, SPCM_X1_MODE, SPCM_XMODE_PULSEGEN); // enable pulse generator output on X1
-
-    int32 lLen_1ms    = static_cast < int32 > (llPulseGenClock * 0.001 + 1); // +1 because the HIGH area needs to be at least one sample less than length, so we increase length by one to get the calculated HIGH time
-    int32 lOffset_5us = static_cast < int32 > (llPulseGenClock * 0.000005);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN1_MODE,     SPCM_PULSEGEN_MODE_SINGLESHOT);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN1_LEN,      lLen_1ms);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN1_HIGH,     lLen_1ms - 1);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN1_DELAY,    lOffset_5us); // delay the pulse for 5us
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN1_LOOPS,    1); // just once
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN1_MUX1_SRC, SPCM_PULSEGEN_MUX1_SRC_UNUSED);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN1_MUX2_SRC, SPCM_PULSEGEN_MUX2_SRC_CARDTRIGGER); // started by card's trigger event
-
-    // arm the trigger detection for our selected pulse generator
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN_ENABLE, SPCM_PULSEGEN_ENABLE1);
-
-    // write the settings to the card
-    // update the clock section to generate the programmed frequencies (SPC_SAMPLERATE)
-    // and write the pulse generator settings
-    spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_CARD_WRITESETUP);
-
-    // start card. Its trigger event will start the pulse generator
-    spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER);
-    }
-
-
-// ----------------------------------------------------------------------------
-// ----- This function takes a trigger signal on X2 and gives a pulse that is 
-// ----- synchronized to the card's clock back out on X1. This pulse can then
-// ----- be used to trigger the card and other external equipment without the
-// ----- normal 1 clock jitter for external trigger events.
-void vSynchronizeExternalPulse (drv_handle hCard)
-    {
-    int64 llPulseGenClock = 0;
-    spcm_dwGetParam_i64 (hCard, SPC_XIO_PULSEGEN_CLOCK, &llPulseGenClock);
-
-    spcm_dwSetParam_i32 (hCard, SPCM_X2_MODE, SPCM_XMODE_ASYNCIN);  // we only need to set X2 to some kind of input, and ASYNCIN is available on all card series
-    spcm_dwSetParam_i32 (hCard, SPCM_X1_MODE, SPCM_XMODE_PULSEGEN); // enable pulse generator output on X1
-
-    int32 lLen_1ms    = static_cast < int32 > (llPulseGenClock * 0.001 + 1); // +1 because the HIGH area needs to be at least one sample less than length, so we increase length by one to get the calculated HIGH time
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN1_MODE,     SPCM_PULSEGEN_MODE_TRIGGERED);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN1_LEN,      lLen_1ms);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN1_HIGH,     lLen_1ms - 1);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN1_DELAY,    0);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN1_LOOPS,    1); // just once per event
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN1_MUX1_SRC, SPCM_PULSEGEN_MUX1_SRC_UNUSED);
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN1_MUX2_SRC, SPCM_PULSEGEN_MUX2_SRC_XIO2); // started by rising edge on X2
-
-    // arm the trigger detection for our selected pulse generator
-    spcm_dwSetParam_i32 (hCard, SPC_XIO_PULSEGEN_ENABLE, SPCM_PULSEGEN_ENABLE1);
-
-    // write the settings to the card
-    spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_CARD_WRITESETUP);
-    }
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    drv_handle  hCard;
-    int32       lCardType, lSerialNumber;
-    char        szName[50];
-
-    // ------------------------------------------------------------------------
-    // we try to open one card and printout some information on it
-
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    sprintf (szName, "/dev/spcm0");
-    // sprintf (szName, "TCPIP::192.168.1.10::inst0::INSTR");
-    hCard = spcm_hOpen (szName);
-
-    // not one card found
-    if (!hCard)
-        {
-        printf ("no card found...\n");
-        return 0;
-        }
-
-    // read out some info and print it
-    spcm_dwGetParam_i32 (hCard, SPC_PCITYP,            &lCardType);
-    spcm_dwGetParam_i32 (hCard, SPC_PCISERIALNO,       &lSerialNumber);
-    printf ("Found: %s sn %05d\n", szTypeToName (lCardType), lSerialNumber);
-
-    // pulse generators are not available on M2i and M3i cards
-    switch (lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M2ISERIES:
-        case TYP_M2IEXPSERIES:
-        case TYP_M3ISERIES:
-        case TYP_M3IEXPSERIES:
-            {
-            printf ("ERROR: pulse generators not available on this card\n");
-            return EXIT_FAILURE;
-            }
-        }
-
-    // on newer cards the availability depends on a (paid) feature
-    // so we check if this card has the pulse generator feature installed
-    int32 lFeatures = 0;
-    spcm_dwGetParam_i32 (hCard, SPC_PCIEXTFEATURES, &lFeatures);
-    if ((lFeatures & SPCM_FEAT_EXTFW_PULSEGEN) == 0)
-        {
-        printf ("ERROR: pulse generators not supported by this card\n");
-        return EXIT_FAILURE;
-        }
-
-    // first we set up the channel selection and the clock
-    // for this example we enable only one channel to be able to use max sampling rate on all card types
-    // ! changing the card settings while pulse generators are active causes a stop and restart of the pulse generators
-    spcm_dwSetParam_i32 (hCard, SPC_CHENABLE, CHANNEL0);
-    int64 llMaxSR = 0;
-    spcm_dwGetParam_i64 (hCard, SPC_PCISAMPLERATE, &llMaxSR);
-    spcm_dwSetParam_i64 (hCard, SPC_SAMPLERATE, llMaxSR);
-
-    // start the pulse generator
-    // uncomment one of the following function calls. Each will set up the pulse generators differently.
-    vSingleContinuousSignal (hCard);
-    //vMultipleContinuousSignals (hCard, lCardType);
-    //vCreateDelayedTriggerPulse (hCard);
-    //vSynchronizeExternalPulse (hCard);
-
-    // wait until user presses a key
-    printf ("\nPress a key to stop the pulse generator(s) ");
-    cGetch (); 
-
-    // stop the pulse generators
-    spcm_dwSetParam_i32(hCard, SPC_XIO_PULSEGEN_ENABLE, 0);
-    spcm_dwSetParam_i32(hCard, SPC_M2CMD, M2CMD_CARD_WRITESETUP);
-
-    spcm_vClose (hCard);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/pulse_generator/pulse_generator.vcxproj b/Cpp/examples/c_cpp/pulse_generator/pulse_generator.vcxproj
deleted file mode 100644
index 74156e098ac46477be88cb7805a8cb5c6d4ac73a..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/pulse_generator/pulse_generator.vcxproj
+++ /dev/null
@@ -1,262 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{AB068386-BB5C-4442-ACFF-B5D9A79C311A}</ProjectGuid>
-    <RootNamespace>rec_std_single</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="pulse_generator.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/pulse_generator/pulse_generator.vcxproj.filters b/Cpp/examples/c_cpp/pulse_generator/pulse_generator.vcxproj.filters
deleted file mode 100644
index b205ddc9ae3840c32931c6251cb19b32396b315b..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/pulse_generator/pulse_generator.vcxproj.filters
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="header">
-      <UniqueIdentifier>{bf104e1d-06e1-4c35-8340-89c3b22319b3}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="pulse_generator.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib" />
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/readme.txt b/Cpp/examples/c_cpp/readme.txt
deleted file mode 100644
index 3cc46e5e5147906c61714886b879cecfcb761e78..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/readme.txt
+++ /dev/null
@@ -1,205 +0,0 @@
-******************************************************************************
-
-spcm_drv_c - c/c++ examples for the Spectrum SpcM driver interface.
-
-******************************************************************************
-
-(c) Spectrum GmbH
-    Ahrensfelder Weg 13-17
-	22927 Grosshansdorf
-	Germany
-
-    www.spectrum-instrumentation.com
-
-******************************************************************************
-
-This readme file should give you an overview of the different examples and
-the content of the different directories.
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-The SpcMDrv C/C++ examples from Spectrum are only using general c commands
-and have been tested with Microsoft Visual C++, Borland C++ Builder under
-Windows and and gnu c++ under Linux. Each sub directory contains the source
-code of one example, Visual C++ and Borland C++ Builder project files and
-one or more makefiles for gnu c++.
-
-******************************************************************************
-
-directory c_header
------------------
-contains all the standard header and library files that are needed to
-access the driver. Please do not modify any of these files as they
-provide the link to the driver itself. Keep this directory updated
-with every driver update you get to have access to new features.
-
-file dlltyp.h:
-	defines standard types for different platforms and compiler. All our
-	examples only use these standard types to be sure to have a defined type
-	declaration. If using other C/C++ compilers than we you should make a copy
-	of this file and setup the type declatation matching the new C/C++
-	compiler.
-
-file regs.h:
-	defines all software registers. This file contains all software registers
-	for a couple of different cards and also for older driver versions. Please
-	stay to the manual to see which registers can be used with your card.
-
-file spcerr.h:
-	contains the error codes that the driver can return. Again inhere are also
-	error codes that are only used for other card types or for older driver
-	versions.
-
-file spcm_drv.h:
-	defines the driver interface of the SpcMDrv
-
-file spcm_win32_msvcpp.lib
-	Microsoft Visual C++ library file for 32 bit windows platforms
-
-file spcm_win32_bcppb.lib
-	Borland C++ Builder library file for 32 bit windows platforms
-
-All other files of this directory are not used with the SpcMDrv
-
-******************************************************************************
-
-
-
-directory common
-----------------
-This directory contains some c-files and header files that are used by all
-examples. These common source files mainly group driver acces functions to
-make the examples more simple to understand. Feel free to use the common
-functions for your own programs. All these functions are distributed "as is".
-
-******************************************************************************
-
-
-
-directory rec_std_single
-------------------------
-Example for acquistion cards using the standard singleshot mode.
-
-******************************************************************************
-
-
-
-directory rec_std_multi
------------------------
-Example for acquistion cards using the standard Multiple Recording mode. If
-timestamp is installed on the card the timestamps of each segment are also
-read and displayed.
-
-******************************************************************************
-
-
-
-directory rec_std_gate
-----------------------
-Example for acquisition cards using the standard Gated Sampling mode together
-with timestamps. Position and length of each gate segment is calculated and
-display and access to the gate segment is shown.
-
-******************************************************************************
-
-
-
-directory rec_fifo_single
--------------------------
-Examples for acquistion cards using the FIFO mode with continuous acquisition
-of data. Control of the data transfer is located in a thread. The examples show
-the buffer handling, data separation, calculation and writing of data to file
-
-******************************************************************************
-
-
-
-directory rec_fifo_multi
-------------------------
-Examples for acquisition cards using the FIFO mode with continuous acquisition
-of data and Multiple Recording option. If timestamp is also installed
-timestamps are recorded and can be also written to file. The examples shows
-the buffer handling (including timestamps buffer), data separation, calculation
-and writing of data to file
-
-******************************************************************************
-
-
-
-directory rec_fifo_aba
-------------------------
-Examples for acquisition cards using the FIFO mode with continuous acquisition
-of data, Multiple Recording option, ABA option and timestamp option. The
-examples shows the buffer handling with three totally independent working
-threads each responsible for one type of transfer. A fourth main thread
-is collecting results from the working threads and displays average and
-timestamp distance
-
-******************************************************************************
-
-
-
-directory rep_std_single
-------------------------
-Example for single replay modes. This example covers analog and digital output
-cards and allows to test single shots, continous output and single restart.
-The signal shape can be selected.
-
-******************************************************************************
-
-
-
-directory rep_sequence
-------------------------
-Example for sequence replay mode. This example covers analog and digital output
-cards and shows sequence replay mode as simple sequence and with sequence change
-at runtime.
-
-
-******************************************************************************
-
-
-directory rec_std_single_sync
----------------------
-Contains simple examples showing the synchronization of multiple cards with
-the star-hub. The examples only show the synchronization part without any
-further data processing.
-It also contains examples for usage of system star-hub.
-
-******************************************************************************
-
-
-
-directory dll_loading
----------------------
-The example shows how one can access the dll functions from a non supported
-C/C++ compiler. The example shows how to load a Windows library and how to
-access DLL functions without using a lib-file. However it is recommended to
-use a lib conversion tool that is normally included into the compiler to
-directly access the dll.
-
-
-
-directory netbox_embedded_server
---------------------------------
-This directory contains examples that show a client-server communication where 
-the netbox acts as server and the user's PC as client.
-Another example show how to send emails with acquired data using libcurl.
-
-
-
-directory sse
---------------------------------
-This directory contains some helpful functions that use SSE commands for
-higher speed.
-
-
-
-directory test
---------------------------------
-This directory contains several small tools for testing the cards.
diff --git a/Cpp/examples/c_cpp/rec_fifo_aba/makefile b/Cpp/examples/c_cpp/rec_fifo_aba/makefile
deleted file mode 100644
index 8160b6315c3f72b11ccee608ea48f407d8f37c1e..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_aba/makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-COMPILER =   g++
-EXECUTABLE = rec_fifo_aba_thread
-LIBS += -lspcm_linux -lpthread -lrt
-
-OBJECTS = \
-    rec_fifo_aba_thread.o\
-	../common/spcm_lib_card.o\
-	../common/spcm_lib_data.o\
-	../common/spcm_lib_thread.o\
-	../common/ostools/spcm_ostools_linux.o
-
-
-
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS) 
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.bpf b/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.bpf
deleted file mode 100644
index 5da88241fe8e80944de42def849bf4eab8f1f666..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.bpf
+++ /dev/null
@@ -1,3 +0,0 @@
-This file is used by the project manager only and should be treated like the project file
-
-
main 
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.bpr b/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.bpr
deleted file mode 100644
index acb7266e2ecfcf84b9cbdbd55241d03165c0da52..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.bpr
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<!-- C++Builder XML Project -->
-<PROJECT>
-  <MACROS>
-    <VERSION value="BCB.06.00"/>
-    <PROJECT value="rec_fifo_aba_thread.exe"/>
-    <OBJFILES value="rec_fifo_aba_thread.obj ..\common\spcm_lib_thread.obj 
-      ..\common\spcm_lib_card.obj ..\common\spcm_lib_data.obj 
-      ..\common\ostools\spcm_ostools_win.obj ..\sb5_file\sb5_file.obj"/>
-    <RESFILES value=""/>
-    <DEFFILE value=""/>
-    <RESDEPEN value="$(RESFILES)"/>
-    <LIBFILES value="..\c_header\spcm_win32_bcppb.lib"/>
-    <LIBRARIES value=""/>
-    <SPARELIBS value=""/>
-    <PACKAGES value="vcl.bpi rtl.bpi vclx.bpi bcbsmp.bpi dclocx.bpi"/>
-    <PATHCPP value=".;..\common;..\common;..\common;..\common\ostools;..\sb5_file"/>
-    <PATHPAS value=".;"/>
-    <PATHRC value=".;"/>
-    <PATHASM value=".;"/>
-    <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
-    <RELEASELIBPATH value="$(BCB)\lib\release"/>
-    <LINKER value="ilink32"/>
-    <USERDEFINES value="_DEBUG"/>
-    <SYSDEFINES value="NO_STRICT;_NO_VCL;_RTLDLL;USEPACKAGES"/>
-    <MAINSOURCE value="rec_fifo_aba_thread.bpf"/>
-    <INCLUDEPATH value="C:\svnwork\spcm_drv_c\sb5_file;C:\svnwork\spcm_drv_c\common\ostools;C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rec_fifo_aba_thread;$(BCB)\include;$(BCB)\include\vcl"/>
-    <LIBPATH value="C:\svnwork\spcm_drv_c\sb5_file;C:\svnwork\spcm_drv_c\common\ostools;C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rec_fifo_aba_thread;$(BCB)\lib\obj;$(BCB)\lib"/>
-    <WARNINGS value="-w-par"/>
-    <OTHERFILES value=""/>
-  </MACROS>
-  <OPTIONS>
-    <CFLAG1 value="-tWC -tWM -Od -H=$(BCB)\lib\vcl60.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v 
-      -vi- -c"/>
-    <PFLAGS value="-$YD -$W -$O- -$A8 -v -JPHNE -M"/>
-    <RFLAGS value=""/>
-    <AFLAGS value="/mx /w2 /zd"/>
-    <LFLAGS value="-Tpe -ap -D&quot;&quot; -x -Gn -v"/>
-    <OTHERFILES value=""/>
-  </OPTIONS>
-  <LINKER>
-    <ALLOBJ value="c0x32.obj $(PACKAGES) $(OBJFILES)"/>
-    <ALLRES value="$(RESFILES)"/>
-    <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mti.lib"/>
-    <OTHERFILES value=""/>
-  </LINKER>
-  <FILELIST>
-      <FILE FILENAME="rec_fifo_aba_thread.bpf" FORMNAME="" UNITNAME="rec_fifo_aba_thread" CONTAINERID="BPF" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="rec_fifo_aba_thread.cpp" FORMNAME="" UNITNAME="rec_fifo_aba_thread" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_thread.cpp" FORMNAME="" UNITNAME="spcm_lib_thread.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_card.cpp" FORMNAME="" UNITNAME="spcm_lib_card.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_data.cpp" FORMNAME="" UNITNAME="spcm_lib_data.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\c_header\spcm_win32_bcppb.lib" FORMNAME="" UNITNAME="spcm_win32_bcppb.lib" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\ostools\spcm_ostools_win.cpp" FORMNAME="" UNITNAME="spcm_ostools_win" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\sb5_file\sb5_file.cpp" FORMNAME="" UNITNAME="sb5_file" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-  </FILELIST>
-  <BUILDTOOLS>
-  </BUILDTOOLS>
-
-  <IDEOPTIONS>
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1031
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[Debugging]
-DebugSourceDirs=$(BCB)\source\vcl
-
-[Parameters]
-RunParams=
-Launcher=
-UseLauncher=0
-DebugCWD=
-HostApplication=
-RemoteHost=
-RemotePath=
-RemoteLauncher=
-RemoteCWD=
-RemoteDebug=0
-
-[Compiler]
-ShowInfoMsgs=0
-LinkDebugVcl=0
-  </IDEOPTIONS>
-</PROJECT>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.cpp b/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.cpp
deleted file mode 100644
index b9d376ac48c7939d4ad4278d1eb142e28d31b080..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.cpp
+++ /dev/null
@@ -1,429 +0,0 @@
-/*
-**************************************************************************
-
-rec_fifo_aba_thread.cpp                                  (c) Spectrum GmbH
-
-**************************************************************************
-
-this example supports all acquisition cards with the Multiple Recording,
-ABA and Timestamp option installed.
-
-Does a continous FIFO transfer in Multiple Recording mode and uses three
-threads to continuously read all three kinds of data:
-1) segment data is read and transferred data is simply counted
-2) ABA data is continuously read and averaged per block
-3) timestamps are continuously read and difference is calculated
-
-The main thread gets the current information, checks for an abort and
-displays the information of the three working threads
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-#include "../common/spcm_lib_thread.h"
-
-
-
-
-/*
-**************************************************************************
-Working routine data
-**************************************************************************
-*/
-
-struct ST_WORKDATA
-    {
-    SPCM_MUTEX_HANDLE   hMutexAccess;       // mutex to save the access to the shared display data
-
-    bool                bFirstDisplay;      // first display generates headlines
-    int32               lSegmentsize;       // segment size of Multiple Recording
-
-    int64               llDataTotal;        // total bytes that data thread has performed
-
-    int64               llTSTotal;          // total bytes that timestamp thread has performed
-    double              dTSDistance;        // timestamp distance (frequency of the signal)
-
-    int64               llABATotal;         // total bytes that ABA thread has performed
-    int16*              ppnChData[SPCM_MAX_AICHANNEL]; // channel data for splitted data
-    double              dABAAverage;        // current ABA average value
-    };
-
-
-
-/*
-**************************************************************************
-bDoCardSetup: setup matching the calculation routine
-**************************************************************************
-*/
-
-bool bDoCardSetup (ST_WORKDATA* pstWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    int     i;
-
-    // we first setup the working data
-    memset (pstWorkData, 0, sizeof(ST_WORKDATA));
-    spcm_bCreateMutex (&pstWorkData->hMutexAccess);
-    pstWorkData->lSegmentsize = KILO_B(4);              // segment size
-    pstWorkData->llDataTotal =  0;
-    pstWorkData->llTSTotal =    0;
-    pstWorkData->llABATotal =   0;
-    pstWorkData->dTSDistance =  0.0;
-    pstWorkData->dABAAverage =  0.0;
-    pstWorkData->bFirstDisplay =true;
-
-
-    // define the buffer sizes and the notify size that we want
-    pstBufferData->dwTSBufLen =     MEGA_B(1);
-    pstBufferData->dwTSNotify =     KILO_B(4);
-    pstBufferData->dwDataBufLen =   MEGA_B(8);
-    pstBufferData->dwDataNotify =   pstWorkData->lSegmentsize * pstBufferData->pstCard->lSetChannels * pstBufferData->pstCard->lBytesPerSample;
-    pstBufferData->dwABABufLen =    MEGA_B(1);
-    pstBufferData->dwABANotify =    KILO_B(4);
-
-
-    // allocate memory for our sorted channel date for the ABA averaging
-    for (i=0; i<pstBufferData->pstCard->lSetChannels; i++)
-        pstWorkData->ppnChData[i] = new int16[pstBufferData->dwABANotify / pstBufferData->pstCard->lSetChannels];
-
-
-    // we try to set the samplerate to 1 MHz (M2i) or 20 MHz (M3i) on internal PLL, no clock output
-    // increase this to test the read-out-after-overrun
-    if (pstBufferData->pstCard->bM2i)
-        bSpcMSetupClockPLL (pstBufferData->pstCard, MEGA(1), false);
-    else if (pstBufferData->pstCard->bM2p)
-        bSpcMSetupClockPLL (pstBufferData->pstCard, MEGA(10), false);
-    else if (pstBufferData->pstCard->bM3i || pstBufferData->pstCard->bM4i || pstBufferData->pstCard->bM5i)
-        bSpcMSetupClockPLL (pstBufferData->pstCard, MEGA(20), false);
-    printf ("Sampling rate set to %.1lf MHz\n", (double) pstBufferData->pstCard->llSetSamplerate / MEGA(1));
-
-    // we only enable 1 channel for the example and set the ABA divider to 128
-    bSpcMSetupModeRecFIFOABA (pstBufferData->pstCard, CHANNEL0, pstWorkData->lSegmentsize, pstWorkData->lSegmentsize - 128, 128);
-
-
-    // we set external trigger for multiple recording
-    if (pstBufferData->pstCard->bM2i)
-        bSpcMSetupTrigExternal (pstBufferData->pstCard, SPC_TM_POS, false, 0);
-    else // M3i, M4i, M4x, M2p
-        bSpcMSetupTrigExternalLevel (pstBufferData->pstCard, SPC_TM_POS, 1500, 800, false);
-
-    // type dependent card setup
-    switch (pstBufferData->pstCard->eCardFunction)
-        {
-
-        // analog acquisition card setup
-        case AnalogIn:
-
-            // program all input channels to +/-1 V and 50 ohm termination (if it's available)
-            if (pstBufferData->pstCard->bM2i || pstBufferData->pstCard->bM2p)
-                {
-                for (i=0; i < pstBufferData->pstCard->lMaxChannels; i++)
-                    bSpcMSetupInputChannel (pstBufferData->pstCard, i, 1000, true);
-                }
-            else
-                {
-                bool bTerm           = true;
-                bool bACCoupling     = false;
-                bool bBandwidthLimit = false;
-                for (i=0; i < pstBufferData->pstCard->lMaxChannels; i++)
-                    bSpcMSetupPathInputCh (pstBufferData->pstCard, i, 0, 1000, 0, bTerm, bACCoupling, bBandwidthLimit);
-                }
-            break;
-
-        // digital acquisition card setup
-        case DigitalIn:
-        case DigitalIO:
-            printf ("Not yet implemented\n");
-            return false;
-            break;
-        }
-
-    // set up the timestamp mode to standard if timestamp is installed
-    bSpcMSetupTimestamp (pstBufferData->pstCard, SPC_TSMODE_STANDARD | SPC_TSCNT_INTERNAL, 0);
-
-    return pstBufferData->pstCard->bSetError;
-    }
-
-
-
-/*
-**************************************************************************
-bWorkDo: cares for the sample data: just counts them in our example
-**************************************************************************
-*/
-
-bool bWorkDo (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA*    pstWorkData = (ST_WORKDATA*) pvWorkData;
-
-    // count the data that has been transferred and set the calculated average
-    spcm_vGetMutex (&pstWorkData->hMutexAccess);
-    pstWorkData->llDataTotal += pstBufferData->llDataAvailBytes;
-    spcm_vReleaseMutex (&pstWorkData->hMutexAccess);
-
-    return true;
-    }
-
-
-
-/*
-**************************************************************************
-bTSWorkDo: as we get several timestamps at once we add the differences and
-           calc an average of these
-**************************************************************************
-*/
-
-bool bTSWorkDo (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA*    pstWorkData = (ST_WORKDATA*) pvWorkData;
-    double          dDiff = 0.0;
-    uint64*         pqwTimestamps = (uint64*) pstBufferData->pvTSCurrentBuf;
-    uint32          dwTimestampSize = 1; // size of timestamp in uint64
-    int32           lOversampling = 1;
-
-    // M2i and M3i work with 1 x 64 bit timestamps and oversampling while M4i works with 2 x 64 bit and without oversampling
-    if (pstBufferData->pstCard->bM2i || pstBufferData->pstCard->bM3i)
-        {
-        dwTimestampSize = 1;
-        lOversampling = pstBufferData->pstCard->lOversampling;
-        }
-    else if (pstBufferData->pstCard->bM4i || pstBufferData->pstCard->bM2p || pstBufferData->pstCard->bM5i)
-        {
-        dwTimestampSize = 2;
-        lOversampling = 1;
-        }
-
-    // work only with complete timestamps = 8 bytes (the possible half one
-    // is automatically used at the next time the function is called)
-    pstBufferData->llTSAvailBytes &= ~0x07;
-
-    // each timestamp is 64/128 bit = 8/16 bytes, depending on card series (see above)
-    if ((pstBufferData->llTSAvailBytes / (dwTimestampSize * 8)) > 1)
-        {
-        for (uint32 i=dwTimestampSize; i < (pstBufferData->llTSAvailBytes / (dwTimestampSize * (dwTimestampSize * 8))); i++)
-            dDiff += (double) ((int64) (pqwTimestamps[i] - pqwTimestamps[i - dwTimestampSize]));
-        dDiff /= pstBufferData->pstCard->llSetSamplerate / lOversampling;
-        dDiff /= (pstBufferData->llTSAvailBytes / (dwTimestampSize * 8) - 1);
-        }
-
-    // count the data that has been transferred and set the calculated average
-    spcm_vGetMutex (&pstWorkData->hMutexAccess);
-    pstWorkData->llTSTotal += pstBufferData->llTSAvailBytes;
-    pstWorkData->dTSDistance = dDiff;
-    spcm_vReleaseMutex (&pstWorkData->hMutexAccess);
-
-    return true;
-    }
-
-
-
-/*
-**************************************************************************
-bABAWorkDo: we calc the average of channel 0.
-**************************************************************************
-*/
-
-bool bABAWorkDo (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA*    pstWorkData = (ST_WORKDATA*) pvWorkData;
-    double          dAverage = 0.0;
-
-    // we inhere limit the length if data to proceed to our defined notify size as we allocated the channel data buffer in this size
-    uint32 dwABAAvailBytes = (uint32) pstBufferData->llABAAvailBytes;
-    if (dwABAAvailBytes > pstBufferData->dwABANotify)
-        dwABAAvailBytes = pstBufferData->dwABANotify;
-    pstBufferData->llABAAvailBytes = dwABAAvailBytes;
-
-    // split the data and calculate the average of channel 0
-    if (pstBufferData->pstCard->lBytesPerSample == 1)
-        bSpcMDemuxAnalogData (pstBufferData->pstCard, (int8*)pstBufferData->pvABACurrentBuf, dwABAAvailBytes / pstBufferData->pstCard->lBytesPerSample, pstWorkData->ppnChData);
-    else
-        bSpcMDemuxAnalogData (pstBufferData->pstCard, (int16*)pstBufferData->pvABACurrentBuf, dwABAAvailBytes / pstBufferData->pstCard->lBytesPerSample, pstWorkData->ppnChData);
-    dAverage = dSpcMIntToVoltage (pstBufferData->pstCard, 0, dSpcMCalcAverage (pstWorkData->ppnChData[0], dwABAAvailBytes / pstBufferData->pstCard->lBytesPerSample / pstBufferData->pstCard->lSetChannels));
-
-    // count the data that has been transferred and set the calculated average
-    spcm_vGetMutex (&pstWorkData->hMutexAccess);
-    pstWorkData->llABATotal += pstBufferData->llABAAvailBytes;
-    pstWorkData->dABAAverage = dAverage;
-    spcm_vReleaseMutex (&pstWorkData->hMutexAccess);
-
-    return true;
-    }
-
-
-
-/*
-**************************************************************************
-vABAClean: we delete our channel data object
-**************************************************************************
-*/
-
-void vABAClean (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA*    pstWorkData = (ST_WORKDATA*) pvWorkData;
-    int             i;
-
-    for (i=0; i<pstBufferData->pstCard->lSetChannels; i++)
-        delete (pstWorkData->ppnChData[i]);
-    }
-
-
-/*
-**************************************************************************
-Abort function: is called on every update, checks for an abort and display
-the results of all threads
-**************************************************************************
-*/
-
-bool bAbortCheckAndDisplay (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA*    pstWorkData = (ST_WORKDATA*) pvWorkData;
-
-    // print the headline if it's the first display
-    if (pstWorkData->bFirstDisplay)
-        {
-        pstWorkData->bFirstDisplay = false;
-
-        printf ("\n\n");
-        printf ("******************************************************************\n");
-        printf ("Data: transferred sample data in MByte\n");
-        printf ("ABA:  transferred slow ABA data in MByte (current average of ch0)\n");
-        printf ("TS:   transferred timestamps in MByte (average distance in block)\n");
-        printf ("******************************************************************\n");
-        }
-
-    // do the display, secured by mutex as it's shared data between the three working threads and the main thread
-    spcm_vGetMutex (&pstWorkData->hMutexAccess);
-    printf ("\rData:%.3fM   ABA:%.3fM (Av:%.3f mV)   TS: %.3fM (%.3f ms)",
-        (double) pstWorkData->llDataTotal / MEGA_B(1),
-        (double) pstWorkData->llABATotal / MEGA_B(1),
-        pstWorkData->dABAAverage * KILO(1),
-        (double) pstWorkData->llTSTotal / MEGA_B(1),
-        pstWorkData->dTSDistance * KILO(1));
-    spcm_vReleaseMutex (&pstWorkData->hMutexAccess);
-
-    // check for abort
-    if (bKbhit())
-        if (cGetch() == 27)
-            return true;
-
-    return false;
-    }
-
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO    stCard;             // info structure of my card
-    ST_WORKDATA         stWorkData;
-    ST_BUFFERDATA       stBufferData;       // buffer and start information
-
-    // ------------------------------------------------------------------------
-    // init card number 0 (the first card in the system), get some information and print it
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    if (bSpcMInitCardByIdx (&stCard, 0))
-    //if (bSpcMInitCardByIdx (&stCard, "192.168.1.10", 0))
-        {
-        printf (pszSpcMPrintDocumentationLink (&stCard, szBuffer, sizeof (szBuffer)));
-        printf (pszSpcMPrintCardInfo (&stCard, szBuffer, sizeof (szBuffer)));
-        }
-    else
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Could not open card\n", true);
-
-    memset (&stBufferData, 0, sizeof(stBufferData));
-    stBufferData.pstCard = &stCard;
-
-
-    // check whether we support this card type in the example
-    if ((stCard.eCardFunction != AnalogIn) && (stCard.eCardFunction != DigitalIn) && (stCard.eCardFunction != DigitalIO))
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Card function not supported by this example\n", false);
-    if ((stCard.lFeatureMap & SPCM_FEAT_MULTI) == 0)
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Multiple Recording Option not installed. This example needs the option\n", false);
-    if ((stCard.lFeatureMap & SPCM_FEAT_ABA) == 0)
-        return nSpcMErrorMessageStdOut (&stCard, "Error: ABA Option not installed. This example needs the option\n", false);
-    if ((stCard.lFeatureMap & SPCM_FEAT_TIMESTAMP) == 0)
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Timestamp Option not installed. This example needs the option\n", false);
-
-
-    // ------------------------------------------------------------------------
-    // do the card setup, error is routed in the structure so we don't care for the return values
-    if (!stCard.bSetError)
-        bDoCardSetup (&stWorkData, &stBufferData);
-
-
-
-    // ------------------------------------------------------------------------
-    // some additional information on the acquisition
-    if (!stCard.bSetError)
-        {
-        printf ("\nData information:\n=================\n");
-        printf ("Each segment is %.3f ms long\n", 1000.0 * stWorkData.lSegmentsize / stCard.llSetSamplerate);
-        printf ("Maximum pulse repetition frequency to reach with this setting is %.2f Hz\n", (double) stCard.llSetSamplerate / stWorkData.lSegmentsize);
-        }
-
-
-
-    // ------------------------------------------------------------------------
-    // setup the data transfer and start it
-    stBufferData.bStartCard =       true;
-    stBufferData.bStartData =       true;
-    stBufferData.bStartABA =        true;
-    stBufferData.bStartTimestamp =  true;
-
-    // start the threaded loop (10.000 ms = 10 s timeout)
-    stBufferData.lTimeout =         KILO(10);
-    if (!stCard.bSetError)
-        vDoThreadMainLoop (
-            &stBufferData,          // related buffer data
-            &stWorkData,            // related work data
-            NULL,                   // data thread setup routine
-            bWorkDo,                // data thread work routine
-            NULL,                   // data thread close routine
-            bAbortCheckAndDisplay,  // abort routine (and display)
-            true,                   // use seperate threads for all transfers
-            NULL,                   // timestamp setup routine
-            bTSWorkDo,              // timestamp work routine
-            NULL,                   // timestamp close routine
-            NULL,                   // ABA setup routine
-            bABAWorkDo,             // ABA work routine
-            vABAClean);             // AVA close routine
-
-
-    // ------------------------------------------------------------------------
-    // print error information if an error occured
-    if (stCard.bSetError)
-        return nSpcMErrorMessageStdOut (&stCard, "An error occured while programming the card:\n", true);
-
-
-    // clean up and close the driver
-    vSpcMCloseCard (&stCard);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.dsp b/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.dsp
deleted file mode 100644
index 0dafa88250046af9da9b3c1467c7df976a787761..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.dsp
+++ /dev/null
@@ -1,156 +0,0 @@
-# Microsoft Developer Studio Project File - Name="rec_fifo_aba_thread" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** NICHT BEARBEITEN **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=rec_fifo_aba_thread - Win32 Debug
-!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
-!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_fifo_aba_thread.mak".
-!MESSAGE 
-!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
-!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_fifo_aba_thread.mak" CFG="rec_fifo_aba_thread - Win32 Debug"
-!MESSAGE 
-!MESSAGE Für die Konfiguration stehen zur Auswahl:
-!MESSAGE 
-!MESSAGE "rec_fifo_aba_thread - Win32 Release" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE "rec_fifo_aba_thread - Win32 Debug" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "rec_fifo_aba_thread - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "rec_fifo_aba_thread - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "rec_fifo_aba_thread - Win32 Release"
-# Name "rec_fifo_aba_thread - Win32 Debug"
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_thread.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools_win.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Group "header"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\sb5_file\sb5_file.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_thread.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_oswrap.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\rec_fifo_aba_thread.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.dsw b/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.dsw
deleted file mode 100644
index 1cf1838826b1a4205dee426f90835647f6444e47..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNUNG: DIESE ARBEITSBEREICHSDATEI DARF NICHT BEARBEITET ODER GELÖSCHT WERDEN!
-
-###############################################################################
-
-Project: "rec_fifo_aba_thread"=.\rec_fifo_aba_thread.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.vcproj b/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.vcproj
deleted file mode 100644
index a09cd67a263b84879f18a77db55808efd721c597..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.vcproj
+++ /dev/null
@@ -1,654 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rec_fifo_aba_thread"
-	ProjectGUID="{6F35D51E-D99C-4C59-AA24-D4A28FFAF48E}"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rec_fifo_aba_thread.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_fifo_aba_thread.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_fifo_aba_thread.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_fifo_aba_thread.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_fifo_aba_thread.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rec_fifo_aba_thread.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_fifo_aba_thread.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_fifo_aba_thread.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_fifo_aba_thread.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_fifo_aba_thread.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rec_fifo_aba_thread.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_fifo_aba_thread.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_fifo_aba_thread.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_fifo_aba_thread.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_fifo_aba_thread.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rec_fifo_aba_thread.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_fifo_aba_thread.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_fifo_aba_thread.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_fifo_aba_thread.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_fifo_aba_thread.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_thread.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="header"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\sb5_file\sb5_file.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_thread.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath="rec_fifo_aba_thread.cpp"
-			>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.vcxproj b/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.vcxproj
deleted file mode 100644
index b6c19f44176d39b1f480ae2f0d1f4d176b8de562..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.vcxproj
+++ /dev/null
@@ -1,268 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{6F35D51E-D99C-4C59-AA24-D4A28FFAF48E}</ProjectGuid>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_fifo_aba_thread.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_fifo_aba_thread.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_fifo_aba_thread.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_fifo_aba_thread.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_fifo_aba_thread.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_fifo_aba_thread.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_fifo_aba_thread.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_fifo_aba_thread.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_fifo_aba_thread.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_fifo_aba_thread.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_fifo_aba_thread.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_fifo_aba_thread.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_fifo_aba_thread.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_fifo_aba_thread.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_fifo_aba_thread.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_fifo_aba_thread.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="..\common\spcm_lib_thread.cpp" />
-    <ClCompile Include="rec_fifo_aba_thread.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\common\spcm_lib_thread.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-    <ClInclude Include="..\sb5_file\sb5_file.h" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.vcxproj.filters b/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.vcxproj.filters
deleted file mode 100644
index 890efdc6e0f81cc4534fda2aff22320a458e4e69..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_aba/rec_fifo_aba_thread.vcxproj.filters
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="common">
-      <UniqueIdentifier>{7bd83fcb-d389-475d-ad33-3bbc2c93faed}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="header">
-      <UniqueIdentifier>{43002cc5-acfe-4d69-9e60-8264446c2949}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_thread.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="rec_fifo_aba_thread.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\sb5_file\sb5_file.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_thread.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>common</Filter>
-    </Library>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_gate/makefile b/Cpp/examples/c_cpp/rec_fifo_gate/makefile
deleted file mode 100644
index b2f6e28f4eb15b71e43cdef893ce8664d7075114..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_gate/makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-COMPILER =   g++
-EXECUTABLE = rec_fifo_gate
-LIBS += -lspcm_linux -lpthread -lrt
-
-OBJECTS = \
-    rec_fifo_gate.o\
-	../common/spcm_lib_card.o\
-	../common/spcm_lib_data.o\
-	../common/spcm_lib_thread.o\
-	../sb5_file/sb5_file.o\
-	../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS) 
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.bpf b/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.bpf
deleted file mode 100644
index 5da88241fe8e80944de42def849bf4eab8f1f666..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.bpf
+++ /dev/null
@@ -1,3 +0,0 @@
-This file is used by the project manager only and should be treated like the project file
-
-
main 
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.bpr b/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.bpr
deleted file mode 100644
index be1c584b6bc0fc06b516ab3ac5bf136da14c0c2f..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.bpr
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<!-- C++Builder XML Project -->
-<PROJECT>
-  <MACROS>
-    <VERSION value="BCB.06.00"/>
-    <PROJECT value="rec_fifo_gate.exe"/>
-    <OBJFILES value="rec_multi_binaryfile.obj ..\common\spcm_lib_thread.obj 
-      ..\common\spcm_lib_card.obj ..\common\spcm_lib_data.obj 
-      ..\common\ostools\spcm_ostools_win.obj ..\sb5_file\sb5_file.obj"/>
-    <RESFILES value=""/>
-    <DEFFILE value=""/>
-    <RESDEPEN value="$(RESFILES)"/>
-    <LIBFILES value="..\c_header\spcm_win32_bcppb.lib"/>
-    <LIBRARIES value=""/>
-    <SPARELIBS value=""/>
-    <PACKAGES value="vcl.bpi rtl.bpi vclx.bpi bcbsmp.bpi dclocx.bpi"/>
-    <PATHCPP value=".;..\common;..\common;..\common;..\common\ostools;..\sb5_file"/>
-    <PATHPAS value=".;"/>
-    <PATHRC value=".;"/>
-    <PATHASM value=".;"/>
-    <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
-    <RELEASELIBPATH value="$(BCB)\lib\release"/>
-    <LINKER value="ilink32"/>
-    <USERDEFINES value="_DEBUG"/>
-    <SYSDEFINES value="NO_STRICT;_NO_VCL;_RTLDLL;USEPACKAGES"/>
-    <MAINSOURCE value="rec_fifo_gate.bpf"/>
-    <INCLUDEPATH value="C:\svnwork\spcm_drv_c\sb5_file;C:\svnwork\spcm_drv_c\common\ostools;C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rec_fifo_gate;$(BCB)\include;$(BCB)\include\vcl"/>
-    <LIBPATH value="C:\svnwork\spcm_drv_c\sb5_file;C:\svnwork\spcm_drv_c\common\ostools;C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rec_fifo_gate;$(BCB)\lib\obj;$(BCB)\lib"/>
-    <WARNINGS value="-w-par"/>
-    <OTHERFILES value=""/>
-  </MACROS>
-  <OPTIONS>
-    <CFLAG1 value="-tWC -tWM -Od -H=$(BCB)\lib\vcl60.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v 
-      -vi- -c"/>
-    <PFLAGS value="-$YD -$W -$O- -$A8 -v -JPHNE -M"/>
-    <RFLAGS value=""/>
-    <AFLAGS value="/mx /w2 /zd"/>
-    <LFLAGS value="-Tpe -ap -D&quot;&quot; -x -Gn -v"/>
-    <OTHERFILES value=""/>
-  </OPTIONS>
-  <LINKER>
-    <ALLOBJ value="c0x32.obj $(PACKAGES) $(OBJFILES)"/>
-    <ALLRES value="$(RESFILES)"/>
-    <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mti.lib"/>
-    <OTHERFILES value=""/>
-  </LINKER>
-  <FILELIST>
-      <FILE FILENAME="rec_fifo_gate.bpf" FORMNAME="" UNITNAME="rec_fifo_gate" CONTAINERID="BPF" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="rec_multi_binaryfile.cpp" FORMNAME="" UNITNAME="rec_multi_binaryfile" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_thread.cpp" FORMNAME="" UNITNAME="spcm_lib_thread.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_card.cpp" FORMNAME="" UNITNAME="spcm_lib_card.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_data.cpp" FORMNAME="" UNITNAME="spcm_lib_data.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\c_header\spcm_win32_bcppb.lib" FORMNAME="" UNITNAME="spcm_win32_bcppb.lib" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\ostools\spcm_ostools_win.cpp" FORMNAME="" UNITNAME="spcm_ostools_win" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\sb5_file\sb5_file.cpp" FORMNAME="" UNITNAME="sb5_file" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-  </FILELIST>
-  <BUILDTOOLS>
-  </BUILDTOOLS>
-
-  <IDEOPTIONS>
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1031
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[Debugging]
-DebugSourceDirs=$(BCB)\source\vcl
-
-[Parameters]
-RunParams=
-Launcher=
-UseLauncher=0
-DebugCWD=
-HostApplication=
-RemoteHost=
-RemotePath=
-RemoteLauncher=
-RemoteCWD=
-RemoteDebug=0
-
-[Compiler]
-ShowInfoMsgs=0
-LinkDebugVcl=0
-  </IDEOPTIONS>
-</PROJECT>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.cpp b/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.cpp
deleted file mode 100644
index e5caa684c80e49827111490fc93a20af10dffd08..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.cpp
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
-**************************************************************************
-
-rec_fifo_gate.cpp                                       (c) Spectrum GmbH
-
-**************************************************************************
-
-this example supports all acquisition cards with the option gated sampling
-installed. If timestamp is installed the timestamps are also
-read.
-
-Does a continous FIFO transfer and examines the gates length. Data itself 
-isnot touched.
-
-Change the global flag g_bThread to use the threaded version or the plain
-and more simple loop.
-  
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-#include "../common/spcm_lib_thread.h"
-
-
-// ----- this is the global thread flag that defines whether we use the thread or non-thread loop -----
-bool g_bThread = true;
-
-
-
-/*
-**************************************************************************
-Working routine data
-**************************************************************************
-*/
-
-struct ST_WORKDATA
-    {
-    int32       lPreSamples;
-    int32       lPostSamples;
-    int64       llGatesRead;
-    };
-
-
-
-/*
-**************************************************************************
-bDoCardSetup: setup matching the calculation routine
-**************************************************************************
-*/
-
-bool bDoCardSetup (ST_WORKDATA* pstWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    int     i;
-
-    pstWorkData->lPreSamples  = 32;
-    pstWorkData->lPostSamples = 32;
-
-    // we try to set the samplerate to 1 MHz on internal PLL, no clock output
-    // we try to set the samplerate to 1 MHz (M2i) or 20 MHz (M3i) on internal PLL, no clock output
-    // increase this to test the read-out-after-overrun
-    if (pstBufferData->pstCard->bM2i)
-        bSpcMSetupClockPLL (pstBufferData->pstCard, MEGA(1), false);
-    else if (pstBufferData->pstCard->bM2p)
-        bSpcMSetupClockPLL (pstBufferData->pstCard, MEGA(10), false);
-    else if (pstBufferData->pstCard->bM3i || pstBufferData->pstCard->bM4i)
-        bSpcMSetupClockPLL (pstBufferData->pstCard, MEGA(20), false);
-    printf ("Sampling rate set to %.1lf MHz\n", (double) pstBufferData->pstCard->llSetSamplerate / MEGA(1));
-
-    // we set external trigger high gate for gated sampling
-    bSpcMSetupTrigExternal (pstBufferData->pstCard, SPC_TM_POS, false, 0);
-
-    // type dependent card setup
-    switch (pstBufferData->pstCard->eCardFunction)
-        {
-
-        // analog acquisition card setup
-        case AnalogIn:
-            
-            // we only enable 1 channel for the example
-            bSpcMSetupModeRecFIFOGate (pstBufferData->pstCard, CHANNEL0, pstWorkData->lPreSamples, pstWorkData->lPostSamples, 0);
-
-            // program all input channels to +/-1 V and 50 ohm termination (if it's available)
-            for (i=0; i < pstBufferData->pstCard->lMaxChannels; i++)
-                bSpcMSetupInputChannel (pstBufferData->pstCard, i, 1000, true);
-            break;
-
-        // digital acquisition card setup
-        case DigitalIn:
-        case DigitalIO:
-            
-            // we enable 16 channels
-            bSpcMSetupModeRecFIFOGate (pstBufferData->pstCard, 0xffff, pstWorkData->lPreSamples, pstWorkData->lPostSamples, 0);
-
-            // set all input channel groups to 110 ohm termination (if it's available)
-            for (i=0; i < pstBufferData->pstCard->uCfg.stDIO.lGroups; i++)
-                bSpcMSetupDigitalInput (pstBufferData->pstCard, i, true);
-            break;
-        }
-
-    // set up the timestamp mode to standard if timestamp is installed
-    if (pstBufferData->bStartTimestamp)
-        bSpcMSetupTimestamp (pstBufferData->pstCard, SPC_TSMODE_STANDARD | SPC_TSCNT_INTERNAL, 0);
-
-    return pstBufferData->pstCard->bSetError;
-    }
-
-
-
-/*
-**************************************************************************
-Setup working routine
-**************************************************************************
-*/
-
-bool bWorkSetup (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA* pstWorkData = (ST_WORKDATA*) pvWorkData;
-
-    // setup for the transfer, to avoid overrun one may use even larger data blocks
-    pstBufferData->dwDataBufLen =   MEGA_B(8);
-    pstBufferData->dwDataNotify =   KILO_B(512);
-    pstBufferData->dwTSBufLen =     MEGA_B(1);
-    pstBufferData->dwTSNotify =     KILO_B(4);
-
-    // setup for the work
-    pstWorkData->llGatesRead = 0;
-
-    return true;
-    }
-
-
-
-/*
-**************************************************************************
-bWorkDo: get data and examine the gate intervals
-**************************************************************************
-*/
-
-bool bWorkDo (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA*    pstWorkData = (ST_WORKDATA*) pvWorkData;
-
-    // read the timestamps, count them and calculate the gate length
-    uint64 qwTSAvail = pstBufferData->llTSAvailBytes;
-    uint64 qwTimestampAverageDiff = 0;
-    uint64 qwGates = 0;
-    uint32 dwTimestampBytes;
-
-    // ----- M2i+M3i timestamps are 64 bit, M4i/M4x and M2p 128 bit -----
-    dwTimestampBytes = 0;
-    if (pstBufferData->pstCard->bM2i || pstBufferData->pstCard->bM3i)
-        dwTimestampBytes = 8;
-    else if (pstBufferData->pstCard->bM4i || pstBufferData->pstCard->bM2p || pstBufferData->pstCard->bM5i)
-        dwTimestampBytes = 16;
-
-    // we measure the timestamp diff (gate length) and calc an average
-    while (qwTSAvail >= (2 * dwTimestampBytes))
-        {
-        uint64* pqwTimestamp1 = (uint64*)  pstBufferData->pvTSCurrentBuf;
-        uint64* pqwTimestamp0 = ((uint64*) (((char*)pstBufferData->pvTSCurrentBuf) + dwTimestampBytes));
-        uint64  qwDiff = (*pqwTimestamp1) - (*pqwTimestamp0);
-
-        // the timestamps only record the "real world" trigger, we have to add pre- and post manually
-        qwDiff += pstWorkData->lPreSamples + pstWorkData->lPostSamples;
-
-        // next gate timestamp pair
-        pstWorkData->llGatesRead++;
-        qwTimestampAverageDiff += qwDiff;
-        qwTSAvail -= (2 * dwTimestampBytes);
-        qwGates++;
-        pstBufferData->pvTSCurrentBuf  =    (void*) (((char*) pstBufferData->pvTSCurrentBuf) + (2 * dwTimestampBytes));
-        }
-
-    // subtract the bytes that we've not used so far as we still need the rest next time
-    pstBufferData->llTSAvailBytes -=    qwTSAvail;    
-
-    // this would also be the position to do something with the data
-    // TO DO
-
-    // print the status
-    if (qwGates)
-        {
-        qwTimestampAverageDiff /= qwGates;
-        printf ("\r%.2f MSamples transferred %d Gate Segments, Average Gate Len = %.3f ms\n", (double) pstBufferData->qwDataTransferred / pstBufferData->pstCard->lBytesPerSample / 1024.0 / 1024.0,  (uint32) pstWorkData->llGatesRead, 1000.0 * ((uint32) qwTimestampAverageDiff) / pstBufferData->pstCard->llSetSamplerate);
-        }
-    else
-        printf ("\r%.2f MSamples transferred %d Gate Segments\n", (double) pstBufferData->qwDataTransferred / pstBufferData->pstCard->lBytesPerSample / 1024.0 / 1024.0,  (uint32) pstWorkData->llGatesRead);
-    
-    return true;
-    }
-
-
-
-
-/*
-**************************************************************************
-main 
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO    stCard;             // info structure of my card
-    ST_WORKDATA         stWorkData;
-    ST_BUFFERDATA       stBufferData;       // buffer and start information
-
-    // ------------------------------------------------------------------------
-    // init card number 0 (the first card in the system), get some information and print it
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    if (bSpcMInitCardByIdx (&stCard, 0))
-    //if (bSpcMInitCardByIdx (&stCard, "192.168.1.10", 0))
-        {
-        printf (pszSpcMPrintDocumentationLink (&stCard, szBuffer, sizeof (szBuffer)));
-        printf (pszSpcMPrintCardInfo (&stCard, szBuffer, sizeof (szBuffer)));
-        }
-    else
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Could not open card\n", true);
-
-    memset (&stBufferData, 0, sizeof(stBufferData));
-    stBufferData.pstCard = &stCard;
-
-
-    // check whether we support this card type in the example
-    if ((stCard.eCardFunction != AnalogIn) && (stCard.eCardFunction != DigitalIn) && (stCard.eCardFunction != DigitalIO))
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Card function not supported by this example\n", false);
-    if ((stCard.lFeatureMap & SPCM_FEAT_GATE) == 0)
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Gated Sampling Option not installed. Examples was done especially for this option!\n", false);
-
-    // set a flag if timestamp is installed
-    stBufferData.bStartTimestamp = ((stCard.lFeatureMap & SPCM_FEAT_TIMESTAMP) != 0);
-
-
-
-    // ------------------------------------------------------------------------
-    // do the card setup, error is routed in the structure so we don't care for the return values
-    if (!stCard.bSetError)
-        bDoCardSetup (&stWorkData, &stBufferData);
-
-
-
-    // ------------------------------------------------------------------------
-    // setup the data transfer and start it
-    stBufferData.bStartCard =       true;
-    stBufferData.bStartData =       true;
-    stBufferData.bStartTimestamp =  ((stCard.lFeatureMap & SPCM_FEAT_TIMESTAMP) != 0);
-
-    // start the threaded loop
-    stBufferData.lTimeout =         5000;
-    if (!stCard.bSetError && g_bThread)
-        vDoThreadMainLoop (&stBufferData, &stWorkData, bWorkSetup, bWorkDo, NULL, bKeyAbortCheck);
-
-    // this is the non threaded loop, we use a small timeout of 100 ms here as we otherwise won't return from the loop if no dat is coming
-    stBufferData.lTimeout =         100;
-    if (!stCard.bSetError && !g_bThread)
-        vDoMainLoop (&stBufferData, &stWorkData, bWorkSetup, bWorkDo, NULL, bKeyAbortCheck);
-
-
-
-    // ------------------------------------------------------------------------
-    // print error information if an error occured
-    if (stCard.bSetError)
-        return nSpcMErrorMessageStdOut (&stCard, "An error occured while programming the card:\n", true);
-
-
-    // clean up and close the driver
-    vSpcMCloseCard (&stCard);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.dsp b/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.dsp
deleted file mode 100644
index 060915758ac598cba1d20de29e46ccf917bdc9cd..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.dsp
+++ /dev/null
@@ -1,156 +0,0 @@
-# Microsoft Developer Studio Project File - Name="rec_fifo_gate" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=rec_fifo_gate - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_fifo_gate.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_fifo_gate.mak" CFG="rec_fifo_gate - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "rec_fifo_gate - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "rec_fifo_gate - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "rec_fifo_gate - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "rec_fifo_gate - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "rec_fifo_gate - Win32 Release"
-# Name "rec_fifo_gate - Win32 Debug"
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_thread.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools_win.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Group "header"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\sb5_file\sb5_file.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_thread.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_oswrap.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\rec_fifo_gate.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.dsw b/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.dsw
deleted file mode 100644
index 67aa771aa51176baf88442f44b419fe3d3e46e05..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "rec_fifo_gate"=.\rec_fifo_gate.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.vcproj b/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.vcproj
deleted file mode 100644
index fdc6b424db9dbccdfc7ba3083f4941e4697a98d1..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.vcproj
+++ /dev/null
@@ -1,655 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rec_fifo_gate"
-	ProjectGUID="{C40034E2-2055-404E-90D0-725CF8C5AD86}"
-	RootNamespace="rec_fifo_gate"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rec_fifo_gate.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_fifo_gate.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_fifo_gate.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_fifo_gate.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_fifo_gate.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rec_fifo_gate.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_fifo_gate.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_fifo_gate.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_fifo_gate.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_fifo_gate.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rec_fifo_gate.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_fifo_gate.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_fifo_gate.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_fifo_gate.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_fifo_gate.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rec_fifo_gate.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_fifo_gate.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_fifo_gate.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_fifo_gate.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_fifo_gate.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_thread.cpp"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="header"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\sb5_file\sb5_file.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_thread.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath="rec_fifo_gate.cpp"
-			>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.vcxproj b/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.vcxproj
deleted file mode 100644
index 770b82e6eaa7024f1b3d2065ece90fc0c5ece218..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.vcxproj
+++ /dev/null
@@ -1,269 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{C40034E2-2055-404E-90D0-725CF8C5AD86}</ProjectGuid>
-    <RootNamespace>rec_fifo_gate</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_fifo_gate.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_fifo_gate.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_fifo_gate.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_fifo_gate.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_fifo_gate.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_fifo_gate.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_fifo_gate.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_fifo_gate.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_fifo_gate.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_fifo_gate.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_fifo_gate.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_fifo_gate.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_fifo_gate.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_fifo_gate.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_fifo_gate.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_fifo_gate.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="..\common\spcm_lib_thread.cpp" />
-    <ClCompile Include="rec_fifo_gate.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\common\spcm_lib_thread.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-    <ClInclude Include="..\sb5_file\sb5_file.h" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.vcxproj.filters b/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.vcxproj.filters
deleted file mode 100644
index 3165da3942c8efa306956d4e010a2e42e8cf896d..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_gate/rec_fifo_gate.vcxproj.filters
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="common">
-      <UniqueIdentifier>{41b57a3c-1aa5-4139-856e-e11c6a932e51}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="header">
-      <UniqueIdentifier>{2a68a8ef-7931-4eb2-a308-8edd8dc53f55}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_thread.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="rec_fifo_gate.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\sb5_file\sb5_file.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_thread.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_multi/makefile b/Cpp/examples/c_cpp/rec_fifo_multi/makefile
deleted file mode 100644
index a96d8ee886b5c703a0d6c7b926c4fd4ccc050b40..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_multi/makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-COMPILER =   g++
-EXECUTABLE = rec_fifo_multi_binaryfile
-LIBS += -lspcm_linux -lpthread -lrt
-
-OBJECTS = \
-    rec_fifo_multi_binaryfile.o\
-	../common/spcm_lib_card.o\
-	../common/spcm_lib_data.o\
-	../common/spcm_lib_thread.o\
-	../sb5_file/sb5_file.o\
-	../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/rec_fifo_multi/makefile.poll b/Cpp/examples/c_cpp/rec_fifo_multi/makefile.poll
deleted file mode 100644
index 04ffbdb9ab84b4892d9aca4768da1eb2bfa4cde9..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_multi/makefile.poll
+++ /dev/null
@@ -1,24 +0,0 @@
-COMPILER =   g++
-EXECUTABLE = rec_fifo_multi_poll
-LIBS += -lspcm_linux -lpthread -lrt
-
-OBJECTS = \
-    rec_fifo_multi_poll.o\
-	../common/spcm_lib_card.o\
-	../common/spcm_lib_data.o\
-	../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS) 
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi.bpf b/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi.bpf
deleted file mode 100644
index 5da88241fe8e80944de42def849bf4eab8f1f666..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi.bpf
+++ /dev/null
@@ -1,3 +0,0 @@
-This file is used by the project manager only and should be treated like the project file
-
-
main 
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi.bpr b/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi.bpr
deleted file mode 100644
index 5da2f903ae128a81a95caad717c1fffaf1629a19..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi.bpr
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<!-- C++Builder XML Project -->
-<PROJECT>
-  <MACROS>
-    <VERSION value="BCB.06.00"/>
-    <PROJECT value="rec_fifo_multi.exe"/>
-    <OBJFILES value="rec_multi_binaryfile.obj ..\common\spcm_lib_thread.obj 
-      ..\common\spcm_lib_card.obj ..\common\spcm_lib_data.obj 
-      ..\common\ostools\spcm_ostools_win.obj ..\sb5_file\sb5_file.obj"/>
-    <RESFILES value=""/>
-    <DEFFILE value=""/>
-    <RESDEPEN value="$(RESFILES)"/>
-    <LIBFILES value="..\c_header\spcm_win32_bcppb.lib"/>
-    <LIBRARIES value=""/>
-    <SPARELIBS value=""/>
-    <PACKAGES value="vcl.bpi rtl.bpi vclx.bpi bcbsmp.bpi dclocx.bpi"/>
-    <PATHCPP value=".;..\common;..\common;..\common;..\common\ostools;..\sb5_file"/>
-    <PATHPAS value=".;"/>
-    <PATHRC value=".;"/>
-    <PATHASM value=".;"/>
-    <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
-    <RELEASELIBPATH value="$(BCB)\lib\release"/>
-    <LINKER value="ilink32"/>
-    <USERDEFINES value="_DEBUG"/>
-    <SYSDEFINES value="NO_STRICT;_NO_VCL;_RTLDLL;USEPACKAGES"/>
-    <MAINSOURCE value="rec_fifo_multi.bpf"/>
-    <INCLUDEPATH value="C:\svnwork\spcm_drv_c\sb5_file;C:\svnwork\spcm_drv_c\common\ostools;C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rec_fifo_multi;$(BCB)\include;$(BCB)\include\vcl"/>
-    <LIBPATH value="C:\svnwork\spcm_drv_c\sb5_file;C:\svnwork\spcm_drv_c\common\ostools;C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rec_fifo_multi;$(BCB)\lib\obj;$(BCB)\lib"/>
-    <WARNINGS value="-w-par"/>
-    <OTHERFILES value=""/>
-  </MACROS>
-  <OPTIONS>
-    <CFLAG1 value="-tWC -tWM -Od -H=$(BCB)\lib\vcl60.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v 
-      -vi- -c"/>
-    <PFLAGS value="-$YD -$W -$O- -$A8 -v -JPHNE -M"/>
-    <RFLAGS value=""/>
-    <AFLAGS value="/mx /w2 /zd"/>
-    <LFLAGS value="-Tpe -ap -D&quot;&quot; -x -Gn -v"/>
-    <OTHERFILES value=""/>
-  </OPTIONS>
-  <LINKER>
-    <ALLOBJ value="c0x32.obj $(PACKAGES) $(OBJFILES)"/>
-    <ALLRES value="$(RESFILES)"/>
-    <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mti.lib"/>
-    <OTHERFILES value=""/>
-  </LINKER>
-  <FILELIST>
-      <FILE FILENAME="rec_fifo_multi.bpf" FORMNAME="" UNITNAME="rec_fifo_multi" CONTAINERID="BPF" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="rec_multi_binaryfile.cpp" FORMNAME="" UNITNAME="rec_multi_binaryfile" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_thread.cpp" FORMNAME="" UNITNAME="spcm_lib_thread.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_card.cpp" FORMNAME="" UNITNAME="spcm_lib_card.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_data.cpp" FORMNAME="" UNITNAME="spcm_lib_data.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\c_header\spcm_win32_bcppb.lib" FORMNAME="" UNITNAME="spcm_win32_bcppb.lib" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\ostools\spcm_ostools_win.cpp" FORMNAME="" UNITNAME="spcm_ostools_win" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\sb5_file\sb5_file.cpp" FORMNAME="" UNITNAME="sb5_file" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-  </FILELIST>
-  <BUILDTOOLS>
-  </BUILDTOOLS>
-
-  <IDEOPTIONS>
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1031
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[Debugging]
-DebugSourceDirs=$(BCB)\source\vcl
-
-[Parameters]
-RunParams=
-Launcher=
-UseLauncher=0
-DebugCWD=
-HostApplication=
-RemoteHost=
-RemotePath=
-RemoteLauncher=
-RemoteCWD=
-RemoteDebug=0
-
-[Compiler]
-ShowInfoMsgs=0
-LinkDebugVcl=0
-  </IDEOPTIONS>
-</PROJECT>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi.dsw b/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi.dsw
deleted file mode 100644
index 9365fe8fb23bdd2f0dc53ef7e6468c3f130f6994..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi.dsw
+++ /dev/null
@@ -1,41 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "rec_multi_binaryfile"=.\rec_multi_binaryfile.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "rec_multi_poll"=.\rec_multi_poll.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi.sln b/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi.sln
deleted file mode 100644
index 1b1fc109527c4f303142b6154a5ef86f3b28590e..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi.sln
+++ /dev/null
@@ -1,36 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rec_multi_binaryfile", "rec_multi_binaryfile.vcproj", "{C40034E2-2055-404E-90D0-725CF8C5AD86}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rec_multi_poll", "rec_multi_poll.vcproj", "{EAE5880B-0B91-4E5C-8B9E-DFD554FDECFF}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Win32 = Debug|Win32
-		Debug|x64 = Debug|x64
-		Release|Win32 = Release|Win32
-		Release|x64 = Release|x64
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{C40034E2-2055-404E-90D0-725CF8C5AD86}.Debug|Win32.ActiveCfg = Debug|Win32
-		{C40034E2-2055-404E-90D0-725CF8C5AD86}.Debug|Win32.Build.0 = Debug|Win32
-		{C40034E2-2055-404E-90D0-725CF8C5AD86}.Debug|x64.ActiveCfg = Debug|x64
-		{C40034E2-2055-404E-90D0-725CF8C5AD86}.Debug|x64.Build.0 = Debug|x64
-		{C40034E2-2055-404E-90D0-725CF8C5AD86}.Release|Win32.ActiveCfg = Release|Win32
-		{C40034E2-2055-404E-90D0-725CF8C5AD86}.Release|Win32.Build.0 = Release|Win32
-		{C40034E2-2055-404E-90D0-725CF8C5AD86}.Release|x64.ActiveCfg = Release|x64
-		{C40034E2-2055-404E-90D0-725CF8C5AD86}.Release|x64.Build.0 = Release|x64
-		{EAE5880B-0B91-4E5C-8B9E-DFD554FDECFF}.Debug|Win32.ActiveCfg = Debug|Win32
-		{EAE5880B-0B91-4E5C-8B9E-DFD554FDECFF}.Debug|Win32.Build.0 = Debug|Win32
-		{EAE5880B-0B91-4E5C-8B9E-DFD554FDECFF}.Debug|x64.ActiveCfg = Debug|x64
-		{EAE5880B-0B91-4E5C-8B9E-DFD554FDECFF}.Debug|x64.Build.0 = Debug|x64
-		{EAE5880B-0B91-4E5C-8B9E-DFD554FDECFF}.Release|Win32.ActiveCfg = Release|Win32
-		{EAE5880B-0B91-4E5C-8B9E-DFD554FDECFF}.Release|Win32.Build.0 = Release|Win32
-		{EAE5880B-0B91-4E5C-8B9E-DFD554FDECFF}.Release|x64.ActiveCfg = Release|x64
-		{EAE5880B-0B91-4E5C-8B9E-DFD554FDECFF}.Release|x64.Build.0 = Release|x64
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_binaryfile.cpp b/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_binaryfile.cpp
deleted file mode 100644
index 6fc1dffd764f536861381d199ce340fd2e51a4ff..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_binaryfile.cpp
+++ /dev/null
@@ -1,451 +0,0 @@
-/*
-**************************************************************************
-
-rec_multi_binaryfile.cpp                             (c) Spectrum GmbH
-
-**************************************************************************
-
-this example supports all SpcmDrv based acquisition cards with the option
-multiple recording installed. If timestamp is installed the timestamps are also
-read.
-
-Information about the different products and their drivers can be found
-online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/platform-driver-and-series-differences
-
-Does a continous FIFO transfer and writes data to a binary file. The file
-type can be selected to simple binary file, binary file including the
-timestamps at the beginning of each segment or binary file including the
-SBench5 format header (*.sbs/*.sb5) file.
-
-Change the eFileType variable to select between the different file types
-
-Change the global flag g_bThread to use the threaded version or the plain
-and more simple loop.
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-#include "../common/spcm_lib_thread.h"
-#include "../sb5_file/sb5_file.h"
-
-
-// ----- this is the global thread flag that defines whether we use the thread or non-thread loop -----
-bool g_bThread = true;
-
-
-
-/*
-**************************************************************************
-Working routine data
-**************************************************************************
-*/
-
-#define FILENAME "stream_test"
-
-typedef enum E_FILETYPE {eFT_noWrite, eFT_PlainBinary, eFT_PlainWithTimestamps, eFT_SB5_Stream} E_FILETYPE;
-
-struct ST_WORKDATA
-    {
-    E_FILETYPE  eFileType;
-    int64       llSamplesWritten;
-    FILE*       hFile;
-    char        szFileName[100];
-    int32       lSegmentsize;
-    };
-
-
-
-/*
-**************************************************************************
-bDoCardSetup: setup matching the calculation routine
-**************************************************************************
-*/
-
-bool bDoCardSetup (ST_WORKDATA* pstWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    int     i;
-
-    // FIFO mode setup, we run continuously and use 128 samples of pretrigger for each segment
-    pstWorkData->lSegmentsize = KILO_B(1);          // segment size
-    pstWorkData->eFileType =    eFT_noWrite;        // storage mode
-
-    // we try to set the samplerate to 1 MHz (M2i) or 20 MHz (M3i, M4i) on internal PLL, no clock output
-    // increase this to test the read-out-after-overrun
-    if (pstBufferData->pstCard->bM2i)
-        bSpcMSetupClockPLL (pstBufferData->pstCard, MEGA(1), false);
-    else if (pstBufferData->pstCard->bM2p)
-        bSpcMSetupClockPLL (pstBufferData->pstCard, MEGA(10), false);
-    else if (pstBufferData->pstCard->bM3i || pstBufferData->pstCard->bM4i || pstBufferData->pstCard->bM5i)
-        bSpcMSetupClockPLL (pstBufferData->pstCard, MEGA(20), false);
-    printf ("Sampling rate set to %.1lf MHz\n", (double) pstBufferData->pstCard->llSetSamplerate / 1000000);
-
-    // we set external trigger for multiple recording
-    bSpcMSetupTrigExternal (pstBufferData->pstCard, SPC_TM_POS, false, 0);
-
-    // type dependent card setup
-    switch (pstBufferData->pstCard->eCardFunction)
-        {
-
-        // analog acquisition card setup
-        case AnalogIn:
-
-            // we only enable 1 channel for the example
-            bSpcMSetupModeRecFIFOMulti (pstBufferData->pstCard, CHANNEL0, pstWorkData->lSegmentsize, pstWorkData->lSegmentsize - 128);
-
-            // program all input channels to +/-1 V and 50 ohm termination (if it's available)
-            if (pstBufferData->pstCard->bM2i || pstBufferData->pstCard->bM2p)
-                {
-                for (i=0; i < pstBufferData->pstCard->lMaxChannels; i++)
-                    bSpcMSetupInputChannel (pstBufferData->pstCard, i, 1000, true);
-                }
-            else
-                {
-                bool bTerm           = true;
-                bool bACCoupling     = false;
-                bool bBandwidthLimit = false;
-                for (i=0; i < pstBufferData->pstCard->lMaxChannels; i++)
-                    bSpcMSetupPathInputCh (pstBufferData->pstCard, i, 0, 1000, 0, bTerm, bACCoupling, bBandwidthLimit);
-                }
-            break;
-
-        // digital acquisition card setup
-        case DigitalIn:
-        case DigitalIO:
-
-            // we enable 16 channels for the example
-            bSpcMSetupModeRecFIFOMulti (pstBufferData->pstCard, 0xffff, pstWorkData->lSegmentsize, pstWorkData->lSegmentsize - 128);
-
-            // set all input channel groups to 110 ohm termination (if it's available)
-            for (i=0; i < pstBufferData->pstCard->uCfg.stDIO.lGroups; i++)
-                bSpcMSetupDigitalInput (pstBufferData->pstCard, i, true);
-            break;
-        }
-
-    // set up the timestamp mode to standard if timestamp is installed
-    if (pstBufferData->bStartTimestamp)
-        bSpcMSetupTimestamp (pstBufferData->pstCard, SPC_TSMODE_STANDARD | SPC_TSCNT_INTERNAL, 0);
-
-    return pstBufferData->pstCard->bSetError;
-    }
-
-
-
-/*
-**************************************************************************
-Setup working routine
-**************************************************************************
-*/
-
-bool bWorkSetup (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA* pstWorkData = (ST_WORKDATA*) pvWorkData;
-
-    // setup for the transfer, to avoid overrun one may use even larger data blocks
-    pstBufferData->dwDataBufLen =   MEGA_B(8);
-    pstBufferData->dwDataNotify =   KILO_B(512);
-    pstBufferData->dwTSBufLen =     MEGA_B(1);
-    pstBufferData->dwTSNotify =     KILO_B(4);
-
-    // setup for the work
-    pstWorkData->llSamplesWritten = 0;
-
-    switch (pstWorkData->eFileType)
-        {
-        case eFT_PlainBinary:
-        case eFT_PlainWithTimestamps:
-            sprintf (pstWorkData->szFileName, "%s.bin", FILENAME);
-            printf ("\nWriting to plan binary file %s\n\n", pstWorkData->szFileName);
-            break;
-
-        case eFT_SB5_Stream:
-            if (pstBufferData->pstCard->lSetChannels == 1)
-                sprintf (pstWorkData->szFileName, "%s.sb5", FILENAME);
-            else
-                sprintf (pstWorkData->szFileName, "%s.sbs", FILENAME);
-            printf ("\nWriting to SBench 5 binary file %s\n\n", pstWorkData->szFileName);
-            break;
-
-        case eFT_noWrite:
-            printf ("\nJust simulating, no real write\n\n");
-            break;
-        }
-
-    // check some details if we're storing segments together with timestamps
-    if (pstWorkData->eFileType == eFT_PlainWithTimestamps)
-        {
-        uint32 dwSegments = pstBufferData->dwDataBufLen / pstWorkData->lSegmentsize / pstBufferData->pstCard->lSetChannels / pstBufferData->pstCard->lBytesPerSample;
-
-        // check whether timestamps are installed, otherwise this mode doesn't make sense
-        if (!pstBufferData->bStartTimestamp)
-            {
-            printf ("\nThis storing mode needs the option timestamp installed. it doesn't work with your card\n");
-            return false;
-            }
-
-        // a full number of segments have to fit in our buffer otherwise the algorithm in this example won't work
-        if (((uint32) (pstBufferData->dwDataBufLen / dwSegments) * dwSegments) != pstBufferData->dwDataBufLen)
-            {
-            printf ("\nFor this storing mode a full number of segments must fir into the buffer. Please correct setup\n");
-            return false;
-            }
-        }
-
-    if (pstWorkData->eFileType != eFT_noWrite)
-        pstWorkData->hFile = fopen (pstWorkData->szFileName, "w+b");
-
-    // we now have to write the SB5 header if this format has been selected
-    if (pstWorkData->hFile && (pstWorkData->eFileType == eFT_SB5_Stream))
-        {
-        ST_SB5HEAD* pstHeader;
-        bool        bReturn;
-
-        pstHeader = pstSB5_AllocHeader (pstBufferData->pstCard->lSetChannels);
-        if (!bFillSB5Header (pstBufferData->pstCard, pstHeader, "Test"))
-            return false;
-
-        bReturn = bSB5_StoreHeader (pstWorkData->hFile, pstHeader);
-        vSB5_FreeHeader (pstHeader);
-
-        return bReturn;
-        }
-
-    return ((pstWorkData->hFile != NULL) || (pstWorkData->eFileType == eFT_noWrite));
-    }
-
-
-
-/*
-**************************************************************************
-bWorkDo: stores data to hard disk
-**************************************************************************
-*/
-
-bool bWorkDo (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA*    pstWorkData = (ST_WORKDATA*) pvWorkData;
-    size_t          dwWritten, dwTimestampBytes;
-
-    // ----- M2i+M3i timestamps are 64 bit, M4i 128 bit -----
-    dwTimestampBytes = 0;
-    if (pstBufferData->pstCard->bM2i || pstBufferData->pstCard->bM3i)
-        dwTimestampBytes = 8;
-    else if (pstBufferData->pstCard->bM4i || pstBufferData->pstCard->bM2p || pstBufferData->pstCard->bM5i)
-        dwTimestampBytes = 16;
-
-    // ----- data together with timestamps -----
-    if (pstWorkData->eFileType == eFT_PlainWithTimestamps)
-        {
-
-        // if we write timestamps together with data we need enough data from both here
-        uint32 dwSegmentInBytes = (pstWorkData->lSegmentsize * pstBufferData->pstCard->lBytesPerSample * pstBufferData->pstCard->lSetChannels);
-        uint64 qwDataAvail = pstBufferData->llDataAvailBytes;
-        uint64 qwTSAvail = pstBufferData->llTSAvailBytes;
-
-        // at least one timestamp and one segment is there
-        while ((qwTSAvail >= 8) && (qwDataAvail >= dwSegmentInBytes))
-            {
-
-            // write the current timestamp and then the data
-            dwWritten = fwrite (pstBufferData->pvTSCurrentBuf, 1, dwTimestampBytes, pstWorkData->hFile);
-
-            if (dwWritten == dwTimestampBytes)
-                dwWritten = fwrite (pstBufferData->pvDataCurrentBuf, 1, dwSegmentInBytes, pstWorkData->hFile);
-            if (dwWritten != dwSegmentInBytes)
-                {
-                printf ("\nData Write error\n");
-                return false;
-                }
-
-            // count the timestamp and recalc sizes and positions
-            pstWorkData->llSamplesWritten++;
-            qwTSAvail -=                        dwTimestampBytes;
-            pstBufferData->pvTSCurrentBuf  =    (void*) (((char*) pstBufferData->pvTSCurrentBuf) + dwTimestampBytes);
-            qwDataAvail -=                      dwSegmentInBytes;
-            pstBufferData->pvDataCurrentBuf =   (void*) (((char*) pstBufferData->pvDataCurrentBuf) + dwSegmentInBytes);
-            }
-
-        // subtract the bytes that we've not used so far as we still need the rest next time
-        pstBufferData->llDataAvailBytes -=  qwDataAvail;
-        pstBufferData->llTSAvailBytes -=    qwTSAvail;
-
-        // print the status
-        printf ("\r%.2f MSamples written to %s, %d segments in total",
-            (double) pstBufferData->qwDataTransferred / pstBufferData->pstCard->lBytesPerSample / 1024.0 / 1024.0,
-            pstWorkData->szFileName,
-            (int32) pstWorkData->llSamplesWritten);
-
-        return true;
-        }
-
-
-
-    // ----- simple data, timestamps are not recorded or ignored -----
-    if (pstWorkData->eFileType != eFT_noWrite)
-        {
-
-        // we limit the data to write to chunks of notify size to avoid a jam in the fwrite function
-        if (pstBufferData->llDataAvailBytes > pstBufferData->dwDataNotify)
-            pstBufferData->llDataAvailBytes = pstBufferData->dwDataNotify;
-
-        // write the data and count the samples
-        dwWritten = fwrite (pstBufferData->pvDataCurrentBuf, 1, (size_t)pstBufferData->llDataAvailBytes, pstWorkData->hFile);
-        pstWorkData->llSamplesWritten += dwWritten / pstBufferData->pstCard->lBytesPerSample;
-        if (dwWritten != pstBufferData->llDataAvailBytes)
-            {
-            printf ("\nData Write error\n");
-            return false;
-            }
-
-        // announce the number of data that has been written
-        printf ("\r%.2f MSamples written to %s, %.2fk Timestamps received",
-            (double) pstBufferData->qwDataTransferred / pstBufferData->pstCard->lBytesPerSample / 1024.0 / 1024.0,
-            pstWorkData->szFileName,
-            (double) pstBufferData->qwTSTransferred / dwTimestampBytes / 1024.0);
-        }
-
-    // ----- no data written, just announce the transferred data -----
-    if (pstWorkData->eFileType == eFT_noWrite)
-        printf ("\r%.2f MSamples written, %.2fk Timestamps received",
-            (double) pstBufferData->qwDataTransferred / pstBufferData->pstCard->lBytesPerSample / 1024.0 / 1024.0,
-            (double) pstBufferData->qwTSTransferred / dwTimestampBytes / 1024.0);
-
-    return true;
-    }
-
-
-
-
-/*
-**************************************************************************
-vWorkClose: Close the work and clean up
-**************************************************************************
-*/
-
-void vWorkClose (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA* pstWorkData = (ST_WORKDATA*) pvWorkData;
-
-    if (pstWorkData->eFileType != eFT_noWrite)
-        if (pstWorkData->hFile)
-            {
-            if (pstWorkData->eFileType == eFT_SB5_Stream)
-                bSB5_UpdateSamples (pstWorkData->hFile, (int32) pstWorkData->llSamplesWritten);
-
-            fclose (pstWorkData->hFile);
-            }
-    }
-
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO    stCard;             // info structure of my card
-    ST_WORKDATA         stWorkData;
-    ST_BUFFERDATA       stBufferData;       // buffer and start information
-
-    // ------------------------------------------------------------------------
-    // init card number 0 (the first card in the system), get some information and print it
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    if (bSpcMInitCardByIdx (&stCard, 0))
-    //if (bSpcMInitCardByIdx (&stCard, "192.168.1.10", 0))
-        {
-        printf (pszSpcMPrintDocumentationLink (&stCard, szBuffer, sizeof (szBuffer)));
-        printf (pszSpcMPrintCardInfo (&stCard, szBuffer, sizeof (szBuffer)));
-        }
-    else
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Could not open card\n", true);
-
-    memset (&stBufferData, 0, sizeof(stBufferData));
-    stBufferData.pstCard = &stCard;
-
-
-    // check whether we support this card type in the example
-    if ((stCard.eCardFunction != AnalogIn) && (stCard.eCardFunction != DigitalIn) && (stCard.eCardFunction != DigitalIO))
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Card function not supported by this example\n", false);
-    if ((stCard.lFeatureMap & SPCM_FEAT_MULTI) == 0)
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Multiple Recording Option not installed. Examples was done especially for this option!\n", false);
-
-    // set a flag if timestamp is installed
-    stBufferData.bStartTimestamp = ((stCard.lFeatureMap & SPCM_FEAT_TIMESTAMP) != 0);
-
-
-
-    // ------------------------------------------------------------------------
-    // do the card setup, error is routed in the structure so we don't care for the return values
-    if (!stCard.bSetError)
-        bDoCardSetup (&stWorkData, &stBufferData);
-
-
-
-    // ------------------------------------------------------------------------
-    // some additional information on the acquisition
-    if (!stCard.bSetError)
-        {
-        printf ("\nData information:\n=================\n");
-        printf ("Each segment is %.3f ms long\n", 1000.0 * stWorkData.lSegmentsize / stCard.llSetSamplerate);
-        printf ("Maximum pulse repetition frequency to reach with this setting is %.2f Hz\n", (double) stCard.llSetSamplerate / stWorkData.lSegmentsize);
-        }
-
-
-
-    // ------------------------------------------------------------------------
-    // setup the data transfer and start it
-    stBufferData.bStartCard =       true;
-    stBufferData.bStartData =       true;
-    stBufferData.bStartTimestamp =  ((stCard.lFeatureMap & SPCM_FEAT_TIMESTAMP) != 0);
-
-    // start the threaded loop
-    stBufferData.lTimeout =         5000;
-    if (!stCard.bSetError && g_bThread)
-        vDoThreadMainLoop (&stBufferData, &stWorkData, bWorkSetup, bWorkDo, vWorkClose, bKeyAbortCheck);
-
-    // this is the non threaded loop, we use a small timeout of 100 ms here as we otherwise won't return from the loop if no dat is coming
-    stBufferData.lTimeout =         100;
-    if (!stCard.bSetError && !g_bThread)
-        {
-        stBufferData.bStartExtraDMA = stBufferData.bStartTimestamp;
-        vDoMainLoop (&stBufferData, &stWorkData, bWorkSetup, bWorkDo, vWorkClose, bKeyAbortCheck);
-        }
-
-
-
-    // ------------------------------------------------------------------------
-    // print error information if an error occured
-    if (stCard.bSetError)
-        return nSpcMErrorMessageStdOut (&stCard, "An error occured while programming the card:\n", true);
-
-
-    // clean up and close the driver
-    vSpcMCloseCard (&stCard);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_binaryfile.dsp b/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_binaryfile.dsp
deleted file mode 100644
index 2e30088d399df918f60d7005562e211105b941ff..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_binaryfile.dsp
+++ /dev/null
@@ -1,160 +0,0 @@
-# Microsoft Developer Studio Project File - Name="rec_multi_binaryfile" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** NICHT BEARBEITEN **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=rec_multi_binaryfile - Win32 Debug
-!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
-!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_multi_binaryfile.mak".
-!MESSAGE 
-!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
-!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_multi_binaryfile.mak" CFG="rec_multi_binaryfile - Win32 Debug"
-!MESSAGE 
-!MESSAGE Für die Konfiguration stehen zur Auswahl:
-!MESSAGE 
-!MESSAGE "rec_multi_binaryfile - Win32 Release" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE "rec_multi_binaryfile - Win32 Debug" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "rec_multi_binaryfile - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "rec_multi_binaryfile - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "rec_multi_binaryfile - Win32 Release"
-# Name "rec_multi_binaryfile - Win32 Debug"
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\sb5_file\sb5_file.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_thread.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools_win.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Group "header"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\sb5_file\sb5_file.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_thread.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_oswrap.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\rec_multi_binaryfile.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_binaryfile.vcproj b/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_binaryfile.vcproj
deleted file mode 100644
index c897d97b18fb70969707957e5cc96ddb64fdeadd..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_binaryfile.vcproj
+++ /dev/null
@@ -1,690 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rec_multi_binaryfile"
-	ProjectGUID="{C40034E2-2055-404E-90D0-725CF8C5AD86}"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rec_multi_binaryfile.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_multi_binaryfile.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_multi_binaryfile.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_multi_binaryfile.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_multi_binaryfile.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rec_multi_binaryfile.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_multi_binaryfile.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_multi_binaryfile.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_multi_binaryfile.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_multi_binaryfile.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rec_multi_binaryfile.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_multi_binaryfile.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_multi_binaryfile.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_multi_binaryfile.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_multi_binaryfile.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rec_multi_binaryfile.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_multi_binaryfile.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_multi_binaryfile.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_multi_binaryfile.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_multi_binaryfile.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\sb5_file\sb5_file.cpp"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_thread.cpp"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="header"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\sb5_file\sb5_file.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_thread.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath="rec_multi_binaryfile.cpp"
-			>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_binaryfile.vcxproj b/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_binaryfile.vcxproj
deleted file mode 100644
index 9545b8cdfdd87cbbf23dff7cca2c7c65c7801ea7..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_binaryfile.vcxproj
+++ /dev/null
@@ -1,269 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{C40034E2-2055-404E-90D0-725CF8C5AD86}</ProjectGuid>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_multi_binaryfile.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_multi_binaryfile.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_multi_binaryfile.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_multi_binaryfile.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_multi_binaryfile.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_multi_binaryfile.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_multi_binaryfile.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_multi_binaryfile.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_multi_binaryfile.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_multi_binaryfile.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_multi_binaryfile.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_multi_binaryfile.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_multi_binaryfile.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_multi_binaryfile.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_multi_binaryfile.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_multi_binaryfile.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="..\common\spcm_lib_thread.cpp" />
-    <ClCompile Include="..\sb5_file\sb5_file.cpp" />
-    <ClCompile Include="rec_fifo_multi_binaryfile.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\common\spcm_lib_thread.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-    <ClInclude Include="..\sb5_file\sb5_file.h" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_binaryfile.vcxproj.filters b/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_binaryfile.vcxproj.filters
deleted file mode 100644
index c795861fe5cd798947c0e2bde1bb52d072776a81..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_binaryfile.vcxproj.filters
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="common">
-      <UniqueIdentifier>{ab092090-47a7-43a4-ab94-46ab3957011a}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="header">
-      <UniqueIdentifier>{e3e5496b-f028-47f2-a606-c6f6e82af063}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\sb5_file\sb5_file.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_thread.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="rec_fifo_multi_binaryfile.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\sb5_file\sb5_file.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_thread.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib" />
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_poll.cpp b/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_poll.cpp
deleted file mode 100644
index 6725d43fe030453b4a20a9b76239250bb6117f7d..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_poll.cpp
+++ /dev/null
@@ -1,389 +0,0 @@
-/*
-**************************************************************************
-
-rec_multi_poll.cpp                                       (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all SpcMDrv based acquisition cards with the option
-Multiple Recording installed.
-
-Information about the different products and their drivers can be found
-online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/platform-driver-and-series-differences
-
-Shows Multiple Recording data acquisition using fifo mode. If timestamp
-is installed the corresponding timestamp values are also read
-out and displayed.
-
-If Timestamp and BaseXIO are installed the BaseXIO lines are set to the
-timestamp acquisition mode and are sampled on every trigger event. The
-samples BaseXIO lines are also shown.
-
-Feel free to use this source for own projects and modify it in any kind.
-
-This example shows the polling of the status, no wait function is used
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-
-// ----- operating system dependent functions for thead, event and mutex handling -----
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <stdlib.h>
-
-
-
-/*
-**************************************************************************
-vDoCardSetup
-**************************************************************************
-*/
-
-void vDoCardSetup (ST_SPCM_CARDINFO *pstCard, int32 lSegmentsize, int32 lPosttrigger, int32 lLoops)
-    {
-    int   i;
-
-    // Multiple Recording setup (1 channel to keep example simple)
-    bSpcMSetupModeRecFIFOMulti (pstCard, CHANNEL0, lSegmentsize, lPosttrigger, lLoops);
-
-    // we try to set the samplerate to 1 MHz (M2i) or 20 MHz (M3i) on internal PLL, no clock output
-    // increase this to test the read-out-after-overrun
-    if (pstCard->bM2i)
-        bSpcMSetupClockPLL (pstCard, MEGA(1), false);
-    else if (pstCard->bM2p)
-        bSpcMSetupClockPLL (pstCard, MEGA(10), false);
-    else if (pstCard->bM3i || pstCard->bM4i || pstCard->bM5i)
-        bSpcMSetupClockPLL (pstCard, MEGA(20), false);
-    printf ("Sampling rate set to %.1lf MHz\n", (double) pstCard->llSetSamplerate / 1000000);
-
-    // we set trigger to external positive edge, please connect the trigger line!
-    printf ("\n");
-    printf ("*************************************************************************\n");
-    printf ("* Using external trigger - please connect a signal to the trigger input *\n");
-    printf ("* Example is best working with a 10 kHz Trigger signal                  *\n");
-    printf ("*************************************************************************\n\n");
-    bSpcMSetupTrigExternal (pstCard, SPC_TM_POS, false, 0);
-
-    // type dependent card setup
-    switch (pstCard->eCardFunction)
-        {
-
-        // analog acquisition card setup
-        case AnalogIn:
-
-            // program all input channels to +/-1 V and 50 ohm termination (if it's available)
-            if (pstCard->bM2i || pstCard->bM2p)
-                {
-                for (i=0; i < pstCard->lMaxChannels; i++)
-                    bSpcMSetupInputChannel (pstCard, i, 1000, true);
-                }
-            else
-                {
-                bool bTerm           = true;
-                bool bACCoupling     = false;
-                bool bBandwidthLimit = false;
-                for (i=0; i < pstCard->lMaxChannels; i++)
-                    bSpcMSetupPathInputCh (pstCard, i, 0, 1000, 0, bTerm, bACCoupling, bBandwidthLimit);
-                }
-            break;
-        }
-
-
-    // if timestamp and basexio are installed we acquire the asynchronous inputs with the timestamps
-    if ((pstCard->lFeatureMap & SPCM_FEAT_TIMESTAMP) && (pstCard->lFeatureMap & SPCM_FEAT_BASEXIO))
-        bSpcMSetupTimestamp (pstCard, SPC_TSMODE_STANDARD | SPC_TSCNT_INTERNAL | SPC_TSXIOACQ_ENABLE, 0);
-
-    // set up the timestamp mode to standard if timestamp is installed
-    else if ((pstCard->lFeatureMap & SPCM_FEAT_TIMESTAMP) != 0)
-        bSpcMSetupTimestamp (pstCard, SPC_TSMODE_STANDARD | SPC_TSCNT_INTERNAL, 0);
-
-    }
-
-
-
-/*
-**************************************************************************
-nShowData
-**************************************************************************
-*/
-
-int16 nShowData (ST_SPCM_CARDINFO *pstCard, int32 lDataAvailBytes, void* pvDataCurrentBuf)
-    {
-
-    // add your data processing here
-    printf ("Data Buffer Ready: %d Bytes\n", lDataAvailBytes);
-
-    return ERR_OK;
-    }
-
-
-
-/*
-**************************************************************************
-nShowTimestamps
-**************************************************************************
-*/
-
-int16 nShowTimestamps (ST_SPCM_CARDINFO *pstCard, int32 lTSAvailBytes, uint64* pqwTSCurrentBuf)
-    {
-
-    // add your timestamp processing here
-    printf ("Timestamp data ready: %d Bytes\n", lTSAvailBytes);
-
-    return ERR_OK;
-    }
-
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO    stCard;             // info structure of my card
-    int32               lDataBufLen, lDataNotify, lTSBufLen, lTSNotify;
-    int32               lAvailPos, lDataAvailBytes = 0, lTSAvailBytes = 0;
-    int32               lSegmentsize, lPosttrigger, lLoops;
-    int32               lOversampling = 1;
-    bool                bTimestampInstalled, bBaseXIOInstalled;
-    uint64*             pqwTSBuffer = NULL;
-    uint64*             pqwTSCurrentBuf;
-    void*               pvDataBuffer;
-    void*               pvDataCurrentBuf;
-    int64               llDataTransferred = 0, llTSTransferred = 0;
-    uint32              dwErr;
-    bool                bDataReady, bTimestampsReady,  bReady = false;
-
-
-
-    // ------------------------------------------------------------------------
-    // init card number 0 (the first card in the system), get some information and print it
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    if (bSpcMInitCardByIdx (&stCard, 0))
-    //if (bSpcMInitCardByIdx (&stCard, "192.168.1.10", 0))
-        {
-        printf (pszSpcMPrintDocumentationLink (&stCard, szBuffer, sizeof (szBuffer)));
-        printf (pszSpcMPrintCardInfo (&stCard, szBuffer, sizeof (szBuffer)));
-        }
-    else
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Could not open card\n", true);
-
-
-    // check whether we support this card type in the example
-    if (stCard.eCardFunction != AnalogIn)
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Card function not supported by this example\n", false);
-    if ((stCard.lFeatureMap & SPCM_FEAT_MULTI) == 0)
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Multiple Recording Option not installed. Examples was done especially for this option!\n", false);
-
-    // if timestamp is installed we set a flag to support this mode in the example also
-    bTimestampInstalled = ((stCard.lFeatureMap & SPCM_FEAT_TIMESTAMP) != 0);
-    bBaseXIOInstalled = ((stCard.lFeatureMap & SPCM_FEAT_BASEXIO) != 0);
-
-
-
-    // ------------------------------------------------------------------------
-    // do the card setup, error is routed in the structure so we don't care for the return values
-    lDataBufLen  = MEGA_B(1);
-    lDataNotify	 = KILO_B(4);
-    lTSBufLen    = KILO_B(128);
-    lTSNotify    = KILO_B(4);
-    lSegmentsize = KILO_B(4);
-    lPosttrigger = lSegmentsize / 2;
-
-    lLoops = 0; // recording infinite number of segments
-
-    if (!stCard.bSetError)
-        vDoCardSetup (&stCard, lSegmentsize, lPosttrigger, lLoops);
-
-
-
-    // ------------------------------------------------------------------------
-    // allocate memory buffer
-    if (!stCard.bSetError)
-        {
-        pvDataBuffer = pvAllocMemPageAligned (lDataBufLen);
-        if (bTimestampInstalled)
-            pqwTSBuffer = (uint64*)pvAllocMemPageAligned (lTSBufLen);
-        if (!pvDataBuffer || (bTimestampInstalled && !pqwTSBuffer))
-            return nSpcMErrorMessageStdOut (&stCard, "Memory allocation error\n", false);
-        }
-
-
-
-    // ------------------------------------------------------------------------
-    // start the acquisition
-
-    // if using timestamps we need to start the transfer before the card start to avoid an overrun of the timestamp memory
-    if (bTimestampInstalled)
-        {
-        printf ("Starting the timestamp DMA transfer\n");
-        spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_TIMESTAMP, SPCM_DIR_CARDTOPC, lTSNotify, (void*) pqwTSBuffer, 0, lTSBufLen);
-        spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_EXTRA_STARTDMA);
-        }
-
-    // We'll define the buffer for data to start everything together
-    spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, lDataNotify, pvDataBuffer, 0, lDataBufLen);
-
-    printf ("Starting the card, the data transfer and poll\n");
-    spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER | M2CMD_DATA_STARTDMA);
-
-
-    while (!bReady)
-        {
-        if (!stCard.bSetError)
-            {
-            printf ("\n");
-
-            // this is our status polling loop
-            int32 lOldStatus = 0, lStatus = 0;
-            int32 lOldTrigCount = 0, lTrigCount = 0;
-
-            bTimestampsReady = false;
-            bDataReady =       false;
-            do
-                {
-                dwErr = spcm_dwGetParam_i32 (stCard.hDrv, SPC_M2STATUS, &lStatus);
-
-                // check for changed status and set flags
-                if (lOldStatus != lStatus)
-                    {
-                    printf ("Status: ");
-                    if (lStatus & M2STAT_CARD_PRETRIGGER)
-                        printf ("Armed ");
-
-                    if (lStatus & M2STAT_CARD_TRIGGER)
-                        printf ("1stTrigger ");
-
-                    if (lStatus & M2STAT_CARD_READY)
-                        {
-                        printf ("CardReady ");
-                        bReady = true;
-                        }
-
-                    if (lStatus & M2STAT_DATA_BLOCKREADY)
-                        {
-                        printf ("DataReady ");
-                        bDataReady = true;
-                        }
-
-                    if (lStatus & M2STAT_EXTRA_BLOCKREADY)
-                        {
-                        printf ("TimestampReady ");
-                        bTimestampsReady = true;
-                        }
-                    printf ("\n");
-                    }
-
-                lOldStatus = lStatus;
-
-                // check trigger count, available with firmware V10 (M2i) or V20 (M3i)
-/*
-                if (!dwErr)
-                    {
-                    dwErr = spcm_dwGetParam_i32 (stCard.hDrv, SPC_TRIGGERCOUNTER, &lTrigCount);
-                    if (lTrigCount != lOldTrigCount)
-                        printf ("TrigCount = %d\n", lTrigCount);
-                    lOldTrigCount = lTrigCount;
-                    }
-*/
-                }
-            while (!dwErr && !(bReady || bTimestampsReady || bDataReady));
-
-            // check for error code
-            if (spcm_dwGetErrorInfo_i32 (stCard.hDrv, NULL, NULL, szBuffer))
-                {
-                vFreeMemPageAligned (pvDataBuffer, lDataBufLen);
-                if (bTimestampInstalled)
-                    vFreeMemPageAligned (pqwTSBuffer, lTSBufLen);
-                return nSpcMErrorMessageStdOut (&stCard, szBuffer, false);
-                }
-
-            // process data and set dat aavailable again
-            if (bDataReady)
-                {
-                spcm_dwGetParam_i32 (stCard.hDrv, SPC_DATA_AVAIL_USER_LEN, &lDataAvailBytes);
-                spcm_dwGetParam_i32 (stCard.hDrv, SPC_DATA_AVAIL_USER_POS, &lAvailPos);
-                if ((lAvailPos + lDataAvailBytes) >= lDataBufLen)
-                    lDataAvailBytes = (uint32) (lDataBufLen - lAvailPos);
-                pvDataCurrentBuf = (void*) (((char*) pvDataBuffer) + lAvailPos);
-                llDataTransferred += lDataAvailBytes;
-
-                nShowData (&stCard, lDataAvailBytes, pvDataCurrentBuf);
-
-                dwErr = spcm_dwSetParam_i32 (stCard.hDrv, SPC_DATA_AVAIL_CARD_LEN, lDataAvailBytes);
-                }
-
-            // process timestamps and set data aavailable again
-            if (bTimestampsReady && bTimestampInstalled)
-                {
-                spcm_dwGetParam_i32 (stCard.hDrv, SPC_TS_AVAIL_USER_LEN, &lTSAvailBytes);
-                spcm_dwGetParam_i32 (stCard.hDrv, SPC_TS_AVAIL_USER_POS, &lAvailPos);
-
-                // align available bytes to full timestamps
-                if (stCard.bM4i || stCard.bM2p || stCard.bM5i)
-                    lTSAvailBytes &= 0xFFFFFFF0; // 16 byte per stamp
-                else
-                    lTSAvailBytes &= 0xFFFFFFF8; //  8 byte per stamp
-
-                if ((lAvailPos + lTSAvailBytes) >= lTSBufLen)
-                    lTSAvailBytes = (uint32) (lTSBufLen - lAvailPos);
-                pqwTSCurrentBuf = (uint64*) (((char*) pqwTSBuffer) + lAvailPos);
-                llTSTransferred +=   lTSAvailBytes;
-
-                nShowTimestamps (&stCard, lTSAvailBytes, pqwTSCurrentBuf);
-
-                dwErr = spcm_dwSetParam_i32 (stCard.hDrv, SPC_TS_AVAIL_CARD_LEN, lTSAvailBytes);
-                }
-            }
-
-        if (bKbhit ())
-            {
-            spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_STOP);
-            cGetch();
-            }
-        }
-
-
-    // ------------------------------------------------------------------------
-    // print error information if an error occured
-    if (stCard.bSetError)
-        return nSpcMErrorMessageStdOut (&stCard, "An error occured while programming the card:\n", true);
-
-
-    // clean up and close the driver
-    vSpcMCloseCard (&stCard);
-    vFreeMemPageAligned (pvDataBuffer, lDataBufLen);
-    if (bTimestampInstalled)
-        vFreeMemPageAligned (pqwTSBuffer, lTSBufLen);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_poll.dsp b/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_poll.dsp
deleted file mode 100644
index 88fd261aa66a1cf857025def645bc60838b3c14b..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_poll.dsp
+++ /dev/null
@@ -1,140 +0,0 @@
-# Microsoft Developer Studio Project File - Name="rec_multi_poll" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=rec_multi_poll - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_multi_poll.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_multi_poll.mak" CFG="rec_multi_poll - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "rec_multi_poll - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "rec_multi_poll - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "rec_multi_poll - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "rec_multi_poll - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "rec_multi_poll - Win32 Release"
-# Name "rec_multi_poll - Win32 Debug"
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools_win.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Group "header"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\rec_multi_poll.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_poll.vcproj b/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_poll.vcproj
deleted file mode 100644
index b49036466b47b154dd3e3439e14ef9b7bee51f24..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_poll.vcproj
+++ /dev/null
@@ -1,606 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rec_multi_poll"
-	ProjectGUID="{EAE5880B-0B91-4E5C-8B9E-DFD554FDECFF}"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rec_multi_poll.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_multi_poll.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_multi_poll.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_multi_poll.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_multi_poll.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rec_multi_poll.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_multi_poll.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_multi_poll.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_multi_poll.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_multi_poll.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rec_multi_poll.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_multi_poll.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_multi_poll.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_multi_poll.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_multi_poll.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rec_multi_poll.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_multi_poll.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_multi_poll.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_multi_poll.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_multi_poll.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="header"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath="rec_multi_poll.cpp"
-			>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_poll.vcxproj b/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_poll.vcxproj
deleted file mode 100644
index 17b96a8e53bc3eeacff59aecaf9f4d773aec2014..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_poll.vcxproj
+++ /dev/null
@@ -1,264 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{EAE5880B-0B91-4E5C-8B9E-DFD554FDECFF}</ProjectGuid>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_multi_poll.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_multi_poll.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_multi_poll.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_multi_poll.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_multi_poll.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_multi_poll.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_multi_poll.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_multi_poll.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_multi_poll.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_multi_poll.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_multi_poll.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_multi_poll.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_multi_poll.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_multi_poll.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_multi_poll.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_multi_poll.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="rec_fifo_multi_poll.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_poll.vcxproj.filters b/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_poll.vcxproj.filters
deleted file mode 100644
index 066a6a805217b9eac889affd26beeceb8c85bd96..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_multi/rec_fifo_multi_poll.vcxproj.filters
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="common">
-      <UniqueIdentifier>{bfd51133-482d-48d9-ada6-5dd1a5886aa2}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="header">
-      <UniqueIdentifier>{a8e8b2e6-c284-417a-9dad-a5ee0ac250a5}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="rec_fifo_multi_poll.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib" />
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/makefile.asciifile b/Cpp/examples/c_cpp/rec_fifo_single/makefile.asciifile
deleted file mode 100644
index 62a2e114f4a4fc5f5989a72ef7f6fd8c1449bc8d..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/makefile.asciifile
+++ /dev/null
@@ -1,25 +0,0 @@
-COMPILER =   g++
-EXECUTABLE = rec_single_asciifile
-LIBS += -lspcm_linux -lpthread -lrt
-
-OBJECTS = \
-    rec_single_asciifile.o\
-	../common/spcm_lib_card.o\
-	../common/spcm_lib_data.o\
-	../common/spcm_lib_thread.o\
-	../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/makefile.average b/Cpp/examples/c_cpp/rec_fifo_single/makefile.average
deleted file mode 100644
index de51f2f3e00bbea907ac5b8d3c38577b7b4fe3be..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/makefile.average
+++ /dev/null
@@ -1,25 +0,0 @@
-COMPILER =   g++
-EXECUTABLE = rec_single_average
-LIBS += -lspcm_linux -lpthread -lrt
-
-OBJECTS = \
-    rec_single_average.o\
-	../common/spcm_lib_card.o\
-	../common/spcm_lib_data.o\
-	../common/spcm_lib_thread.o\
-	../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/makefile.binaryfile b/Cpp/examples/c_cpp/rec_fifo_single/makefile.binaryfile
deleted file mode 100644
index ddf70cb1783a8a570230edd6963cbb9d7b8af972..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/makefile.binaryfile
+++ /dev/null
@@ -1,26 +0,0 @@
-COMPILER =   g++
-EXECUTABLE = rec_single_binaryfile
-LIBS += -lspcm_linux -lpthread -lrt
-
-OBJECTS = \
-    rec_single_binaryfile.o\
-	../common/spcm_lib_card.o\
-	../common/spcm_lib_data.o\
-	../common/spcm_lib_thread.o\
-	../sb5_file/sb5_file.o\
-	../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/makefile.poll b/Cpp/examples/c_cpp/rec_fifo_single/makefile.poll
deleted file mode 100644
index 57a6a8c9739c8d7143df4f58e6299f2e68ab6c29..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/makefile.poll
+++ /dev/null
@@ -1,24 +0,0 @@
-COMPILER =   g++
-EXECUTABLE = rec_fifo_single_poll
-LIBS += -lspcm_linux -lpthread -lrt
-
-OBJECTS = \
-    rec_fifo_single_poll.o\
-	../common/spcm_lib_card.o\
-	../common/spcm_lib_data.o\
-	../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single.bpg b/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single.bpg
deleted file mode 100644
index 5579f6bc401524eb4fa092f39a0741c820d27bd1..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single.bpg
+++ /dev/null
@@ -1,30 +0,0 @@
-#------------------------------------------------------------------------------
-VERSION = BWS.01
-#------------------------------------------------------------------------------
-!ifndef ROOT
-ROOT = $(MAKEDIR)\..
-!endif
-#------------------------------------------------------------------------------
-MAKE = $(ROOT)\bin\make.exe -$(MAKEFLAGS) -f$**
-DCC = $(ROOT)\bin\dcc32.exe $**
-BRCC = $(ROOT)\bin\brcc32.exe $**
-#------------------------------------------------------------------------------
-PROJECTS = rec_single_binaryfile.exe rec_single_average.exe \
-  rec_single_asciifile.exe
-#------------------------------------------------------------------------------
-default: $(PROJECTS)
-#------------------------------------------------------------------------------
-
-rec_single_binaryfile.exe: rec_single_binaryfile.bpr
-  $(ROOT)\bin\bpr2mak $**
-  $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
-
-rec_single_average.exe: rec_single_average.bpr
-  $(ROOT)\bin\bpr2mak $**
-  $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
-
-rec_single_asciifile.exe: rec_single_asciifile.bpr
-  $(ROOT)\bin\bpr2mak $**
-  $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
-
-
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single.dsw b/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single.dsw
deleted file mode 100644
index 9043d8a2f9ba689d596c2ab2e7a47ce71052819d..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single.dsw
+++ /dev/null
@@ -1,65 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "rec_fifo_single_poll"=.\rec_fifo_single_poll.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "rec_single_asciifile"=.\rec_single_asciifile.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "rec_single_average"=.\rec_single_average.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "rec_single_binaryfile"=.\rec_single_binaryfile.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single.sln b/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single.sln
deleted file mode 100644
index 665009adb5e2d979618035cabec13ee3e56e64e3..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single.sln
+++ /dev/null
@@ -1,56 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rec_fifo_single_poll", "rec_fifo_single_poll.vcproj", "{E10A3A9A-ED50-4E21-8503-F9E0E9B235B7}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rec_single_asciifile", "rec_single_asciifile.vcproj", "{31B6AF2E-BF61-45BB-AE0E-D819DE443AE2}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rec_single_average", "rec_single_average.vcproj", "{C7E8D563-BF2C-4AEA-98A5-EFADA43EE6EB}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rec_single_binaryfile", "rec_single_binaryfile.vcproj", "{7E25D4B9-F5D6-4D15-9BC1-0FD1158BC807}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Win32 = Debug|Win32
-		Debug|x64 = Debug|x64
-		Release|Win32 = Release|Win32
-		Release|x64 = Release|x64
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{E10A3A9A-ED50-4E21-8503-F9E0E9B235B7}.Debug|Win32.ActiveCfg = Debug|Win32
-		{E10A3A9A-ED50-4E21-8503-F9E0E9B235B7}.Debug|Win32.Build.0 = Debug|Win32
-		{E10A3A9A-ED50-4E21-8503-F9E0E9B235B7}.Debug|x64.ActiveCfg = Debug|x64
-		{E10A3A9A-ED50-4E21-8503-F9E0E9B235B7}.Debug|x64.Build.0 = Debug|x64
-		{E10A3A9A-ED50-4E21-8503-F9E0E9B235B7}.Release|Win32.ActiveCfg = Release|Win32
-		{E10A3A9A-ED50-4E21-8503-F9E0E9B235B7}.Release|Win32.Build.0 = Release|Win32
-		{E10A3A9A-ED50-4E21-8503-F9E0E9B235B7}.Release|x64.ActiveCfg = Release|x64
-		{E10A3A9A-ED50-4E21-8503-F9E0E9B235B7}.Release|x64.Build.0 = Release|x64
-		{31B6AF2E-BF61-45BB-AE0E-D819DE443AE2}.Debug|Win32.ActiveCfg = Debug|Win32
-		{31B6AF2E-BF61-45BB-AE0E-D819DE443AE2}.Debug|Win32.Build.0 = Debug|Win32
-		{31B6AF2E-BF61-45BB-AE0E-D819DE443AE2}.Debug|x64.ActiveCfg = Debug|x64
-		{31B6AF2E-BF61-45BB-AE0E-D819DE443AE2}.Debug|x64.Build.0 = Debug|x64
-		{31B6AF2E-BF61-45BB-AE0E-D819DE443AE2}.Release|Win32.ActiveCfg = Release|Win32
-		{31B6AF2E-BF61-45BB-AE0E-D819DE443AE2}.Release|Win32.Build.0 = Release|Win32
-		{31B6AF2E-BF61-45BB-AE0E-D819DE443AE2}.Release|x64.ActiveCfg = Release|x64
-		{31B6AF2E-BF61-45BB-AE0E-D819DE443AE2}.Release|x64.Build.0 = Release|x64
-		{C7E8D563-BF2C-4AEA-98A5-EFADA43EE6EB}.Debug|Win32.ActiveCfg = Debug|Win32
-		{C7E8D563-BF2C-4AEA-98A5-EFADA43EE6EB}.Debug|Win32.Build.0 = Debug|Win32
-		{C7E8D563-BF2C-4AEA-98A5-EFADA43EE6EB}.Debug|x64.ActiveCfg = Debug|x64
-		{C7E8D563-BF2C-4AEA-98A5-EFADA43EE6EB}.Debug|x64.Build.0 = Debug|x64
-		{C7E8D563-BF2C-4AEA-98A5-EFADA43EE6EB}.Release|Win32.ActiveCfg = Release|Win32
-		{C7E8D563-BF2C-4AEA-98A5-EFADA43EE6EB}.Release|Win32.Build.0 = Release|Win32
-		{C7E8D563-BF2C-4AEA-98A5-EFADA43EE6EB}.Release|x64.ActiveCfg = Release|x64
-		{C7E8D563-BF2C-4AEA-98A5-EFADA43EE6EB}.Release|x64.Build.0 = Release|x64
-		{7E25D4B9-F5D6-4D15-9BC1-0FD1158BC807}.Debug|Win32.ActiveCfg = Debug|Win32
-		{7E25D4B9-F5D6-4D15-9BC1-0FD1158BC807}.Debug|Win32.Build.0 = Debug|Win32
-		{7E25D4B9-F5D6-4D15-9BC1-0FD1158BC807}.Debug|x64.ActiveCfg = Debug|x64
-		{7E25D4B9-F5D6-4D15-9BC1-0FD1158BC807}.Debug|x64.Build.0 = Debug|x64
-		{7E25D4B9-F5D6-4D15-9BC1-0FD1158BC807}.Release|Win32.ActiveCfg = Release|Win32
-		{7E25D4B9-F5D6-4D15-9BC1-0FD1158BC807}.Release|Win32.Build.0 = Release|Win32
-		{7E25D4B9-F5D6-4D15-9BC1-0FD1158BC807}.Release|x64.ActiveCfg = Release|x64
-		{7E25D4B9-F5D6-4D15-9BC1-0FD1158BC807}.Release|x64.Build.0 = Release|x64
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single_poll.cpp b/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single_poll.cpp
deleted file mode 100644
index 9b584bec5fd68289723551e9674754429f7b22b2..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single_poll.cpp
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
-**************************************************************************
-
-rec_fifo_single_poll.cpp                                 (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all SpcMDrv based analog and digital acquisition cards.
-
-Information about the different products and their drivers can be found
-online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/platform-driver-and-series-differences
-
-Shows FIFO acquisitition.
-
-This example doesn't use interrupt mode but shows status polling. Be
-aware that this of course uses complete CPU time just for polling data.
-
-This example also shows how to read out the remaining data from the on-board
-memory in case that an overung has occurred.
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <math.h>
-
-
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-
-
-/*
-**************************************************************************
-bDoCardSetup: setup of acquisition card
-**************************************************************************
-*/
-
-bool bDoCardSetup (ST_SPCM_CARDINFO *pstCard)
-    {
-    int     i;
-
-    // we try to set the samplerate to 1 MHz (M2i) or 20 MHz (M3i, M4i) on internal PLL, no clock output
-    // increase this to test the read-out-after-overrun
-    if (pstCard->bM2i)
-        bSpcMSetupClockPLL (pstCard, MEGA(1), false);
-    else if (pstCard->bM2p)
-        bSpcMSetupClockPLL (pstCard, MEGA(10), false);
-    else if (pstCard->bM3i || pstCard->bM4i || pstCard->bM5i)
-        bSpcMSetupClockPLL (pstCard, MEGA(20), false);
-
-    printf ("Sampling rate set to %.1lf MHz\n", (double) pstCard->llSetSamplerate / 1000000);
-
-    // we set software trigger, no trigger output
-    bSpcMSetupTrigSoftware (pstCard, false);
-
-    // type dependent card setup
-    switch (pstCard->eCardFunction)
-        {
-        case AnalogIn:
-
-            // program all input channels to +/-1 V and 50 ohm termination (if it's available)
-            if (pstCard->bM2i || pstCard->bM2p)
-                {
-                for (i=0; i < pstCard->lMaxChannels; i++)
-                    bSpcMSetupInputChannel (pstCard, i, 1000, true);
-                }
-            else
-                {
-                bool bTerm           = true;
-                bool bACCoupling     = false;
-                bool bBandwidthLimit = false;
-                for (i=0; i < pstCard->lMaxChannels; i++)
-                    bSpcMSetupPathInputCh (pstCard, i, 0, 1000, 0, bTerm, bACCoupling, bBandwidthLimit);
-                }
-
-            // FIFO mode setup, we run continuously
-            // all channels are activated
-            bSpcMSetupModeRecFIFOSingle (pstCard, (1 << pstCard->lMaxChannels) - 1, 32);
-            break;
-
-        case DigitalIn:
-        case DigitalIO:
-
-            // FIFO mode setup, we run continuously, 16 channels activated
-            bSpcMSetupModeRecFIFOSingle (pstCard, 0xffff, 4);
-            break;
-        }
-
-    return pstCard->bSetError;
-    }
-
-
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO    stCard;             // info structure of my card
-    void*               pvBuffer = NULL;
-    uint32              dwErr;
-
-    // setup for the FIFO mode
-    int64        llSWBufSize =      KILO_B(512);
-    int64        llNotifySize =     KILO_B(64);
-
-
-
-    // ------------------------------------------------------------------------
-    // init card number 0 (the first card in the system), get some information and print it
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    if (bSpcMInitCardByIdx (&stCard, 0))
-    //if (bSpcMInitCardByIdx (&stCard, "192.168.1.10", 0))
-        {
-        printf (pszSpcMPrintDocumentationLink (&stCard, szBuffer, sizeof (szBuffer)));
-        printf (pszSpcMPrintCardInfo (&stCard, szBuffer, sizeof (szBuffer)));
-        }
-    else
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Could not open card\n", true);
-
-
-    // check whether we support this card type in the example
-    if ((stCard.eCardFunction != AnalogIn) && (stCard.eCardFunction != DigitalIn) && (stCard.eCardFunction != DigitalIO))
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Card function not supported by this example\n", false);
-
-
-
-    // ------------------------------------------------------------------------
-    // do the card setup, error is routed in the structure so we don't care for the return values
-    if (!stCard.bSetError)
-        bDoCardSetup (&stCard);
-
-
-
-    // ------------------------------------------------------------------------
-    // allocate and setup the fifo buffer
-    pvBuffer = pvAllocMemPageAligned ((uint32) llSWBufSize);
-    if (!pvBuffer)
-        return nSpcMErrorMessageStdOut (&stCard, "Memory allocation error\n", false);
-    spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, (uint32) llNotifySize, pvBuffer, 0, llSWBufSize);
-
-    // we now start everything
-    if (!stCard.bSetError)
-        dwErr = spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER | M2CMD_DATA_STARTDMA);
-
-
-
-    // ------------------------------------------------------------------------
-    // this is our main polling loop
-    printf ("\n\n");
-    if (!stCard.bSetError)
-        {
-        int64 llTransferredBytes = 0;
-        int64 llAvailUser;
-        int64 llBufferFillPromille;
-        int32 lStatus;
-
-        // we loop as long as everthing is ok or an overrun has occurred
-        while ((dwErr == ERR_OK) || (dwErr == ERR_FIFOHWOVERRUN))
-            {
-
-            // check status and fill size of buffers
-            if (!dwErr) dwErr = spcm_dwGetParam_i32 (stCard.hDrv, SPC_M2STATUS, &lStatus);
-            if (!dwErr) dwErr = spcm_dwGetParam_i64 (stCard.hDrv, SPC_DATA_AVAIL_USER_LEN, &llAvailUser);
-            if (!dwErr) dwErr = spcm_dwGetParam_i64 (stCard.hDrv, SPC_FILLSIZEPROMILLE, &llBufferFillPromille);
-
-            // give some status messages
-            printf("\r[");
-            if (lStatus & M2STAT_CARD_PRETRIGGER)   printf (" Pre");  else printf ("    ");
-            if (lStatus & M2STAT_CARD_TRIGGER)      printf (" Trg");  else printf ("    ");
-            if (lStatus & M2STAT_CARD_TRIGGER)      printf (" Rdy");  else printf ("    ");
-            if (lStatus & M2STAT_DATA_BLOCKREADY)   printf (" DBlk"); else printf ("     ");
-            if (lStatus & M2STAT_DATA_END)          printf (" DEnd"); else printf ("     ");
-            if (lStatus & M2STAT_DATA_OVERRUN)      printf (" DOvr"); else printf ("     ");
-            printf ("] ");
-
-            // some data has been transferred
-            if (llAvailUser > 0)
-                {
-                llTransferredBytes += llAvailUser;
-
-                // this is the point to do something with the data, we simple give a message here
-                printf ("Avail:%6dkB  SW:%3.0f%%  HW:%3d%%  Total:%6.2fMB", (int32) (llAvailUser / KILO_B(1)), (float) 100.0 * llAvailUser / llSWBufSize, (uint32) llBufferFillPromille / 10, (float) llTransferredBytes / MEGA_B(1));
-
-                // set the data free for FIFO mode again
-                dwErr = spcm_dwSetParam_i64 (stCard.hDrv, SPC_DATA_AVAIL_CARD_LEN, llAvailUser);
-                }
-
-            // check for data end, being emerged after an overrun and all the remaining data has been read out
-            // the loop continues after the overrun to get all data that is still in the on-board memory
-            if (lStatus & M2STAT_DATA_END)
-                {
-                dwErr = ERR_ABORT;
-                printf ("\nOverrun and all remaining data has been read out, we quit now!\n");
-                }
-
-            // check for esc=abort
-            if (!dwErr)
-                if (bKbhit())
-                    if (cGetch() == 27)
-                        {
-                        spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_STOP);
-                        dwErr = ERR_ABORT;
-                        printf ("\n\n");
-                        }
-            }
-        }
-
-
-
-    // ------------------------------------------------------------------------
-    // print error information if an error occured
-    if (stCard.bSetError)
-        return nSpcMErrorMessageStdOut (&stCard, "An error occured while programming the card:\n", true);
-
-
-    // clean up and close the driver
-    vSpcMCloseCard (&stCard);
-
-    printf ("\n\n");
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single_poll.dsp b/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single_poll.dsp
deleted file mode 100644
index cfe308941809666aacece3d8bbc0cc8a35f684b3..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single_poll.dsp
+++ /dev/null
@@ -1,148 +0,0 @@
-# Microsoft Developer Studio Project File - Name="rec_fifo_single_poll" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=rec_fifo_single_poll - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_fifo_single_poll.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_fifo_single_poll.mak" CFG="rec_fifo_single_poll - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "rec_fifo_single_poll - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "rec_fifo_single_poll - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "rec_fifo_single_poll - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "rec_fifo_single_poll - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "rec_fifo_single_poll - Win32 Release"
-# Name "rec_fifo_single_poll - Win32 Debug"
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools_win.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Group "header"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_thread.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_oswrap.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\rec_fifo_single_poll.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single_poll.vcproj b/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single_poll.vcproj
deleted file mode 100644
index 6aa60f95ab77358f085cb16511bfaf9155c6f138..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single_poll.vcproj
+++ /dev/null
@@ -1,583 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rec_fifo_single_poll"
-	ProjectGUID="{E10A3A9A-ED50-4E21-8503-F9E0E9B235B7}"
-	RootNamespace="rec_single_asciifile"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rec_single_asciifile.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_single_asciifile.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_fifo_single_poll.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_single_asciifile.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_single_asciifile.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rec_single_asciifile.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_single_asciifile.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_fifo_single_poll.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_single_asciifile.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_single_asciifile.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rec_single_asciifile.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_single_asciifile.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_fifo_single_poll.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_single_asciifile.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_single_asciifile.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rec_single_asciifile.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_single_asciifile.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_fifo_single_poll.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_single_asciifile.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_single_asciifile.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="header"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_thread.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath=".\rec_fifo_single_poll.cpp"
-			>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single_poll.vcxproj b/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single_poll.vcxproj
deleted file mode 100644
index 14ab833b52eb061b966b569f8bc788d11cd2676e..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single_poll.vcxproj
+++ /dev/null
@@ -1,267 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{E10A3A9A-ED50-4E21-8503-F9E0E9B235B7}</ProjectGuid>
-    <RootNamespace>rec_single_asciifile</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_single_asciifile.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_single_asciifile.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_single_asciifile.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_single_asciifile.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_single_asciifile.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_single_asciifile.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_single_asciifile.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_single_asciifile.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_single_asciifile.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_single_asciifile.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_single_asciifile.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_single_asciifile.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_single_asciifile.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_single_asciifile.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_single_asciifile.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_single_asciifile.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="rec_fifo_single_poll.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\common\spcm_lib_thread.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single_poll.vcxproj.filters b/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single_poll.vcxproj.filters
deleted file mode 100644
index 7667e410357d4b59bbfded5b6614765dcd49bf37..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_fifo_single_poll.vcxproj.filters
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="common">
-      <UniqueIdentifier>{b704dd05-10eb-49b4-adc7-ae1b96ff8707}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="header">
-      <UniqueIdentifier>{8d7f60fe-e68d-40f9-8263-815d21d5f962}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="rec_fifo_single_poll.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_thread.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_asciifile.bpf b/Cpp/examples/c_cpp/rec_fifo_single/rec_single_asciifile.bpf
deleted file mode 100644
index 5da88241fe8e80944de42def849bf4eab8f1f666..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_asciifile.bpf
+++ /dev/null
@@ -1,3 +0,0 @@
-This file is used by the project manager only and should be treated like the project file
-
-
main 
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_asciifile.bpr b/Cpp/examples/c_cpp/rec_fifo_single/rec_single_asciifile.bpr
deleted file mode 100644
index 356c468edaa4016529818e21abcc8b545a67b2b6..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_asciifile.bpr
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<!-- C++Builder XML Project -->
-<PROJECT>
-  <MACROS>
-    <VERSION value="BCB.06.00"/>
-    <PROJECT value="rec_single_asciifile.exe"/>
-    <OBJFILES value="..\common\spcm_lib_thread.obj ..\common\spcm_lib_card.obj 
-      ..\common\spcm_lib_data.obj ..\common\ostools\spcm_ostools_win.obj 
-      rec_single_asciifile.obj ..\sb5_file\sb5_file.obj"/>
-    <RESFILES value=""/>
-    <DEFFILE value=""/>
-    <RESDEPEN value="$(RESFILES)"/>
-    <LIBFILES value="..\c_header\spcm_win32_bcppb.lib"/>
-    <LIBRARIES value=""/>
-    <SPARELIBS value=""/>
-    <PACKAGES value="vcl.bpi rtl.bpi vclx.bpi bcbsmp.bpi dclocx.bpi"/>
-    <PATHCPP value=".;..\common;..\common;..\common;..\common\ostools;..\sb5_file"/>
-    <PATHPAS value=".;"/>
-    <PATHRC value=".;"/>
-    <PATHASM value=".;"/>
-    <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
-    <RELEASELIBPATH value="$(BCB)\lib\release"/>
-    <LINKER value="ilink32"/>
-    <USERDEFINES value="_DEBUG"/>
-    <SYSDEFINES value="NO_STRICT;_NO_VCL;_RTLDLL;USEPACKAGES"/>
-    <MAINSOURCE value="rec_single_asciifile.bpf"/>
-    <INCLUDEPATH value="..\sb5_file;C:\svnwork\spcm_drv_c\common\ostools;C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rec_fifo_single;$(BCB)\include;$(BCB)\include\vcl"/>
-    <LIBPATH value="..\sb5_file;C:\svnwork\spcm_drv_c\common\ostools;C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rec_fifo_single;$(BCB)\lib\obj;$(BCB)\lib"/>
-    <WARNINGS value="-w-par"/>
-    <OTHERFILES value=""/>
-  </MACROS>
-  <OPTIONS>
-    <CFLAG1 value="-tWC -tWM -Od -H=$(BCB)\lib\vcl60.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v 
-      -vi- -c"/>
-    <PFLAGS value="-$YD -$W -$O- -$A8 -v -JPHNE -M"/>
-    <RFLAGS value=""/>
-    <AFLAGS value="/mx /w2 /zd"/>
-    <LFLAGS value="-Tpe -ap -D&quot;&quot; -x -Gn -v"/>
-    <OTHERFILES value=""/>
-  </OPTIONS>
-  <LINKER>
-    <ALLOBJ value="c0x32.obj $(PACKAGES) $(OBJFILES)"/>
-    <ALLRES value="$(RESFILES)"/>
-    <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mti.lib"/>
-    <OTHERFILES value=""/>
-  </LINKER>
-  <FILELIST>
-      <FILE FILENAME="rec_single_asciifile.bpf" FORMNAME="" UNITNAME="rec_single_asciifile" CONTAINERID="BPF" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_thread.cpp" FORMNAME="" UNITNAME="spcm_lib_thread.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_card.cpp" FORMNAME="" UNITNAME="spcm_lib_card.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_data.cpp" FORMNAME="" UNITNAME="spcm_lib_data.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\c_header\spcm_win32_bcppb.lib" FORMNAME="" UNITNAME="spcm_win32_bcppb.lib" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\ostools\spcm_ostools_win.cpp" FORMNAME="" UNITNAME="spcm_ostools_win" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="rec_single_asciifile.cpp" FORMNAME="" UNITNAME="rec_single_asciifile" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\sb5_file\sb5_file.cpp" FORMNAME="" UNITNAME="sb5_file" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-  </FILELIST>
-  <BUILDTOOLS>
-  </BUILDTOOLS>
-
-  <IDEOPTIONS>
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1031
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[Debugging]
-DebugSourceDirs=$(BCB)\source\vcl
-
-[Parameters]
-RunParams=
-Launcher=
-UseLauncher=0
-DebugCWD=
-HostApplication=
-RemoteHost=
-RemotePath=
-RemoteLauncher=
-RemoteCWD=
-RemoteDebug=0
-
-[Compiler]
-ShowInfoMsgs=0
-LinkDebugVcl=0
-  </IDEOPTIONS>
-</PROJECT>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_asciifile.cpp b/Cpp/examples/c_cpp/rec_fifo_single/rec_single_asciifile.cpp
deleted file mode 100644
index f04558833de64c8084f5a43f2b70b4f52ccc3d56..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_asciifile.cpp
+++ /dev/null
@@ -1,308 +0,0 @@
-/*
-**************************************************************************
-
-rec_single_ascii.cpp                                     (c) Spectrum GmbH
-
-**************************************************************************
-
-Does a continous FIFO transfer and writes data as hex to an ascii file
-
-Change the global flag g_bThread to use the threaded version or the plain
-and more simple loop.
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-#include "../common/spcm_lib_thread.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-
-// ----- this is the global thread flag that defines whether we use the thread or non-thread loop -----
-bool g_bThread = false;
-
-
-/*
-**************************************************************************
-bDoCardSetup: setup matching the calculation routine
-**************************************************************************
-*/
-
-bool bDoCardSetup (ST_SPCM_CARDINFO *pstCard)
-    {
-    int     i;
-    int64 llChannelMask;
-
-    // set mask for maximal channels
-    if (pstCard->lMaxChannels >= 64)
-        llChannelMask = -1; // -1 is all bits set to 1 = 0xffffffffffffffff
-    else
-        llChannelMask = ((int64) 1 << pstCard->lMaxChannels) - 1;
-
-    // FIFO mode setup, we run continuously and have 32 samples of pre data before trigger event
-    // all available channels are activated
-    bSpcMSetupModeRecFIFOSingle (pstCard, llChannelMask, 32);
-
-    // we try to set the samplerate to 1 MHz (M2i) or 20 MHz (M3i, M4i) on internal PLL, no clock output
-    // increase this to test the read-out-after-overrun
-    if (pstCard->bM2i)
-        bSpcMSetupClockPLL (pstCard, MEGA(1), false);
-    else if (pstCard->bM2p)
-        bSpcMSetupClockPLL (pstCard, MEGA(10), false);
-    else if (pstCard->bM3i || pstCard->bM4i || pstCard->bM5i)
-        bSpcMSetupClockPLL (pstCard, MEGA(20), false);
-    printf ("Sampling rate set to %.1lf MHz\n", (double) pstCard->llSetSamplerate / 1000000);
-
-    // we set software trigger, no trigger output
-    bSpcMSetupTrigSoftware (pstCard, false);
-
-    // type dependent card setup
-    switch (pstCard->eCardFunction)
-        {
-
-        // analog acquisition card setup
-        case AnalogIn:
-
-            // program all input channels to +/-1 V and 50 ohm termination (if it's available)
-            if (pstCard->bM2i || pstCard->bM2p)
-                {
-                for (i=0; i < pstCard->lMaxChannels; i++)
-                    bSpcMSetupInputChannel (pstCard, i, 1000, true);
-                }
-            else
-                {
-                bool bTerm           = true;
-                bool bACCoupling     = false;
-                bool bBandwidthLimit = false;
-                for (i=0; i < pstCard->lMaxChannels; i++)
-                    bSpcMSetupPathInputCh (pstCard, i, 0, 1000, 0, bTerm, bACCoupling, bBandwidthLimit);
-                }
-            break;
-
-        // digital acquisition card setup
-        case DigitalIn:
-        case DigitalIO:
-
-            // set all input channel groups to 110 ohm termination (if it's available)
-            for (i=0; i < pstCard->uCfg.stDIO.lGroups; i++)
-                bSpcMSetupDigitalInput (pstCard, i, true);
-            break;
-        }
-
-    return pstCard->bSetError;
-    }
-
-
-
-#define FILENAME "FIFO_ascii_test.txt"
-
-/*
-**************************************************************************
-Working routine data
-**************************************************************************
-*/
-
-struct ST_WORKDATA
-    {
-    FILE*   hFile;
-    int64   llFileSize;
-    };
-
-
-
-/*
-**************************************************************************
-Setup working routine
-**************************************************************************
-*/
-
-bool bWorkInit (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA* pstWorkData = (ST_WORKDATA*) pvWorkData;
-
-    // setup for the transfer, to avoid overrun we use quite large blocks as this has a better throughput to hard disk
-    pstBufferData->dwDataBufLen = MEGA_B(64);
-    pstBufferData->dwDataNotify = MEGA_B(1);
-
-    // setup for the work
-    pstWorkData->hFile = fopen (FILENAME, "wt");
-    pstWorkData->llFileSize = 0;
-
-    return (pstWorkData->hFile != NULL);
-    }
-
-
-
-/*
-**************************************************************************
-bWorkDo: stores data to hard disk
-**************************************************************************
-*/
-
-bool bWorkDo (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA* pstWorkData = (ST_WORKDATA*) pvWorkData;
-    int32 lChannels =   pstBufferData->pstCard->lSetChannels;
-    int32 lSamples =    pstBufferData->dwDataNotify / pstBufferData->pstCard->lBytesPerSample;
-    FILE* f =           pstWorkData->hFile;
-    int32 lIndex;
-
-
-    // we only care for blocks of notify size
-    if (pstBufferData->llDataAvailBytes < pstBufferData->dwDataNotify)
-        return true;
-
-    pstBufferData->llDataAvailBytes = pstBufferData->dwDataNotify;
-
-    // we don't use the split data function as this takes too much time, Instead we go through data manually and write
-    // as this is an universal example we need two loops for 8 bit wide analog data and for 12, 14, 16 bit analog data
-
-    // 1 byte data (8 bit resolution)
-    if (pstBufferData->pstCard->lBytesPerSample == 1)
-        {
-        int8*  pbyData = (int8*) pstBufferData->pvDataCurrentBuf;
-        for (lIndex = 0; lIndex < lSamples; lIndex ++)
-            {
-            fprintf (f, "0x%02x ", *pbyData++ & 0xff);
-            if ((lIndex % lChannels) == (lChannels -1))
-                fprintf (f, "\n");
-            }
-        pstWorkData->llFileSize += 5 * lSamples + 2 * (lSamples / lChannels);
-        }
-
-    // 2 byte data (12, 14 and 16 bit resolution)
-    else
-        {
-        int16* pnData = (int16*) pstBufferData->pvDataCurrentBuf;
-        for (lIndex = 0; lIndex < lSamples; lIndex ++)
-            {
-            fprintf (f, "0x%04x ", *pnData++ & 0xffff);
-            if ((lIndex % lChannels) == (lChannels -1))
-                fprintf (f, "\n");
-            }
-        pstWorkData->llFileSize += 7 * lSamples + 2 * (lSamples / lChannels);
-        }
-
-    // announce the number of data that has been written
-    printf ("\r%.2f MSamples (sum) written to %s (file size: %.2f MB)",
-        (double) pstBufferData->qwDataTransferred / pstBufferData->pstCard->lBytesPerSample / 1024.0 / 1024.0,
-        FILENAME,
-        (double) pstWorkData->llFileSize / 1024 / 1024);
-
-
-    return true;
-    }
-
-
-
-
-/*
-**************************************************************************
-vWorkClose: Close the work and clean up
-**************************************************************************
-*/
-
-void vWorkClose (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA* pstWorkData = (ST_WORKDATA*) pvWorkData;
-
-    if (pstWorkData->hFile)
-        fclose (pstWorkData->hFile);
-    }
-
-
-
-
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO    stCard;             // info structure of my card
-    ST_BUFFERDATA       stBufferData;       // buffer and transfer definitions
-    ST_WORKDATA         stWorkData;         // work data for the working functions
-
-
-    // ------------------------------------------------------------------------
-    // init card number 0 (the first card in the system), get some information and print it
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    if (bSpcMInitCardByIdx (&stCard, 0))
-    //if (bSpcMInitCardByIdx (&stCard, "192.168.1.10", 0))
-        {
-        printf (pszSpcMPrintDocumentationLink (&stCard, szBuffer, sizeof (szBuffer)));
-        printf (pszSpcMPrintCardInfo (&stCard, szBuffer, sizeof (szBuffer)));
-        }
-    else
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Could not open card\n", true);
-
-
-    // check whether we support this card type in the example
-    if ((stCard.eCardFunction != AnalogIn) && (stCard.eCardFunction != DigitalIn) && (stCard.eCardFunction != DigitalIO))
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Card function not supported by this example\n", false);
-
-
-    // ------------------------------------------------------------------------
-    // do the card setup, error is routed in the structure so we don't care for the return values
-    if (!stCard.bSetError)
-        bDoCardSetup (&stCard);
-
-
-    // ------------------------------------------------------------------------
-    // setup the data transfer thread and start it, we use atimeout of 5 s in the example
-    memset (&stBufferData, 0, sizeof(stBufferData));
-    stBufferData.pstCard =      &stCard;
-    stBufferData.bStartCard =   true;
-    stBufferData.bStartData =   true;
-    stBufferData.lTimeout =     5000;
-
-    // start the threaded version if g_bThread is defined
-    if (!stCard.bSetError && g_bThread)
-        vDoThreadMainLoop (&stBufferData, &stWorkData, bWorkInit, bWorkDo, vWorkClose, bKeyAbortCheck);
-
-    // start the unthreaded version with a smaller timeout of 100 ms to gain control about the FIFO loop
-    stBufferData.lTimeout =     100;
-    if (!stCard.bSetError && !g_bThread)
-        vDoMainLoop (&stBufferData, &stWorkData, bWorkInit, bWorkDo, vWorkClose, bKeyAbortCheck);
-
-
-    // ------------------------------------------------------------------------
-    // print error information if an error occured
-    if (stCard.bSetError)
-        return nSpcMErrorMessageStdOut (&stCard, "An error occured while programming the card:\n", true);
-
-
-    // clean up and close the driver
-    vSpcMCloseCard (&stCard);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_asciifile.dsp b/Cpp/examples/c_cpp/rec_fifo_single/rec_single_asciifile.dsp
deleted file mode 100644
index 176dc9d61a011c1ecac140185182b59aa2f86929..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_asciifile.dsp
+++ /dev/null
@@ -1,152 +0,0 @@
-# Microsoft Developer Studio Project File - Name="rec_single_asciifile" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** NICHT BEARBEITEN **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=rec_single_asciifile - Win32 Debug
-!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
-!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_single_asciifile.mak".
-!MESSAGE 
-!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
-!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_single_asciifile.mak" CFG="rec_single_asciifile - Win32 Debug"
-!MESSAGE 
-!MESSAGE Für die Konfiguration stehen zur Auswahl:
-!MESSAGE 
-!MESSAGE "rec_single_asciifile - Win32 Release" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE "rec_single_asciifile - Win32 Debug" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "rec_single_asciifile - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "rec_single_asciifile - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ  /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ  /c
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "rec_single_asciifile - Win32 Release"
-# Name "rec_single_asciifile - Win32 Debug"
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_thread.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools_win.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Group "header"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_thread.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_oswrap.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\rec_single_asciifile.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_asciifile.vcproj b/Cpp/examples/c_cpp/rec_fifo_single/rec_single_asciifile.vcproj
deleted file mode 100644
index c04d090847c93b3e6fdc276f64add56eb87bc633..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_asciifile.vcproj
+++ /dev/null
@@ -1,651 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rec_single_asciifile"
-	ProjectGUID="{31B6AF2E-BF61-45BB-AE0E-D819DE443AE2}"
-	RootNamespace="rec_single_asciifile"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rec_single_asciifile.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_single_asciifile.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_single_asciifile.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_single_asciifile.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_single_asciifile.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rec_single_asciifile.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_single_asciifile.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_single_asciifile.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_single_asciifile.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_single_asciifile.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rec_single_asciifile.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_single_asciifile.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_single_asciifile.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_single_asciifile.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_single_asciifile.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rec_single_asciifile.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_single_asciifile.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_single_asciifile.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_single_asciifile.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_single_asciifile.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_thread.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="header"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_thread.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath="rec_single_asciifile.cpp"
-			>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_asciifile.vcxproj b/Cpp/examples/c_cpp/rec_fifo_single/rec_single_asciifile.vcxproj
deleted file mode 100644
index 7769b3669a5125de80b3d757152cb33e3b08584b..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_asciifile.vcxproj
+++ /dev/null
@@ -1,268 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{31B6AF2E-BF61-45BB-AE0E-D819DE443AE2}</ProjectGuid>
-    <RootNamespace>rec_single_asciifile</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_single_asciifile.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_single_asciifile.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_single_asciifile.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_single_asciifile.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_single_asciifile.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_single_asciifile.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_single_asciifile.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_single_asciifile.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_single_asciifile.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_single_asciifile.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_single_asciifile.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_single_asciifile.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_single_asciifile.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_single_asciifile.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_single_asciifile.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_single_asciifile.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="..\common\spcm_lib_thread.cpp" />
-    <ClCompile Include="rec_single_asciifile.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\common\spcm_lib_thread.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_asciifile.vcxproj.filters b/Cpp/examples/c_cpp/rec_fifo_single/rec_single_asciifile.vcxproj.filters
deleted file mode 100644
index 96a2f54c53312570c3fb458fa0913d4ce6bd8fec..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_asciifile.vcxproj.filters
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="common">
-      <UniqueIdentifier>{8be6539f-d17c-4894-ab6e-fc5480546754}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="header">
-      <UniqueIdentifier>{c7f2c8dc-f7b3-4ae1-bb2f-3eb738aa4888}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_thread.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="rec_single_asciifile.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_thread.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_average.bpf b/Cpp/examples/c_cpp/rec_fifo_single/rec_single_average.bpf
deleted file mode 100644
index 5da88241fe8e80944de42def849bf4eab8f1f666..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_average.bpf
+++ /dev/null
@@ -1,3 +0,0 @@
-This file is used by the project manager only and should be treated like the project file
-
-
main 
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_average.bpr b/Cpp/examples/c_cpp/rec_fifo_single/rec_single_average.bpr
deleted file mode 100644
index 6f6e4669b8d4d0d767648e925af315cd71e1d39f..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_average.bpr
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<!-- C++Builder XML Project -->
-<PROJECT>
-  <MACROS>
-    <VERSION value="BCB.06.00"/>
-    <PROJECT value="rec_single_average.exe"/>
-    <OBJFILES value="rec_single_average.obj ..\common\spcm_lib_thread.obj 
-      ..\common\spcm_lib_card.obj ..\common\spcm_lib_data.obj 
-      ..\common\ostools\spcm_ostools_win.obj"/>
-    <RESFILES value=""/>
-    <DEFFILE value=""/>
-    <RESDEPEN value="$(RESFILES)"/>
-    <LIBFILES value="..\c_header\spcm_win32_bcppb.lib"/>
-    <LIBRARIES value=""/>
-    <SPARELIBS value=""/>
-    <PACKAGES value="vcl.bpi rtl.bpi vclx.bpi bcbsmp.bpi dclocx.bpi"/>
-    <PATHCPP value=".;..\common;..\common;..\common;..\common\ostools"/>
-    <PATHPAS value=".;"/>
-    <PATHRC value=".;"/>
-    <PATHASM value=".;"/>
-    <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
-    <RELEASELIBPATH value="$(BCB)\lib\release"/>
-    <LINKER value="ilink32"/>
-    <USERDEFINES value="_DEBUG"/>
-    <SYSDEFINES value="NO_STRICT;_NO_VCL;_RTLDLL;USEPACKAGES"/>
-    <MAINSOURCE value="rec_single_average.bpf"/>
-    <INCLUDEPATH value="C:\svnwork\spcm_drv_c\common\ostools;C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rec_fifo_single;$(BCB)\include;$(BCB)\include\vcl"/>
-    <LIBPATH value="C:\svnwork\spcm_drv_c\common\ostools;C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rec_fifo_single;$(BCB)\lib\obj;$(BCB)\lib"/>
-    <WARNINGS value="-w-par"/>
-    <OTHERFILES value=""/>
-  </MACROS>
-  <OPTIONS>
-    <CFLAG1 value="-tWC -tWM -Od -H=$(BCB)\lib\vcl60.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v 
-      -vi- -c"/>
-    <PFLAGS value="-$YD -$W -$O- -$A8 -v -JPHNE -M"/>
-    <RFLAGS value=""/>
-    <AFLAGS value="/mx /w2 /zd"/>
-    <LFLAGS value="-Tpe -ap -D&quot;&quot; -x -Gn -v"/>
-    <OTHERFILES value=""/>
-  </OPTIONS>
-  <LINKER>
-    <ALLOBJ value="c0x32.obj $(PACKAGES) $(OBJFILES)"/>
-    <ALLRES value="$(RESFILES)"/>
-    <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mti.lib"/>
-    <OTHERFILES value=""/>
-  </LINKER>
-  <FILELIST>
-      <FILE FILENAME="rec_single_average.bpf" FORMNAME="" UNITNAME="rec_single_average" CONTAINERID="BPF" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="rec_single_average.cpp" FORMNAME="" UNITNAME="rec_single_average" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_thread.cpp" FORMNAME="" UNITNAME="spcm_lib_thread.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_card.cpp" FORMNAME="" UNITNAME="spcm_lib_card.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_data.cpp" FORMNAME="" UNITNAME="spcm_lib_data.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\c_header\spcm_win32_bcppb.lib" FORMNAME="" UNITNAME="spcm_win32_bcppb.lib" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\ostools\spcm_ostools_win.cpp" FORMNAME="" UNITNAME="spcm_ostools_win" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-  </FILELIST>
-  <BUILDTOOLS>
-  </BUILDTOOLS>
-
-  <IDEOPTIONS>
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1031
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[Debugging]
-DebugSourceDirs=$(BCB)\source\vcl
-
-[Parameters]
-RunParams=
-Launcher=
-UseLauncher=0
-DebugCWD=
-HostApplication=
-RemoteHost=
-RemotePath=
-RemoteLauncher=
-RemoteCWD=
-RemoteDebug=0
-
-[Compiler]
-ShowInfoMsgs=0
-LinkDebugVcl=0
-  </IDEOPTIONS>
-</PROJECT>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_average.cpp b/Cpp/examples/c_cpp/rec_fifo_single/rec_single_average.cpp
deleted file mode 100644
index cc9d4453029de97810cbce24a27d88b0ec4a220e..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_average.cpp
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
-**************************************************************************
-
-fifo_single_average.cpp                                  (c) Spectrum GmbH
-
-**************************************************************************
-
-Does a simple averaging of continuous FIFO data and shows the result
-in one print line
-
-Change the global flag g_bThread to use the threaded version or the plain
-and more simple loop.
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-#include "../common/spcm_lib_thread.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-
-// ----- this is the global thread flag that defines whether we use the thread or non-thread loop -----
-bool g_bThread = true;
-
-
-/*
-**************************************************************************
-bDoCardSetuo: setup matching the calculation routine
-**************************************************************************
-*/
-
-bool bDoCardSetup (ST_SPCM_CARDINFO *pstCard)
-    {
-    int     i;
-
-    // FIFO mode setup, we run continuously and have 32 samples of pre data before trigger event
-    // all available channels are activated
-    bSpcMSetupModeRecFIFOSingle (pstCard, (1 << pstCard->lMaxChannels) - 1, 32);
-
-    // we try to set the samplerate to 1 MHz (M2i) or 20 MHz (M3i, M4i) on internal PLL, no clock output
-    // increase this to test the read-out-after-overrun
-    if (pstCard->bM2i)
-        bSpcMSetupClockPLL (pstCard, MEGA(1), false);
-    else if (pstCard->bM2p)
-        bSpcMSetupClockPLL (pstCard, MEGA(10), false);
-    else if (pstCard->bM3i || pstCard->bM4i || pstCard->bM5i)
-        bSpcMSetupClockPLL (pstCard, MEGA(20), false);
-    printf ("Sampling rate set to %.1lf MHz\n", (double) pstCard->llSetSamplerate / 1000000);
-
-    // we set software trigger, no trigger output
-    bSpcMSetupTrigSoftware (pstCard, false);
-
-    // type dependent card setup
-    switch (pstCard->eCardFunction)
-        {
-
-        // analog acquisition card setup
-        case AnalogIn:
-
-            // program all input channels to +/-1 V and 50 ohm termination (if it's available)
-            if (pstCard->bM2i || pstCard->bM2p)
-                {
-                for (i=0; i < pstCard->lMaxChannels; i++)
-                    bSpcMSetupInputChannel (pstCard, i, 1000, true);
-                }
-            else
-                {
-                bool bTerm           = true;
-                bool bACCoupling     = false;
-                bool bBandwidthLimit = false;
-                for (i=0; i < pstCard->lMaxChannels; i++)
-                    bSpcMSetupPathInputCh (pstCard, i, 0, 1000, 0, bTerm, bACCoupling, bBandwidthLimit);
-                }
-            break;
-        }
-
-    return pstCard->bSetError;
-    }
-
-
-
-/*
-**************************************************************************
-Working routine data
-**************************************************************************
-*/
-
-struct ST_WORKDATA
-    {
-    bool    bFirst;
-    double  dMinInBlock;
-    double  dMaxInBlock;
-    int16*  ppnChannelData[SPCM_MAX_AICHANNEL];
-    int32   lNotifySamplesPerChannel;
-    };
-
-
-
-/*
-**************************************************************************
-Setup working routine
-**************************************************************************
-*/
-
-bool bWorkInit (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    bool bOk;
-
-    ST_WORKDATA* pstWorkData = (ST_WORKDATA*) pvWorkData;
-
-    // setup for the transfer
-    pstBufferData->dwDataBufLen = MEGA_B(32);
-    pstBufferData->dwDataNotify = KILO_B(64);
-
-    // setup for the work
-    pstWorkData->bFirst = true;
-    pstWorkData->lNotifySamplesPerChannel = pstBufferData->dwDataNotify / pstBufferData->pstCard->lSetChannels / pstBufferData->pstCard->lBytesPerSample;
-
-    // allocate arrays for channel data of notify size
-    bOk = true;
-    for (int i = 0; i < pstBufferData->pstCard->lSetChannels; i++)
-        {
-        pstWorkData->ppnChannelData[i] = (int16*) pvAllocMemPageAligned (pstWorkData->lNotifySamplesPerChannel * 2);
-        if (!pstWorkData->ppnChannelData[i])
-            bOk = false;
-        }
-
-    return bOk;
-    }
-
-
-
-/*
-**************************************************************************
-bWorkDo: does the averageing and prints the results in one line
-
-This function is absolutely not optimized for high data throughput. It's
-just an example to show the handling of data. To have highest trhoughput
-one should not use the easy DemuxAnalogToInt16 function but access the
-multiplexed data directly.
-**************************************************************************
-*/
-
-bool bWorkDo (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA* pstWorkData = (ST_WORKDATA*) pvWorkData;
-    double       dAverage;
-
-    // we only care for blocks of notify size
-    if (pstBufferData->llDataAvailBytes < pstBufferData->dwDataNotify)
-        return true;
-
-    pstBufferData->llDataAvailBytes = pstBufferData->dwDataNotify;
-
-    // now let's split up the data
-    if (pstBufferData->pstCard->lBytesPerSample == 1)
-        bSpcMDemuxAnalogData (pstBufferData->pstCard, static_cast < int8* > (pstBufferData->pvDataCurrentBuf), pstWorkData->lNotifySamplesPerChannel, pstWorkData->ppnChannelData);
-    else
-        bSpcMDemuxAnalogData (pstBufferData->pstCard, static_cast < int16* > (pstBufferData->pvDataCurrentBuf), pstWorkData->lNotifySamplesPerChannel, pstWorkData->ppnChannelData);
-
-
-    // calculate average of first channel
-    dAverage =  dSpcMCalcAverage (pstWorkData->ppnChannelData[0], pstWorkData->lNotifySamplesPerChannel);
-    dAverage =  dSpcMIntToVoltage (pstBufferData->pstCard, 0, dAverage);
-
-    // store min/max if changed
-    if (pstWorkData->bFirst || (pstWorkData->dMinInBlock > dAverage))
-        pstWorkData->dMinInBlock = dAverage;
-    if (pstWorkData->bFirst || (pstWorkData->dMaxInBlock < dAverage))
-        pstWorkData->dMaxInBlock = dAverage;
-
-    if (pstWorkData->bFirst)
-        printf ("\n%11s %12s %12s %12s\n", "Transferred", "Average", "Min", "Max");
-
-    pstWorkData->bFirst = false;
-
-    // print some details
-    printf ("\r%8.2f MB %9.2f mV %9.2f mV %9.2f mV",
-        (double) pstBufferData->qwDataTransferred / 1024 / 1024,
-        1000.0 * dAverage,
-        1000.0 * pstWorkData->dMinInBlock,
-        1000.0 * pstWorkData->dMaxInBlock);
-
-    return true;
-    }
-
-
-
-
-/*
-**************************************************************************
-vWorkClose: Close the work and clean up
-**************************************************************************
-*/
-
-void vWorkClose (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA* pstWorkData = (ST_WORKDATA*) pvWorkData;
-
-    for (int i = 0; i < pstBufferData->pstCard->lSetChannels; i++)
-        if (pstWorkData->ppnChannelData[i])
-            vFreeMemPageAligned ((void*) pstWorkData->ppnChannelData[i], pstWorkData->lNotifySamplesPerChannel * 2);
-    }
-
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO    stCard;             // info structure of my card
-    ST_BUFFERDATA       stBufferData;       // buffer and transfer definitions
-    ST_WORKDATA         stWorkData;         // work data for the working functions
-
-
-
-    // ------------------------------------------------------------------------
-    // init card number 0 (the first card in the system), get some information and print it
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    if (bSpcMInitCardByIdx (&stCard, 0))
-    //if (bSpcMInitCardByIdx (&stCard, "192.168.1.10", 0))
-        {
-        printf (pszSpcMPrintDocumentationLink (&stCard, szBuffer, sizeof (szBuffer)));
-        printf (pszSpcMPrintCardInfo (&stCard, szBuffer, sizeof (szBuffer)));
-        }
-    else
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Could not open card\n", true);
-
-
-    // check whether we support this card type in the example
-    if (stCard.eCardFunction != AnalogIn)
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Card function not supported by this example\n", false);
-
-
-    // ------------------------------------------------------------------------
-    // do the card setup, error is routed in the structure so we don't care for the return values
-    if (!stCard.bSetError)
-        bDoCardSetup (&stCard);
-
-
-    // ------------------------------------------------------------------------
-    // setup the data transfer thread and start it, we use atimeout of 5 s in the example
-    memset (&stBufferData, 0, sizeof(stBufferData));
-    stBufferData.pstCard =      &stCard;
-    stBufferData.bStartCard =   true;
-    stBufferData.bStartData =   true;
-    stBufferData.lTimeout =     5000;
-
-    // start the threaded version if g_bThread is defined
-    if (!stCard.bSetError && g_bThread)
-        vDoThreadMainLoop (&stBufferData, &stWorkData, bWorkInit, bWorkDo, vWorkClose, bKeyAbortCheck);
-
-    // start the unthreaded version with a smaller timeout of 100 ms to gain control about the FIFO loop
-    stBufferData.lTimeout =     100;
-    if (!stCard.bSetError && !g_bThread)
-        vDoMainLoop (&stBufferData, &stWorkData, bWorkInit, bWorkDo, vWorkClose, bKeyAbortCheck);
-
-
-    // ------------------------------------------------------------------------
-    // print error information if an error occured
-    if (stCard.bSetError)
-        return nSpcMErrorMessageStdOut (&stCard, "An error occured while programming the card:\n", true);
-
-
-    // clean up and close the driver
-    vSpcMCloseCard (&stCard);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_average.dsp b/Cpp/examples/c_cpp/rec_fifo_single/rec_single_average.dsp
deleted file mode 100644
index 6a6e9071a6a205bb3266ca3d0c29dac1eef16e1a..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_average.dsp
+++ /dev/null
@@ -1,156 +0,0 @@
-# Microsoft Developer Studio Project File - Name="rec_single_average" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** NICHT BEARBEITEN **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=rec_single_average - Win32 Debug
-!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
-!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_single_average.mak".
-!MESSAGE 
-!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
-!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_single_average.mak" CFG="rec_single_average - Win32 Debug"
-!MESSAGE 
-!MESSAGE Für die Konfiguration stehen zur Auswahl:
-!MESSAGE 
-!MESSAGE "rec_single_average - Win32 Release" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE "rec_single_average - Win32 Debug" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "rec_single_average - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "rec_single_average - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "rec_single_average - Win32 Release"
-# Name "rec_single_average - Win32 Debug"
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_thread.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools_win.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Group "header"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_thread.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_oswrap.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\thread_work\spcm_thread_work.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\rec_single_average.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_average.vcproj b/Cpp/examples/c_cpp/rec_fifo_single/rec_single_average.vcproj
deleted file mode 100644
index dbfcff2ec93c98c9978c2301d2b5da55329d108a..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_average.vcproj
+++ /dev/null
@@ -1,655 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rec_single_average"
-	ProjectGUID="{C7E8D563-BF2C-4AEA-98A5-EFADA43EE6EB}"
-	RootNamespace="rec_single_average"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rec_single_average.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_single_average.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_single_average.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_single_average.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_single_average.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rec_single_average.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_single_average.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_single_average.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_single_average.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_single_average.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rec_single_average.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_single_average.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_single_average.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_single_average.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_single_average.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rec_single_average.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_single_average.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_single_average.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_single_average.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_single_average.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_thread.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="header"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_thread.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-			<File
-				RelativePath="..\thread_work\spcm_thread_work.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath="rec_single_average.cpp"
-			>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_average.vcxproj b/Cpp/examples/c_cpp/rec_fifo_single/rec_single_average.vcxproj
deleted file mode 100644
index 66c5e4259815ebdc8c5ffbbe28878e2ad303beeb..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_average.vcxproj
+++ /dev/null
@@ -1,269 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{C7E8D563-BF2C-4AEA-98A5-EFADA43EE6EB}</ProjectGuid>
-    <RootNamespace>rec_single_average</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_single_average.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_single_average.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_single_average.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_single_average.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_single_average.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_single_average.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_single_average.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_single_average.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_single_average.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_single_average.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_single_average.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_single_average.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_single_average.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_single_average.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_single_average.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_single_average.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="..\common\spcm_lib_thread.cpp" />
-    <ClCompile Include="rec_single_average.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\common\spcm_lib_thread.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-    <ClInclude Include="..\thread_work\spcm_thread_work.h" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_average.vcxproj.filters b/Cpp/examples/c_cpp/rec_fifo_single/rec_single_average.vcxproj.filters
deleted file mode 100644
index e5ccbfddd3b5446587da89062e154ae0ed14a09c..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_average.vcxproj.filters
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="common">
-      <UniqueIdentifier>{f3064a37-eeac-4ba3-be90-5f642a200727}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="header">
-      <UniqueIdentifier>{2df29187-2f97-4696-be5a-d3a67b4fe64a}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_thread.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="rec_single_average.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_thread.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\thread_work\spcm_thread_work.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_binaryfile.bpf b/Cpp/examples/c_cpp/rec_fifo_single/rec_single_binaryfile.bpf
deleted file mode 100644
index 5da88241fe8e80944de42def849bf4eab8f1f666..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_binaryfile.bpf
+++ /dev/null
@@ -1,3 +0,0 @@
-This file is used by the project manager only and should be treated like the project file
-
-
main 
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_binaryfile.bpr b/Cpp/examples/c_cpp/rec_fifo_single/rec_single_binaryfile.bpr
deleted file mode 100644
index 04195ba60701dd776e5c641df27653bf4569a40f..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_binaryfile.bpr
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<!-- C++Builder XML Project -->
-<PROJECT>
-  <MACROS>
-    <VERSION value="BCB.06.00"/>
-    <PROJECT value="rec_single_binaryfile.exe"/>
-    <OBJFILES value="..\common\spcm_lib_thread.obj ..\common\spcm_lib_card.obj 
-      ..\common\spcm_lib_data.obj ..\common\ostools\spcm_ostools_win.obj 
-      rec_single_binaryfile.obj ..\sb5_file\sb5_file.obj"/>
-    <RESFILES value=""/>
-    <DEFFILE value=""/>
-    <RESDEPEN value="$(RESFILES)"/>
-    <LIBFILES value="..\c_header\spcm_win32_bcppb.lib"/>
-    <LIBRARIES value=""/>
-    <SPARELIBS value=""/>
-    <PACKAGES value="vcl.bpi rtl.bpi vclx.bpi bcbsmp.bpi dclocx.bpi"/>
-    <PATHCPP value=".;..\common;..\common;..\common;..\common\ostools;..\sb5_file"/>
-    <PATHPAS value=".;"/>
-    <PATHRC value=".;"/>
-    <PATHASM value=".;"/>
-    <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
-    <RELEASELIBPATH value="$(BCB)\lib\release"/>
-    <LINKER value="ilink32"/>
-    <USERDEFINES value="_DEBUG"/>
-    <SYSDEFINES value="NO_STRICT;_NO_VCL;_RTLDLL;USEPACKAGES"/>
-    <MAINSOURCE value="rec_single_binaryfile.bpf"/>
-    <INCLUDEPATH value="..\sb5_file;C:\svnwork\spcm_drv_c\common\ostools;C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rec_fifo_single;$(BCB)\include;$(BCB)\include\vcl"/>
-    <LIBPATH value="..\sb5_file;C:\svnwork\spcm_drv_c\common\ostools;C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rec_fifo_single;$(BCB)\lib\obj;$(BCB)\lib"/>
-    <WARNINGS value="-w-par"/>
-    <OTHERFILES value=""/>
-  </MACROS>
-  <OPTIONS>
-    <CFLAG1 value="-tWC -tWM -Od -H=$(BCB)\lib\vcl60.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v 
-      -vi- -c"/>
-    <PFLAGS value="-$YD -$W -$O- -$A8 -v -JPHNE -M"/>
-    <RFLAGS value=""/>
-    <AFLAGS value="/mx /w2 /zd"/>
-    <LFLAGS value="-Tpe -ap -D&quot;&quot; -x -Gn -v"/>
-    <OTHERFILES value=""/>
-  </OPTIONS>
-  <LINKER>
-    <ALLOBJ value="c0x32.obj $(PACKAGES) $(OBJFILES)"/>
-    <ALLRES value="$(RESFILES)"/>
-    <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mti.lib"/>
-    <OTHERFILES value=""/>
-  </LINKER>
-  <FILELIST>
-      <FILE FILENAME="rec_single_binaryfile.bpf" FORMNAME="" UNITNAME="rec_single_binaryfile" CONTAINERID="BPF" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_thread.cpp" FORMNAME="" UNITNAME="spcm_lib_thread.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_card.cpp" FORMNAME="" UNITNAME="spcm_lib_card.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_data.cpp" FORMNAME="" UNITNAME="spcm_lib_data.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\c_header\spcm_win32_bcppb.lib" FORMNAME="" UNITNAME="spcm_win32_bcppb.lib" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\ostools\spcm_ostools_win.cpp" FORMNAME="" UNITNAME="spcm_ostools_win" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="rec_single_binaryfile.cpp" FORMNAME="" UNITNAME="rec_single_binaryfile" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\sb5_file\sb5_file.cpp" FORMNAME="" UNITNAME="sb5_file" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-  </FILELIST>
-  <BUILDTOOLS>
-  </BUILDTOOLS>
-
-  <IDEOPTIONS>
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1031
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[Debugging]
-DebugSourceDirs=$(BCB)\source\vcl
-
-[Parameters]
-RunParams=
-Launcher=
-UseLauncher=0
-DebugCWD=
-HostApplication=
-RemoteHost=
-RemotePath=
-RemoteLauncher=
-RemoteCWD=
-RemoteDebug=0
-
-[Compiler]
-ShowInfoMsgs=0
-LinkDebugVcl=0
-  </IDEOPTIONS>
-</PROJECT>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_binaryfile.cpp b/Cpp/examples/c_cpp/rec_fifo_single/rec_single_binaryfile.cpp
deleted file mode 100644
index f5731d21b01f8cae1ddf4d68d600246a6e26a07b..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_binaryfile.cpp
+++ /dev/null
@@ -1,338 +0,0 @@
-/*
-**************************************************************************
-
-rec_single_binaryfile.cpp                             (c) Spectrum GmbH
-
-**************************************************************************
-
-this example supports all acquisition cards
-
-Does a continous FIFO transfer and writes data to a binary file. The file
-type can be selected to simple binary file or binary file including the
-SBench5 format header (*.sbs/*sb5) file.
-
-change the eFileType variable to select between plain binary and SB5
-file.
-
-Change the global flag g_bThread to use the threaded version or the plain
-and more simple loop.
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-#include "../common/spcm_lib_thread.h"
-#include "../sb5_file/sb5_file.h"
-
-
-// ----- this is the global thread flag that defines whether we use the thread or non-thread loop -----
-bool g_bThread = false;
-
-
-
-/*
-**************************************************************************
-bDoCardSetup: setup matching the calculation routine
-**************************************************************************
-*/
-
-bool bDoCardSetup (ST_SPCM_CARDINFO *pstCard)
-    {
-    int     i;
-    int64 llChannelMask;
-
-    // set mask for maximal channels
-    if (pstCard->lMaxChannels >= 64)
-        llChannelMask = -1; // -1 is all bits set to 1 = 0xffffffffffffffff
-    else
-        llChannelMask = ((int64) 1 << pstCard->lMaxChannels) - 1;
-
-    // FIFO mode setup, we run continuously and have 32 samples of pre data before trigger event
-    // all available channels are activated
-    // Use the parameters llBlockToRec and llLoopToRec to limit the amount of data (default is zero = endless).
-    bSpcMSetupModeRecFIFOSingle (pstCard, llChannelMask, 32);
-
-    // we try to set the samplerate to 1 MHz (M2i) or 20 MHz (M3i, M4i) on internal PLL, no clock output
-    // increase this to test the read-out-after-overrun
-    if (pstCard->bM2i)
-        bSpcMSetupClockPLL (pstCard, MEGA(1), false);
-    else if (pstCard->bM2p)
-        bSpcMSetupClockPLL (pstCard, MEGA(10), false);
-    else if (pstCard->bM3i || pstCard->bM4i || pstCard->bM5i)
-        bSpcMSetupClockPLL (pstCard, MEGA(20), false);
-    printf ("Sampling rate set to %.1lf MHz\n", (double) pstCard->llSetSamplerate / 1000000);
-
-    // we set software trigger, no trigger output
-    bSpcMSetupTrigSoftware (pstCard, false);
-
-    // type dependent card setup
-    switch (pstCard->eCardFunction)
-        {
-
-        // analog acquisition card setup
-        case AnalogIn:
-
-            // program all input channels to +/-1 V and 50 ohm termination (if it's available)
-            if (pstCard->bM2i || pstCard->bM2p)
-                {
-                for (i=0; i < pstCard->lMaxChannels; i++)
-                    bSpcMSetupInputChannel (pstCard, i, 1000, true);
-                }
-            else
-                {
-                bool bTerm           = true;
-                bool bACCoupling     = false;
-                bool bBandwidthLimit = false;
-                for (i=0; i < pstCard->lMaxChannels; i++)
-                    bSpcMSetupPathInputCh (pstCard, i, 0, 1000, 0, bTerm, bACCoupling, bBandwidthLimit);
-                }
-            break;
-
-        // digital acquisition card setup
-        case DigitalIn:
-        case DigitalIO:
-
-            // set all input channel groups to 110 ohm termination (if it's available)
-            for (i=0; i < pstCard->uCfg.stDIO.lGroups; i++)
-                bSpcMSetupDigitalInput (pstCard, i, true);
-            break;
-        }
-
-    return pstCard->bSetError;
-    }
-
-
-
-/*
-**************************************************************************
-Working routine data
-**************************************************************************
-*/
-
-#define FILENAME "stream_test"
-
-typedef enum E_FILETYPE {eFT_noWrite, eFT_PlainBinary, eFT_SB5_Stream} E_FILETYPE;
-
-struct ST_WORKDATA
-    {
-    E_FILETYPE  eFileType;
-    int64       llSamplesWritten;
-    FILE*       hFile;
-    char        szFileName[100];
-    };
-
-
-
-/*
-**************************************************************************
-Setup working routine
-**************************************************************************
-*/
-
-bool bWorkInit (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA* pstWorkData = (ST_WORKDATA*) pvWorkData;
-
-    // setup for the transfer, to avoid overrun we use quite large blocks as this has a better throughput to hard disk
-    pstBufferData->dwDataBufLen = MEGA_B(64);
-    pstBufferData->dwDataNotify = MEGA_B(1);
-
-    // setup for the work
-    pstWorkData->llSamplesWritten = 0;
-    pstWorkData->eFileType =        eFT_noWrite;
-
-    switch (pstWorkData->eFileType)
-        {
-        case eFT_PlainBinary:
-            sprintf (pstWorkData->szFileName, "%s.bin", FILENAME);
-            printf ("\nWriting to plan binary file %s\n\n", pstWorkData->szFileName);
-            break;
-
-        case eFT_SB5_Stream:
-            if (pstBufferData->pstCard->lSetChannels == 1)
-                sprintf (pstWorkData->szFileName, "%s.sb5", FILENAME);
-            else
-                sprintf (pstWorkData->szFileName, "%s.sbs", FILENAME);
-            printf ("\nWriting to SBench 5 binary file %s\n\n", pstWorkData->szFileName);
-            break;
-
-        case eFT_noWrite:
-            printf ("\nno real write, just Simulation\n\n");
-        }
-
-    if (pstWorkData->eFileType != eFT_noWrite)
-        pstWorkData->hFile = fopen (pstWorkData->szFileName, "w+b");
-
-    // we now have to write the SB5 header if this format has been selected
-    if (pstWorkData->hFile && (pstWorkData->eFileType == eFT_SB5_Stream))
-        {
-        ST_SB5HEAD* pstHeader;
-        bool        bReturn;
-
-        pstHeader = pstSB5_AllocHeader (pstBufferData->pstCard->lSetChannels);
-        if (!bFillSB5Header (pstBufferData->pstCard, pstHeader, "Test"))
-            return false;
-
-        // our pretrigger has been defined to 16 by setup -> that's our x offset
-        pstHeader->dXOffset = 16.0 / pstBufferData->pstCard->llSetSamplerate;
-
-        bReturn = bSB5_StoreHeader (pstWorkData->hFile, pstHeader);
-        vSB5_FreeHeader (pstHeader);
-
-        return bReturn;
-        }
-
-    return ((pstWorkData->hFile != NULL) || (pstWorkData->eFileType == eFT_noWrite));
-    }
-
-
-
-/*
-**************************************************************************
-bWorkDo: stores data to hard disk
-**************************************************************************
-*/
-
-bool bWorkDo (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA*    pstWorkData = (ST_WORKDATA*) pvWorkData;
-    uint32          dwWritten;
-
-    // write the data and count the samples
-    if (pstWorkData->eFileType != eFT_noWrite)
-        {
-        dwWritten = fwrite (pstBufferData->pvDataCurrentBuf, 1, pstBufferData->llDataAvailBytes, pstWorkData->hFile);
-        pstWorkData->llSamplesWritten += dwWritten / pstBufferData->pstCard->lBytesPerSample;
-        if (dwWritten != pstBufferData->llDataAvailBytes)
-            {
-            printf ("\nData Write error\n");
-            return false;
-            }
-
-        // announce the number of data that has been written
-        printf ("\r%.2f MSamples (sum) written to %s",
-            (double) pstBufferData->qwDataTransferred / pstBufferData->pstCard->lBytesPerSample / MEGA_B(1),
-            pstWorkData->szFileName);
-        }
-
-    // simulation: just count the data
-    if (pstWorkData->eFileType == eFT_noWrite)
-        printf ("\r%.2f MSamples (sum) transferred",
-            (double) pstBufferData->qwDataTransferred / pstBufferData->pstCard->lBytesPerSample / MEGA_B(1));
-
-
-
-    return true;
-    }
-
-
-
-
-/*
-**************************************************************************
-vWorkClose: Close the work and clean up
-**************************************************************************
-*/
-
-void vWorkClose (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA* pstWorkData = (ST_WORKDATA*) pvWorkData;
-
-    if (pstWorkData->eFileType != eFT_noWrite)
-        if (pstWorkData->hFile)
-            {
-            if (pstWorkData->eFileType == eFT_SB5_Stream)
-                bSB5_UpdateSamples (pstWorkData->hFile, (int32) pstWorkData->llSamplesWritten);
-
-            fclose (pstWorkData->hFile);
-            }
-    }
-
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO    stCard;             // info structure of my card
-    ST_BUFFERDATA       stBufferData;       // buffer and transfer definitions
-    ST_WORKDATA         stWorkData;         // work data for the working functions
-
-    // ------------------------------------------------------------------------
-    // init card number 0 (the first card in the system), get some information and print it
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    if (bSpcMInitCardByIdx (&stCard, 0))
-    //if (bSpcMInitCardByIdx (&stCard, "192.168.1.10", 0))
-        {
-        printf (pszSpcMPrintDocumentationLink (&stCard, szBuffer, sizeof (szBuffer)));
-        printf (pszSpcMPrintCardInfo (&stCard, szBuffer, sizeof (szBuffer)));
-        }
-    else
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Could not open card\n", true);
-
-
-    // check whether we support this card type in the example
-    if ((stCard.eCardFunction != AnalogIn) && (stCard.eCardFunction != DigitalIn) && (stCard.eCardFunction != DigitalIO))
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Card function not supported by this example\n", false);
-
-
-    // ------------------------------------------------------------------------
-    // do the card setup, error is routed in the structure so we don't care for the return values
-    if (!stCard.bSetError)
-        bDoCardSetup (&stCard);
-
-
-    // ------------------------------------------------------------------------
-    // setup the data transfer thread and start it, we use atimeout of 5 s in the example
-    memset (&stBufferData, 0, sizeof(stBufferData));
-    stBufferData.pstCard =      &stCard;
-    stBufferData.bStartCard =   true;
-    stBufferData.bStartData =   true;
-    stBufferData.lTimeout =     5000;
-
-    // start the threaded version if g_bThread is defined
-    if (!stCard.bSetError && g_bThread)
-        vDoThreadMainLoop (&stBufferData, &stWorkData, bWorkInit, bWorkDo, vWorkClose, bKeyAbortCheck);
-
-    // start the unthreaded version with a smaller timeout of 100 ms to gain control about the FIFO loop
-    stBufferData.lTimeout =     100;
-    if (!stCard.bSetError && !g_bThread)
-        vDoMainLoop (&stBufferData, &stWorkData, bWorkInit, bWorkDo, vWorkClose, bKeyAbortCheck);
-
-
-    // ------------------------------------------------------------------------
-    // print error information if an error occured
-    if (stCard.bSetError)
-        return nSpcMErrorMessageStdOut (&stCard, "An error occured while programming the card:\n", true);
-
-
-    // clean up and close the driver
-    vSpcMCloseCard (&stCard);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_binaryfile.dsp b/Cpp/examples/c_cpp/rec_fifo_single/rec_single_binaryfile.dsp
deleted file mode 100644
index 5175e3f5397fc65907240eaf9641cfa04349d26c..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_binaryfile.dsp
+++ /dev/null
@@ -1,160 +0,0 @@
-# Microsoft Developer Studio Project File - Name="rec_single_binaryfile" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** NICHT BEARBEITEN **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=rec_single_binaryfile - Win32 Debug
-!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
-!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_single_binaryfile.mak".
-!MESSAGE 
-!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
-!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_single_binaryfile.mak" CFG="rec_single_binaryfile - Win32 Debug"
-!MESSAGE 
-!MESSAGE Für die Konfiguration stehen zur Auswahl:
-!MESSAGE 
-!MESSAGE "rec_single_binaryfile - Win32 Release" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE "rec_single_binaryfile - Win32 Debug" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "rec_single_binaryfile - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "rec_single_binaryfile - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "rec_single_binaryfile - Win32 Release"
-# Name "rec_single_binaryfile - Win32 Debug"
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\sb5_file\sb5_file.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_thread.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools_win.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Group "header"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\sb5_file\sb5_file.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_thread.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_oswrap.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\rec_single_binaryfile.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_binaryfile.vcproj b/Cpp/examples/c_cpp/rec_fifo_single/rec_single_binaryfile.vcproj
deleted file mode 100644
index 12735a02aacf635edfad6bf81ae6714f73335e0e..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_binaryfile.vcproj
+++ /dev/null
@@ -1,691 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rec_single_binaryfile"
-	ProjectGUID="{7E25D4B9-F5D6-4D15-9BC1-0FD1158BC807}"
-	RootNamespace="rec_single_binaryfile"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rec_single_binaryfile.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_single_binaryfile.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_single_binaryfile.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_single_binaryfile.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_single_binaryfile.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rec_single_binaryfile.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_single_binaryfile.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_single_binaryfile.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_single_binaryfile.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_single_binaryfile.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rec_single_binaryfile.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_single_binaryfile.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_single_binaryfile.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_single_binaryfile.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_single_binaryfile.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rec_single_binaryfile.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_single_binaryfile.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_single_binaryfile.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_single_binaryfile.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_single_binaryfile.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\sb5_file\sb5_file.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_thread.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="header"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\sb5_file\sb5_file.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_thread.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath="rec_single_binaryfile.cpp"
-			>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_binaryfile.vcxproj b/Cpp/examples/c_cpp/rec_fifo_single/rec_single_binaryfile.vcxproj
deleted file mode 100644
index e7810221220e8b4c4e9a7c8719b36fd67b39e29a..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_binaryfile.vcxproj
+++ /dev/null
@@ -1,270 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{7E25D4B9-F5D6-4D15-9BC1-0FD1158BC807}</ProjectGuid>
-    <RootNamespace>rec_single_binaryfile</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_single_binaryfile.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_single_binaryfile.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_single_binaryfile.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_single_binaryfile.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_single_binaryfile.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_single_binaryfile.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_single_binaryfile.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_single_binaryfile.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_single_binaryfile.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_single_binaryfile.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_single_binaryfile.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_single_binaryfile.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_single_binaryfile.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_single_binaryfile.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_single_binaryfile.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_single_binaryfile.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="..\common\spcm_lib_thread.cpp" />
-    <ClCompile Include="..\sb5_file\sb5_file.cpp" />
-    <ClCompile Include="rec_single_binaryfile.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\common\spcm_lib_thread.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-    <ClInclude Include="..\sb5_file\sb5_file.h" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_binaryfile.vcxproj.filters b/Cpp/examples/c_cpp/rec_fifo_single/rec_single_binaryfile.vcxproj.filters
deleted file mode 100644
index 1c80a56ccf984cd6f37a08392071cf1fde1489ff..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_fifo_single/rec_single_binaryfile.vcxproj.filters
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="common">
-      <UniqueIdentifier>{a9751b01-e7e6-4095-863d-7c1f07b8326e}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="header">
-      <UniqueIdentifier>{425cb221-e92a-49bc-a0f3-af18cce59017}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\sb5_file\sb5_file.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_thread.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="rec_single_binaryfile.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\sb5_file\sb5_file.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_thread.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_aba/makefile b/Cpp/examples/c_cpp/rec_std_aba/makefile
deleted file mode 100644
index 8b5f9e10e69b4f0e3fc44291a6c90674249df489..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_aba/makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-COMPILER =   g++
-EXECUTABLE = rec_std_aba
-LIBS += -lspcm_linux -lpthread -lrt
-
-OBJECTS = \
-    rec_std_aba.o\
-	../common/spcm_lib_card.o\
-	../common/spcm_lib_data.o\
-	../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/rec_std_aba/rec_std_aba.cpp b/Cpp/examples/c_cpp/rec_std_aba/rec_std_aba.cpp
deleted file mode 100644
index 70a5a6d77f1ff9ef2c9f058abe408450ccb79e67..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_aba/rec_std_aba.cpp
+++ /dev/null
@@ -1,403 +0,0 @@
-/*
-**************************************************************************
-
-rec_std_aba.cpp                                        (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all SpcMDrv based acquisition cards with the ABA option
-installed.
-
-Information about the different products and their drivers can be found
-online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/platform-driver-and-series-differences
-
-Shows ABA data acquisition using standard ABA mode. Slow data is
-acquired until all segments of the multiple recording are taken.
-If timestamp is installed the corresponding timestamp values are also read
-out and displayed.
-
-If Timestamp and BaseXIO are installed the BaseXIO lines are set to the
-timestamp acquisition mode and are sampled on every trigger event. The
-samples BaseXIO lines are also shown.
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <stdlib.h>
-
-
-
-/*
-**************************************************************************
-vDoCardSetup
-**************************************************************************
-*/
-
-void vDoCardSetup (ST_SPCM_CARDINFO *pstCard, int64 llMemsize, int32 lSegmentsize, int32 lPosttrigger)
-    {
-    int   i;
-
-    // ABA Recording Setup
-    bSpcMSetupModeRecStdABA (pstCard, ((int64) 1 << pstCard->lMaxChannels) - 1, llMemsize, lSegmentsize, lPosttrigger, 512);
-
-    // we try to set the samplerate to 1/4 of maximum samplerate on internal PLL, no clock output,
-    // if the card can't run 10 MHz it is set to maximum sampling rate internally
-    bSpcMSetupClockPLL (pstCard, pstCard->llMaxSamplerate / 4, false);
-    printf ("Sampling rate set to %.1lf MHz\n", (double) pstCard->llSetSamplerate / 1000000);
-
-    // we set trigger to external positive edge, please connect the trigger line!
-    printf ("\n!!! Using external trigger - please connect a signal to the trigger input !!!\n");
-    bSpcMSetupTrigExternal (pstCard, SPC_TM_POS, false, 0);
-
-    // type dependent card setup
-    switch (pstCard->eCardFunction)
-        {
-
-        // analog acquisition card setup
-        case AnalogIn:
-
-            // program all input channels to +/-1 V and 50 ohm termination (if it's available)
-            for (i=0; i < pstCard->lMaxChannels; i++)
-                if (pstCard->bM2i || pstCard->bM2p)
-                    bSpcMSetupInputChannel (pstCard, i, 1000, true);
-                else if (pstCard->bM3i || pstCard->bM4i || pstCard->bM5i)
-                    bSpcMSetupPathInputCh (pstCard, i, 0, 1000, 0, false, true, true);
-
-            break;
-
-        // digital acquisition card setup
-        case DigitalIn:
-        case DigitalIO:
-            printf ("Not yet implemented\n");
-            break;
-        }
-
-
-    // if timestamp and basexio are installed we acquire the asynchronous inputs with the timestamps
-    if ((pstCard->lFeatureMap & SPCM_FEAT_TIMESTAMP) && (pstCard->lFeatureMap & SPCM_FEAT_BASEXIO))
-        bSpcMSetupTimestamp (pstCard, SPC_TSMODE_STANDARD | SPC_TSCNT_INTERNAL | SPC_TSXIOACQ_ENABLE, 0);
-
-    // set up the timestamp mode to standard if timestamp is installed
-    else if ((pstCard->lFeatureMap & SPCM_FEAT_TIMESTAMP) != 0)
-        bSpcMSetupTimestamp (pstCard, SPC_TSMODE_STANDARD | SPC_TSCNT_INTERNAL, 0);
-
-    }
-
-
-
-/*
-**************************************************************************
-nShowAnalogData
-**************************************************************************
-*/
-
-int16 nShowAnalogData (ST_SPCM_CARDINFO *pstCard, int32 lSegmentsize, int32 lPosttrigger, void* pvBuffer, bool bTimestampInstalled, bool bBaseXIO, uint64* pqwTimestamps)
-    {
-    int16*  ppnChannelData[SPCM_MAX_AICHANNEL];
-    int     i;
-    int32   lSegmentIdx;
-    uint32  dwBaseXIOLines;
-
-    for (i=0; i<pstCard->lSetChannels; i++)
-        {
-        ppnChannelData[i] = new int16[lSegmentsize];
-        if (!ppnChannelData[i])
-            return nSpcMErrorMessageStdOut (pstCard, "Memory allocation error\n", false);
-        }
-
-
-    // loop across all acquired segments
-
-    if (bTimestampInstalled && bBaseXIO)
-        printf ("\n%8s %12s %12s %12s %4s %15s %10s\n", "Segment", "Min", "Max", "Average", "BXIO", "Timestamp", "Timediff");
-    else if (bTimestampInstalled)
-        printf ("\n%8s %12s %12s %12s %15s %10s\n", "Segment", "Min", "Max", "Average", "Timestamp", "Timediff");
-    else
-        printf ("\n%8s %12s %12s %12s\n", "Segment", "Min", "Max", "Average");
-
-    for (lSegmentIdx = 0; lSegmentIdx < (pstCard->llSetMemsize / lSegmentsize); lSegmentIdx++)
-        {
-
-        // split data function
-        if (pstCard->lBytesPerSample == 1)
-            bSpcMDemuxAnalogData (pstCard, (int8*)pvGetSegmentDataPointer (pstCard, pvBuffer, lSegmentsize, lSegmentIdx, pstCard->lBytesPerSample), lSegmentsize, ppnChannelData);
-        else
-            bSpcMDemuxAnalogData (pstCard, (int16*)pvGetSegmentDataPointer (pstCard, pvBuffer, lSegmentsize, lSegmentIdx, pstCard->lBytesPerSample), lSegmentsize, ppnChannelData);
-
-        // we just look at channel 0 to keep output simple independant of the number of channels
-        printf ("%8d %9.2f mV %9.2f mV %9.2f mV ", lSegmentIdx,
-            1000.0 * dSpcMIntToVoltage (pstCard, 0, TSpcMCalcMin (ppnChannelData[0], (uint32) lSegmentsize)),
-            1000.0 * dSpcMIntToVoltage (pstCard, 0, TSpcMCalcMax (ppnChannelData[0], (uint32) lSegmentsize)),
-            1000.0 * dSpcMIntToVoltage (pstCard, 0, dSpcMCalcAverage (ppnChannelData[0], (uint32) lSegmentsize)));
-
-        // if basexio is installed we split the 8 asynchronous lines and clean up the timestamp
-        if (bBaseXIO)
-            {
-            dwBaseXIOLines = (uint32) (pqwTimestamps[lSegmentIdx] >> 56);
-
-            // unmask the BaseXIOLines from the timestamps
-            pqwTimestamps[lSegmentIdx] &= ~(((uint64) 0xff000000) << 32);
-            printf ("  %02x ", dwBaseXIOLines);
-            }
-
-        // print the timestamps and the difference, keeping track of the oversampling factor
-
-        // M2i and M3i use 64 bit timestamps and M4i and M2p 128 bit
-        if (bTimestampInstalled)
-            {
-
-            // M2i and M3i use 64 bit timestamps, M4i, M2p and M5i 128 bit
-            if (pstCard->bM2i || pstCard->bM3i)
-                printf ("%12.6f ms ", 1000.0 * (double) ((int64) pqwTimestamps[lSegmentIdx]) / pstCard->llSetSamplerate / pstCard->lOversampling);
-            else if (pstCard->bM4i || pstCard->bM2p || pstCard->bM5i)
-                printf ("%12.6f ms ", 1000.0 * (double) ((int64) pqwTimestamps[2 * lSegmentIdx]) / pstCard->llSetSamplerate);
-            }
-
-        // print the difference, starting with segment 1
-        if (bTimestampInstalled && (lSegmentIdx > 0))
-            {
-
-            // M2i and M3i use 64 bit timestamps and M4i and M2p 128 bit
-            if (pstCard->bM2i || pstCard->bM3i)
-                printf ("%7.2f ms", 1000.0 * (double) (int64) (pqwTimestamps[lSegmentIdx] - pqwTimestamps[lSegmentIdx - 1]) / pstCard->llSetSamplerate / pstCard->lOversampling);
-            else if (pstCard->bM4i || pstCard->bM2p || pstCard->bM5i)
-                printf ("%7.2f ms", 1000.0 * (double) (int64) (pqwTimestamps[2*lSegmentIdx] - pqwTimestamps[2*lSegmentIdx - 2]) / pstCard->llSetSamplerate);
-            }
-
-
-        printf ("\n");
-        }
-
-    // clean up
-    for (i=0; i<pstCard->lSetChannels; i++)
-        delete [] (ppnChannelData[i]);
-
-    return 0;
-    }
-
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO    stCard;             // info structure of my card
-    int64               llMemsize;
-    int32               lSegmentsize, lPosttrigger;
-    int32               lOversampling = 1;
-    int32               lStatus = 0;
-    int64               llAvailABABytes, llByteABAPos;
-    int64               llABATransfer = 0;
-    uint32              dwABANotifySize = 4096;
-    bool                bTimestampInstalled = 0, bBaseXIOInstalled = 0;
-    uint64              qwMemInBytes;
-    uint64              qwTSBufferLen_bytes = 0;
-    uint64              qwABABufferLen_bytes = 0;
-    uint64*             pqwTimestamps = NULL;
-    void*               pvBuffer;
-    void*               pvABABuffer;
-
-    // ------------------------------------------------------------------------
-    // init card number 0 (the first card in the system), get some information and print it
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    if (bSpcMInitCardByIdx (&stCard, 0))
-    //if (bSpcMInitCardByIdx (&stCard, "192.168.1.10", 0))
-        {
-        printf (pszSpcMPrintDocumentationLink (&stCard, szBuffer, sizeof (szBuffer)));
-        printf (pszSpcMPrintCardInfo (&stCard, szBuffer, sizeof (szBuffer)));
-        }
-    else
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Could not open card\n", true);
-
-
-    // check whether we support this card type in the example
-    if ((stCard.eCardFunction != AnalogIn) && (stCard.eCardFunction != DigitalIn) && (stCard.eCardFunction != DigitalIO))
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Card function not supported by this example\n", false);
-    if ((stCard.lFeatureMap & SPCM_FEAT_ABA) == 0)
-        return nSpcMErrorMessageStdOut (&stCard, "Error: ABA Option not installed. Examples was done especially for this option!\n", false);
-
-    // if timestamp is installed we set a flag to support this mode in the example also
-    bTimestampInstalled = ((stCard.lFeatureMap & SPCM_FEAT_TIMESTAMP) != 0);
-    bBaseXIOInstalled = ((stCard.lFeatureMap & SPCM_FEAT_BASEXIO) != 0);
-
-    // ------------------------------------------------------------------------
-    // do the card setup, error is routed in the structure so we don't care for the return values
-    llMemsize =     KILO_B(64);
-    lSegmentsize =  KILO_B(16);
-    lPosttrigger =  16128;
-    if (!stCard.bSetError)
-        vDoCardSetup (&stCard, llMemsize, lSegmentsize, lPosttrigger);
-
-
-    // ------------------------------------------------------------------------
-    // calculate the amount of data we need and allocate memory buffer
-    if (!stCard.bSetError)
-        {
-        qwMemInBytes = stCard.llSetMemsize * stCard.lBytesPerSample * stCard.lSetChannels;
-        pvBuffer = pvAllocMemPageAligned (qwMemInBytes);
-
-        qwABABufferLen_bytes = 20*dwABANotifySize;
-        pvABABuffer = pvAllocMemPageAligned (qwABABufferLen_bytes);
-        }
-
-    // M2i and M3i use 64 bit timestamps and M4i and M2p 128 bit
-    if (stCard.bM2i || stCard.bM3i)
-        qwTSBufferLen_bytes = sizeof (uint64) * llMemsize / lSegmentsize;
-    else if (stCard.bM4i || stCard.bM2p || stCard.bM5i)
-        qwTSBufferLen_bytes = 2ULL * sizeof (uint64) * llMemsize / lSegmentsize;
-
-    pqwTimestamps = (uint64*)pvAllocMemPageAligned (qwTSBufferLen_bytes);
-
-    if (!pvBuffer || (bTimestampInstalled &&!pqwTimestamps))
-        return nSpcMErrorMessageStdOut (&stCard, "Memory allocation error\n", false);
-
-    // ------------------------------------------------------------------------
-    // make acquisition and get data
-    if (!stCard.bSetError)
-        {
-        printf ("\n");
-
-        // if using timestamps we need to start the transfer before the card start to avoid an overrun of the timestamp memory
-        if (bTimestampInstalled)
-            {
-            printf ("Defining timestamp transfer\n");
-
-            // M2i and M3i use 64 bit timestamps and M4i and M2p 128 bit
-            if (stCard.bM2i || stCard.bM3i)
-                spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_TIMESTAMP, SPCM_DIR_CARDTOPC, 0, (void*) pqwTimestamps, 0, llMemsize / lSegmentsize * sizeof (uint64));
-            else if (stCard.bM4i || stCard.bM2p || stCard.bM5i)
-                spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_TIMESTAMP, SPCM_DIR_CARDTOPC, 0, (void*) pqwTimestamps, 0, 2 * llMemsize / lSegmentsize * sizeof (uint64));
-            }
-
-        // starting the ABA DMA transfer
-        printf ("Defining ABA transfer\n");
-        spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_ABA, SPCM_DIR_CARDTOPC, dwABANotifySize, pvABABuffer, 0, 20*dwABANotifySize);
-        printf ("Starting the extra DMA transfer\n");
-        spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_EXTRA_STARTDMA);
-
-        // We'll start and wait untill the card has finished
-        printf ("Starting the card\n\n");
-        spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER);
-
-        while(!stCard.bSetError && (lStatus & M2STAT_CARD_READY) != M2STAT_CARD_READY)
-            {
-
-            spcm_dwGetParam_i64 (stCard.hDrv, SPC_ABA_AVAIL_USER_LEN, &llAvailABABytes);
-            spcm_dwGetParam_i64 (stCard.hDrv, SPC_ABA_AVAIL_USER_POS, &llByteABAPos);
-
-            if ((llByteABAPos + llAvailABABytes) >= 20*dwABANotifySize)
-                {
-                llAvailABABytes = 20*dwABANotifySize - llByteABAPos;
-                }
-
-            spcm_dwSetParam_i64 (stCard.hDrv, SPC_ABA_AVAIL_CARD_LEN, llAvailABABytes);
-
-            spcm_dwGetParam_i32 (stCard.hDrv, SPC_M2STATUS, &lStatus );
-
-            if (llAvailABABytes > 0)
-                {
-                llABATransfer = llABATransfer + llAvailABABytes;
-                printf("\rABA data transfered so far: %lld; ", llABATransfer);
-                printf("Actually available ABA data: %lld", llAvailABABytes);
-                }
-
-            }
-
-        // we define the buffer for transfer and start the DMA transfer
-        printf ("\n\nStarting the DMA transfer and waiting until data is in PC memory\n");
-        spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, 0, pvBuffer, 0, qwMemInBytes);
-        spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_DATA_STARTDMA | M2CMD_DATA_WAITDMA);
-
-        // check for error code
-        if (spcm_dwGetErrorInfo_i32 (stCard.hDrv, NULL, NULL, szBuffer))
-            {
-            vFreeMemPageAligned (pvBuffer, qwMemInBytes);
-            vFreeMemPageAligned (pvABABuffer, qwABABufferLen_bytes);
-            return nSpcMErrorMessageStdOut (&stCard, szBuffer, false);
-            }
-        printf ("... acquisition ended, data has been transferred to PC memory\n");
-        }
-            // wait for the timestamps (should be already done as we started the transfer before the card start)
-            if (bTimestampInstalled)
-                {
-                spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_EXTRA_WAITDMA);
-                printf ("... timestamps have been transferred to PC memory\n");
-                }
-
-
-    // ------------------------------------------------------------------------
-    // we go through the segments, split the data in separate channels and show some results
-    if (!stCard.bSetError)
-        {
-
-        // some additional information on the acquisition
-        printf ("\nData information:\n=================\n");
-        printf ("Each segment is %.3f ms long\n", 1000.0 * lSegmentsize / stCard.llSetSamplerate);
-        printf ("Maximum pulse repetition frequency to reach with this setting is %.2f Hz\n", (double) stCard.llSetSamplerate / lSegmentsize);
-
-        switch (stCard.eCardFunction)
-            {
-            case AnalogIn:
-                nShowAnalogData (&stCard, lSegmentsize, lPosttrigger, pvBuffer, bTimestampInstalled, bBaseXIOInstalled, pqwTimestamps);
-                break;
-
-            case DigitalIn:
-            case DigitalIO:
-                break;
-            }
-
-        if (bTimestampInstalled)
-            vFreeMemPageAligned (pqwTimestamps, qwTSBufferLen_bytes);
-        }
-
-    spcm_dwInvalidateBuf (stCard.hDrv, SPCM_BUF_DATA);
-    spcm_dwInvalidateBuf (stCard.hDrv, SPCM_BUF_ABA);
-    spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_STOP | M2CMD_DATA_STOPDMA );
-
-    vFreeMemPageAligned (pvBuffer, qwMemInBytes);
-    vFreeMemPageAligned (pvABABuffer, qwABABufferLen_bytes);
-
-    // ------------------------------------------------------------------------
-    // print error information if an error occured
-    if (stCard.bSetError)
-        return nSpcMErrorMessageStdOut (&stCard, "An error occured while programming the card:\n", true);
-
-
-    // clean up and close the driver
-    vSpcMCloseCard (&stCard);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/rec_std_aba/rec_std_aba.dsp b/Cpp/examples/c_cpp/rec_std_aba/rec_std_aba.dsp
deleted file mode 100644
index 87ee563446ed03f75c842a426936969c200231d9..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_aba/rec_std_aba.dsp
+++ /dev/null
@@ -1,132 +0,0 @@
-# Microsoft Developer Studio Project File - Name="rec_std_aba" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** NICHT BEARBEITEN **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=rec_std_aba - Win32 Debug
-!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
-!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_std_aba.mak".
-!MESSAGE 
-!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
-!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_std_aba.mak" CFG="rec_std_aba - Win32 Debug"
-!MESSAGE 
-!MESSAGE Für die Konfiguration stehen zur Auswahl:
-!MESSAGE 
-!MESSAGE "rec_std_aba - Win32 Release" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE "rec_std_aba - Win32 Debug" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "rec_std_aba - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "rec_std_aba - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "rec_std_aba - Win32 Release"
-# Name "rec_std_aba - Win32 Debug"
-# Begin Group "header"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.cpp
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\rec_std_aba.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/rec_std_aba/rec_std_aba.dsw b/Cpp/examples/c_cpp/rec_std_aba/rec_std_aba.dsw
deleted file mode 100644
index ebb16f1ff8276fe0054df22c9afebd637d254dd6..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_aba/rec_std_aba.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNUNG: DIESE ARBEITSBEREICHSDATEI DARF NICHT BEARBEITET ODER GELÖSCHT WERDEN!
-
-###############################################################################
-
-Project: "rec_std_aba"=.\rec_std_aba.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/Cpp/examples/c_cpp/rec_std_aba/rec_std_aba.vcproj b/Cpp/examples/c_cpp/rec_std_aba/rec_std_aba.vcproj
deleted file mode 100644
index fdeab1ce51f5c4c6b09500e26db59539b490f986..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_aba/rec_std_aba.vcproj
+++ /dev/null
@@ -1,580 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rec_std_aba"
-	ProjectGUID="{FCC5524D-B6B2-4CD6-8E27-D45A29BD23F0}"
-	RootNamespace="rec_std_aba"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rec_std_aba.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_std_aba.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_std_aba.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_std_aba.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_std_aba.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rec_std_aba.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_std_aba.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_std_aba.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_std_aba.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_std_aba.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rec_std_aba.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_std_aba.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_std_aba.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_std_aba.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_std_aba.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rec_std_aba.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_std_aba.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_std_aba.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_std_aba.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_std_aba.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="header"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath="rec_std_aba.cpp"
-			>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/rec_std_aba/rec_std_aba.vcxproj b/Cpp/examples/c_cpp/rec_std_aba/rec_std_aba.vcxproj
deleted file mode 100644
index b4bc272a83afbe7599da5a056757a5d59698826d..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_aba/rec_std_aba.vcxproj
+++ /dev/null
@@ -1,266 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{FCC5524D-B6B2-4CD6-8E27-D45A29BD23F0}</ProjectGuid>
-    <RootNamespace>rec_std_aba</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_std_aba.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_aba.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_aba.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_aba.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_std_aba.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_aba.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_aba.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_aba.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_std_aba.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_aba.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_aba.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_aba.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_std_aba.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_aba.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_aba.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_aba.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="rec_std_aba.cpp" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_aba/rec_std_aba.vcxproj.filters b/Cpp/examples/c_cpp/rec_std_aba/rec_std_aba.vcxproj.filters
deleted file mode 100644
index ae47af1b1c7e78ca9afaa323a371d70e8edaaa61..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_aba/rec_std_aba.vcxproj.filters
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="header">
-      <UniqueIdentifier>{3b77be4e-ed89-415d-8574-a090cdd7707e}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl</Extensions>
-    </Filter>
-    <Filter Include="common">
-      <UniqueIdentifier>{47b2b5fb-21db-4f53-b3bb-d43410cda573}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="rec_std_aba.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>header</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>header</Filter>
-    </CustomBuild>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_average/makefile.rec_std_average b/Cpp/examples/c_cpp/rec_std_average/makefile.rec_std_average
deleted file mode 100644
index 32bdb9fe01b795cf5112c5e017e122cdd1dc3c18..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_average/makefile.rec_std_average
+++ /dev/null
@@ -1,24 +0,0 @@
-COMPILER =   g++
-EXECUTABLE = rec_std_average
-LIBS += -lspcm_linux -lrt -lpthread
-
-OBJECTS = \
-    rec_std_average.o\
-	../common/spcm_lib_card.o\
-	../common/spcm_lib_data.o\
-	../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/rec_std_average/rec_std_average.bpf b/Cpp/examples/c_cpp/rec_std_average/rec_std_average.bpf
deleted file mode 100644
index 5da88241fe8e80944de42def849bf4eab8f1f666..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_average/rec_std_average.bpf
+++ /dev/null
@@ -1,3 +0,0 @@
-This file is used by the project manager only and should be treated like the project file
-
-
main 
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_average/rec_std_average.bpr b/Cpp/examples/c_cpp/rec_std_average/rec_std_average.bpr
deleted file mode 100644
index fa7241ec4e629fbb0393ea5e00c67c50759c7e81..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_average/rec_std_average.bpr
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<!-- C++Builder XML Project -->
-<PROJECT>
-  <MACROS>
-    <VERSION value="BCB.06.00"/>
-    <PROJECT value="rec_std_average.exe"/>
-    <OBJFILES value="rec_std_average.obj ..\common\spcm_lib_thread.obj 
-      ..\common\spcm_lib_card.obj ..\common\spcm_lib_data.obj 
-      ..\common\ostools\spcm_ostools_win.obj ..\sb5_file\sb5_file.obj"/>
-    <RESFILES value=""/>
-    <DEFFILE value=""/>
-    <RESDEPEN value="$(RESFILES)"/>
-    <LIBFILES value="..\c_header\spcm_win32_bcppb.lib"/>
-    <LIBRARIES value=""/>
-    <SPARELIBS value=""/>
-    <PACKAGES value="vcl.bpi rtl.bpi vclx.bpi bcbsmp.bpi dclocx.bpi"/>
-    <PATHCPP value=".;..\common;..\common;..\common;..\common\ostools;..\sb5_file"/>
-    <PATHPAS value=".;"/>
-    <PATHRC value=".;"/>
-    <PATHASM value=".;"/>
-    <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
-    <RELEASELIBPATH value="$(BCB)\lib\release"/>
-    <LINKER value="ilink32"/>
-    <USERDEFINES value="_DEBUG"/>
-    <SYSDEFINES value="NO_STRICT;_NO_VCL;_RTLDLL;USEPACKAGES"/>
-    <MAINSOURCE value="rec_std_average.bpf"/>
-    <INCLUDEPATH value="C:\svnwork\spcm_drv_c\sb5_file;C:\svnwork\spcm_drv_c\common\ostools;C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rec_std_average;$(BCB)\include;$(BCB)\include\vcl"/>
-    <LIBPATH value="C:\svnwork\spcm_drv_c\sb5_file;C:\svnwork\spcm_drv_c\common\ostools;C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rec_std_average;$(BCB)\lib\obj;$(BCB)\lib"/>
-    <WARNINGS value="-w-par"/>
-    <OTHERFILES value=""/>
-  </MACROS>
-  <OPTIONS>
-    <CFLAG1 value="-tWC -tWM -Od -H=$(BCB)\lib\vcl60.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v 
-      -vi- -c"/>
-    <PFLAGS value="-$YD -$W -$O- -$A8 -v -JPHNE -M"/>
-    <RFLAGS value=""/>
-    <AFLAGS value="/mx /w2 /zd"/>
-    <LFLAGS value="-Tpe -ap -D&quot;&quot; -x -Gn -v"/>
-    <OTHERFILES value=""/>
-  </OPTIONS>
-  <LINKER>
-    <ALLOBJ value="c0x32.obj $(PACKAGES) $(OBJFILES)"/>
-    <ALLRES value="$(RESFILES)"/>
-    <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mti.lib"/>
-    <OTHERFILES value=""/>
-  </LINKER>
-  <FILELIST>
-      <FILE FILENAME="rec_std_average.bpf" FORMNAME="" UNITNAME="rec_std_average" CONTAINERID="BPF" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="rec_std_average.cpp" FORMNAME="" UNITNAME="rec_std_average" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_thread.cpp" FORMNAME="" UNITNAME="spcm_lib_thread.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_card.cpp" FORMNAME="" UNITNAME="spcm_lib_card.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_data.cpp" FORMNAME="" UNITNAME="spcm_lib_data.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\c_header\spcm_win32_bcppb.lib" FORMNAME="" UNITNAME="spcm_win32_bcppb.lib" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\ostools\spcm_ostools_win.cpp" FORMNAME="" UNITNAME="spcm_ostools_win" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\sb5_file\sb5_file.cpp" FORMNAME="" UNITNAME="sb5_file" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-  </FILELIST>
-  <BUILDTOOLS>
-  </BUILDTOOLS>
-
-  <IDEOPTIONS>
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1031
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[Debugging]
-DebugSourceDirs=$(BCB)\source\vcl
-
-[Parameters]
-RunParams=
-Launcher=
-UseLauncher=0
-DebugCWD=
-HostApplication=
-RemoteHost=
-RemotePath=
-RemoteLauncher=
-RemoteCWD=
-RemoteDebug=0
-
-[Compiler]
-ShowInfoMsgs=0
-LinkDebugVcl=0
-  </IDEOPTIONS>
-</PROJECT>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_average/rec_std_average.cpp b/Cpp/examples/c_cpp/rec_std_average/rec_std_average.cpp
deleted file mode 100644
index 65b90b493478c064daf724cbbf996a3a18efc63e..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_average/rec_std_average.cpp
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
-**************************************************************************
-
-rec_std_average.cpp                                      (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all acquisition cards with the option Average installed. 
-
-Information about the different products and their drivers can be found
-online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/platform-driver-and-series-differences
-
-Shows Average data acquisition using single mode (one shot). If
-timestamp is installed the corresponding timestamp values are also read
-out and displayed.
-  
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <stdlib.h>
-
-
-
-/*
-**************************************************************************
-vDoCardSetup
-**************************************************************************
-*/
-
-void vDoCardSetup (ST_SPCM_CARDINFO *pstCard, int64 llMemsize, int32 lSegmentsize, int32 lPosttrigger, int32 lAverages)
-    {
-    int     i;
-    int64   llChannelMask;
-
-    // Channel enable setup
-    llChannelMask = ((int64) 1 << pstCard->lMaxChannels) - 1;
-
-    bSpcMSetupModeRecStdAverage(pstCard, llChannelMask, llMemsize, lSegmentsize, lPosttrigger, lAverages);
-
-    // we try to set the samplerate to maximum samplerate on internal PLL, no clock output, 
-    bSpcMSetupClockPLL (pstCard, pstCard->llMaxSamplerate , false);
-    printf ("Sampling rate set to %.1lf MHz\n", (double) pstCard->llSetSamplerate / 1000000);
-
-    // we set trigger to external positive edge, please connect the trigger line!
-    printf ("\n!!! Using external trigger - please connect a signal to the trigger input !!!\n\n");    
-    //bSpcMSetupTrigExternal (pstCard, SPC_TM_POS, false, 0);
-    bSpcMSetupTrigChannel (pstCard, 0, SPC_TM_POS, 100);
-
-    // program all input channels to +/-1 V and 50 ohm termination (if it's available)
-    for (i=0; i < pstCard->lMaxChannels; i++)
-        bSpcMSetupPathInputCh (pstCard, i, 0, 1000, 0);
-    }
-
-
-
-/*
-**************************************************************************
-nShowAnalogData
-**************************************************************************
-*/
-
-int16 nShowAnalogData (ST_SPCM_CARDINFO *pstCard, int32 lSegmentsize, int32 lPosttrigger, void* pvBuffer, bool bAcquireTimestamps, uint64* pqwTimestamps, int32 lAverages)
-    {
-    int32*  pplChannelData[SPCM_MAX_AICHANNEL];
-    int     i;
-    int32   lSegmentIdx;
-
-    for (i=0; i<pstCard->lSetChannels; i++)
-        {
-        pplChannelData[i] = new int32[lSegmentsize];
-        if (!pplChannelData[i])
-            return nSpcMErrorMessageStdOut (pstCard, "Memory allocation error\n", false);
-        }
-
-    // loop across all acquired segments
-    printf ("\n%8s %12s %12s %12s\n", "Segment", "Min", "Max", "Average");
-
-    // Display some information per segment
-    pstCard->uCfg.stAI.lMaxADCValue *= lAverages; // the maximum "ADC" value has increased because we added up lAverages segments
-    for (lSegmentIdx = 0; lSegmentIdx < (pstCard->llSetMemsize / lSegmentsize); lSegmentIdx++)
-        {
-        // split data function to have easier per channel access to the samples
-        bSpcMDemuxAnalogData (pstCard, (int32*)pvGetSegmentDataPointer (pstCard, pvBuffer, lSegmentsize, lSegmentIdx, 4), lSegmentsize, pplChannelData);
-        
-        // we just look at one certain to keep output simple independant of the number of activated channels
-        uint8 byChannel = 0;
-        printf ("%8d %9.2f mV %9.2f mV %9.2f mV", lSegmentIdx, 
-            1000.0 * dSpcMIntToVoltage (pstCard, 0, TSpcMCalcMin     (pplChannelData[byChannel], (uint32) lSegmentsize)), 
-            1000.0 * dSpcMIntToVoltage (pstCard, 0, TSpcMCalcMax     (pplChannelData[byChannel], (uint32) lSegmentsize)), 
-            1000.0 * dSpcMIntToVoltage (pstCard, 0, dSpcMCalcAverage (pplChannelData[byChannel], (uint32) lSegmentsize)));
-
-        printf ("\n");
-        }
-
-    // clean up
-    for (i=0; i<pstCard->lSetChannels; i++)
-        delete [] (pplChannelData[i]);
-
-    return 0;
-    }
-
-
-/*
-**************************************************************************
-main 
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO    stCard;             // info structure of my card
-    int64               llMemsize;
-    int32               lSegmentsize, lPosttrigger, lAveragesPerSegment, lNumberOfSegments;
-    int32               lOversampling = 1;
-    uint64              qwMemInBytes;
-    void*               pvBuffer;
-
-
-    // ------------------------------------------------------------------------
-    // init card number 0 (the first card in the system), get some information and print it
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    if (bSpcMInitCardByIdx (&stCard, 1))
-    //if (bSpcMInitCardByIdx (&stCard, "192.168.1.10", 0))
-        {
-        printf (pszSpcMPrintDocumentationLink (&stCard, szBuffer, sizeof (szBuffer)));
-        printf (pszSpcMPrintCardInfo (&stCard, szBuffer, sizeof (szBuffer)));
-        }
-    else
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Could not open card\n", true);
-
-    // check whether we support this card type in the example
-    if (!stCard.bM4i)
-        return nSpcMErrorMessageStdOut (&stCard, "Error. Averaging only works on M4i cards\n", false);
-    if (stCard.eCardFunction != AnalogIn)
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Card function not supported by this example\n", false);
-    if ((stCard.lExtFeatureMap & SPCM_FEAT_EXTFW_SEGAVERAGE) == 0)
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Average Option not installed. Examples was done especially for this option!\n", false);
-
-
-    // ------------------------------------------------------------------------
-    // do the card setup, error is routed in the structure so we don't care for the return values  
-    lNumberOfSegments =     16;
-    lSegmentsize =          KILO_B(8);
-    lPosttrigger =          lSegmentsize - KILO_B(1);
-    lAveragesPerSegment =   16;
-
-    llMemsize = (int64) lSegmentsize * (int64) lNumberOfSegments;
-
-    if (!stCard.bSetError)
-        vDoCardSetup (&stCard, llMemsize, lSegmentsize, lPosttrigger, lAveragesPerSegment);
-
-    // ------------------------------------------------------------------------
-    // calculate the amount of data we need and allocate memory buffer
-    if (!stCard.bSetError)
-        {
-        // for averaging the number of bytes per sample is fixed to 4 (32 bit samples)
-        qwMemInBytes = (uint64) stCard.llSetMemsize * (uint64) sizeof(int32) * (uint64) stCard.lSetChannels;
-
-        pvBuffer = pvAllocMemPageAligned (qwMemInBytes);
-
-        if (!pvBuffer)
-            return nSpcMErrorMessageStdOut (&stCard, "Memory allocation error\n", false);
-        }
-
-    // ------------------------------------------------------------------------
-    // make acquisition and get data
-    if (!stCard.bSetError)
-        {
-        printf ("\n");
-
-        // We'll start and wait untill the card has finished or until a timeout occurs
-        spcm_dwSetParam_i32 (stCard.hDrv, SPC_TIMEOUT, 5000);
-        printf ("Starting the card and waiting for ready interrupt\n");
-        if (spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER | M2CMD_CARD_WAITREADY) == ERR_TIMEOUT)
-            {
-            vFreeMemPageAligned (pvBuffer, qwMemInBytes);
-            return nSpcMErrorMessageStdOut (&stCard, "... Timeout\n", false);
-            }
-        else
-            {
-            // we define the buffer for transfer and start the DMA transfer
-            printf ("Starting the DMA transfer and waiting until data is in PC memory\n");
-            spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, 0, pvBuffer, 0, qwMemInBytes);
-            spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_DATA_STARTDMA | M2CMD_DATA_WAITDMA);
-
-            // check for error code
-            if (spcm_dwGetErrorInfo_i32 (stCard.hDrv, NULL, NULL, szBuffer))
-                {
-                vFreeMemPageAligned (pvBuffer, qwMemInBytes);
-                return nSpcMErrorMessageStdOut (&stCard, szBuffer, false);
-                }
-            printf ("... acquisition ended, data has been transferred to PC memory\n");
-            }
-        }
-
-    // ------------------------------------------------------------------------
-    // we go through the segments, split the data in separate channels and show some results
-    if (!stCard.bSetError)
-        {
-        // some additional information on the acquisition
-        printf ("\nData information:\n=================\n");
-        printf ("Each segment is %.3f ms long\n", 1000.0 * lSegmentsize / stCard.llSetSamplerate);
-        printf ("Maximum pulse repetition frequency to reach with this setting is %.2f Hz\n", (double) stCard.llSetSamplerate / lSegmentsize);
-
-        nShowAnalogData (&stCard, lSegmentsize, lPosttrigger, pvBuffer, false, NULL, lAveragesPerSegment);
-        }   
-
-    // ------------------------------------------------------------------------
-    // print error information if an error occured
-    if (stCard.bSetError)
-        return nSpcMErrorMessageStdOut (&stCard, "An error occured while programming the card:\n", true);
-
-    // clean up and close the driver
-    vSpcMCloseCard (&stCard);
-    vFreeMemPageAligned (pvBuffer, qwMemInBytes);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/rec_std_average/rec_std_average.dsp b/Cpp/examples/c_cpp/rec_std_average/rec_std_average.dsp
deleted file mode 100644
index c51714829a5b14cf3c9e036285d912980014f6e6..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_average/rec_std_average.dsp
+++ /dev/null
@@ -1,132 +0,0 @@
-# Microsoft Developer Studio Project File - Name="rec_std_average" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** NICHT BEARBEITEN **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=rec_std_average - Win32 Debug
-!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
-!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_std_average.mak".
-!MESSAGE 
-!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
-!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_std_average.mak" CFG="rec_std_average - Win32 Debug"
-!MESSAGE 
-!MESSAGE Für die Konfiguration stehen zur Auswahl:
-!MESSAGE 
-!MESSAGE "rec_std_average - Win32 Release" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE "rec_std_average - Win32 Debug" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "rec_std_average - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "rec_std_average - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "rec_std_average - Win32 Release"
-# Name "rec_std_average - Win32 Debug"
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Group "header"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\rec_std_average.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/rec_std_average/rec_std_average.dsw b/Cpp/examples/c_cpp/rec_std_average/rec_std_average.dsw
deleted file mode 100644
index d91d264357d88d2418e407516c8daf26d747d3d8..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_average/rec_std_average.dsw
+++ /dev/null
@@ -1,41 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "rec_std_average"=.\rec_std_average.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "rec_std_average_poll"=.\rec_std_average_poll.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/Cpp/examples/c_cpp/rec_std_average/rec_std_average.vcproj b/Cpp/examples/c_cpp/rec_std_average/rec_std_average.vcproj
deleted file mode 100644
index 63a2b732004adf294e67d00574278dc715265e30..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_average/rec_std_average.vcproj
+++ /dev/null
@@ -1,581 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rec_std_average"
-	ProjectGUID="{DE7EFF20-D29A-489A-92B6-3056B9F21E93}"
-	RootNamespace="rec_std_average"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rec_std_average.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_std_average.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-				CompileAs="2"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_std_average.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_std_average.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_std_average.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rec_std_average.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_std_average.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-				CompileAs="2"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_std_average.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_std_average.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_std_average.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rec_std_average.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_std_average.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_std_average.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_std_average.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_std_average.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rec_std_average.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_std_average.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_std_average.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_std_average.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_std_average.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="header"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath="rec_std_average.cpp"
-			>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/rec_std_average/rec_std_average.vcxproj b/Cpp/examples/c_cpp/rec_std_average/rec_std_average.vcxproj
deleted file mode 100644
index ef25ddb3eb48063bd7e5c8832e46df76f09e0e7f..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_average/rec_std_average.vcxproj
+++ /dev/null
@@ -1,268 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{DE7EFF20-D29A-489A-92B6-3056B9F21E93}</ProjectGuid>
-    <RootNamespace>rec_std_average</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_std_average.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_average.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-      <CompileAs>CompileAsCpp</CompileAs>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_average.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_average.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_std_average.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_average.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <CompileAs>CompileAsCpp</CompileAs>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_average.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_average.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_std_average.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_average.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_average.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_average.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_std_average.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_average.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_average.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_average.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="rec_std_average.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
diff --git a/Cpp/examples/c_cpp/rec_std_average/rec_std_average.vcxproj.filters b/Cpp/examples/c_cpp/rec_std_average/rec_std_average.vcxproj.filters
deleted file mode 100644
index 6dea331eb81f737822113577a8ca849d760ef473..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_average/rec_std_average.vcxproj.filters
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="common">
-      <UniqueIdentifier>{52cf81df-983e-48d9-8ade-4cefd0f87806}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="header">
-      <UniqueIdentifier>{4876356c-e27a-4d7a-b8d1-90846fc00c26}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="rec_std_average.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_gate/makefile b/Cpp/examples/c_cpp/rec_std_gate/makefile
deleted file mode 100644
index de6dc179ded5bfeeb9413d546aecb5879acdafeb..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_gate/makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-COMPILER =   g++
-EXECUTABLE = rec_std_gate
-LIBS += -lspcm_linux -lrt -lpthread
-
-OBJECTS = \
-    rec_std_gate.o\
-	../common/spcm_lib_card.o\
-	../common/spcm_lib_data.o\
-	../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.bpf b/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.bpf
deleted file mode 100644
index 5da88241fe8e80944de42def849bf4eab8f1f666..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.bpf
+++ /dev/null
@@ -1,3 +0,0 @@
-This file is used by the project manager only and should be treated like the project file
-
-
main 
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.bpr b/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.bpr
deleted file mode 100644
index c00e9cb8cc3d33bf31cfee64bdd82a0e7210ecd0..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.bpr
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<!-- C++Builder XML Project -->
-<PROJECT>
-  <MACROS>
-    <VERSION value="BCB.06.00"/>
-    <PROJECT value="rec_std_gate.exe"/>
-    <OBJFILES value="rec_std_gate.obj ..\common\spcm_lib_thread.obj 
-      ..\common\spcm_lib_card.obj ..\common\spcm_lib_data.obj 
-      ..\common\ostools\spcm_ostools_win.obj ..\sb5_file\sb5_file.obj"/>
-    <RESFILES value=""/>
-    <DEFFILE value=""/>
-    <RESDEPEN value="$(RESFILES)"/>
-    <LIBFILES value="..\c_header\spcm_win32_bcppb.lib"/>
-    <LIBRARIES value=""/>
-    <SPARELIBS value=""/>
-    <PACKAGES value="vcl.bpi rtl.bpi vclx.bpi bcbsmp.bpi dclocx.bpi"/>
-    <PATHCPP value=".;..\common;..\common;..\common;..\common\ostools;..\sb5_file"/>
-    <PATHPAS value=".;"/>
-    <PATHRC value=".;"/>
-    <PATHASM value=".;"/>
-    <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
-    <RELEASELIBPATH value="$(BCB)\lib\release"/>
-    <LINKER value="ilink32"/>
-    <USERDEFINES value="_DEBUG"/>
-    <SYSDEFINES value="NO_STRICT;_NO_VCL;_RTLDLL;USEPACKAGES"/>
-    <MAINSOURCE value="rec_std_gate.bpf"/>
-    <INCLUDEPATH value="C:\svnwork\spcm_drv_c\sb5_file;C:\svnwork\spcm_drv_c\common\ostools;C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rec_std_gate;$(BCB)\include;$(BCB)\include\vcl"/>
-    <LIBPATH value="C:\svnwork\spcm_drv_c\sb5_file;C:\svnwork\spcm_drv_c\common\ostools;C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rec_std_gate;$(BCB)\lib\obj;$(BCB)\lib"/>
-    <WARNINGS value="-w-par"/>
-    <OTHERFILES value=""/>
-  </MACROS>
-  <OPTIONS>
-    <CFLAG1 value="-tWC -tWM -Od -H=$(BCB)\lib\vcl60.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v 
-      -vi- -c"/>
-    <PFLAGS value="-$YD -$W -$O- -$A8 -v -JPHNE -M"/>
-    <RFLAGS value=""/>
-    <AFLAGS value="/mx /w2 /zd"/>
-    <LFLAGS value="-Tpe -ap -D&quot;&quot; -x -Gn -v"/>
-    <OTHERFILES value=""/>
-  </OPTIONS>
-  <LINKER>
-    <ALLOBJ value="c0x32.obj $(PACKAGES) $(OBJFILES)"/>
-    <ALLRES value="$(RESFILES)"/>
-    <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mti.lib"/>
-    <OTHERFILES value=""/>
-  </LINKER>
-  <FILELIST>
-      <FILE FILENAME="rec_std_gate.bpf" FORMNAME="" UNITNAME="rec_std_gate" CONTAINERID="BPF" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="rec_std_gate.cpp" FORMNAME="" UNITNAME="rec_std_gate" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_thread.cpp" FORMNAME="" UNITNAME="spcm_lib_thread.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_card.cpp" FORMNAME="" UNITNAME="spcm_lib_card.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_data.cpp" FORMNAME="" UNITNAME="spcm_lib_data.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\c_header\spcm_win32_bcppb.lib" FORMNAME="" UNITNAME="spcm_win32_bcppb.lib" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\ostools\spcm_ostools_win.cpp" FORMNAME="" UNITNAME="spcm_ostools_win" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\sb5_file\sb5_file.cpp" FORMNAME="" UNITNAME="sb5_file" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-  </FILELIST>
-  <BUILDTOOLS>
-  </BUILDTOOLS>
-
-  <IDEOPTIONS>
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1031
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[Debugging]
-DebugSourceDirs=$(BCB)\source\vcl
-
-[Parameters]
-RunParams=
-Launcher=
-UseLauncher=0
-DebugCWD=
-HostApplication=
-RemoteHost=
-RemotePath=
-RemoteLauncher=
-RemoteCWD=
-RemoteDebug=0
-
-[Compiler]
-ShowInfoMsgs=0
-LinkDebugVcl=0
-  </IDEOPTIONS>
-</PROJECT>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.cpp b/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.cpp
deleted file mode 100644
index ba436f4ba9b06bc7da591a31228cf0c0d0266102..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.cpp
+++ /dev/null
@@ -1,449 +0,0 @@
-/*
-**************************************************************************
-
-rec_std_gate.cpp                                         (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all SpcMDrv based acquisition cards with the option
-Gated Sampling and Timestamp installed.
-
-Information about the different products and their drivers can be found
-online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/platform-driver-and-series-differences
-
-Shows Gated Sampling data acquisition using single mode (one shot). Start
-position and length of the gates are recorded using the timestamp feature.
-
-This example is done quite simple and defines the number of gates that
-one expects globally. However if you have no idea how many gates are
-expected and you wish to read out all the timestamps it is necessary to
-implement the timestamp readout dynamically. Please have a look at the
-Gated Sampling FIFO example to see how this may look like.
-
-**************************************************************************
-
-Feel free to use this source for own projects and modify it in any kind
-This example is provided "as is" without any guarantee.
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <stdlib.h>
-
-
-// to keep it simple we define globally how many gate we will handle
-// in this example. Each gate produces two timestamps
-#define MAXGATES 1000
-
-
-// maximum output lines to keep display simple
-#define MAXLINES 20
-
-
-
-/*
-**************************************************************************
-vDoCardSetup
-**************************************************************************
-*/
-
-void vDoCardSetup (ST_SPCM_CARDINFO *pstCard, int64 llMemsize, int32 lPreSamples, int32 lPostSamples)
-    {
-    int   i;
-    int64 llChannelMask;
-
-    // gated sampling with 256k memory, each gate segment has 16 samples of pre data and 16 samples of post data
-    if (pstCard->lMaxChannels >= 64)
-        llChannelMask = -1; // -1 is all bits set to 1 = 0xffffffffffffffff
-    else
-        llChannelMask = ((int64) 1 << pstCard->lMaxChannels) - 1;
-
-    bSpcMSetupModeRecStdGate (pstCard, llChannelMask, llMemsize, lPreSamples, lPostSamples);
-
-    // we try to set the samplerate to 10 MHz on internal PLL, no clock output,
-    // if the card can't run 10 MHz it is set to maximum sampling rate internally
-    bSpcMSetupClockPLL (pstCard, MEGA(10), false);
-    printf ("Sampling rate set to %.1lf MHz\n", (double) pstCard->llSetSamplerate / 1000000);
-
-    // we set trigger to external high gate, please connect the trigger line!
-    printf ("\n!!! Using external trigger - please connect a signal to the trigger input !!!\n\n");
-    bSpcMSetupTrigExternal (pstCard, SPC_TM_POS, false, 0);
-
-    // type dependent card setup
-    switch (pstCard->eCardFunction)
-        {
-
-        // analog acquisition card setup
-        case AnalogIn:
-
-            // program all input channels to +/-1 V and 50 ohm termination (if it's available)
-            for (i=0; i < pstCard->lMaxChannels; i++)
-                bSpcMSetupInputChannel (pstCard, i, 1000, true);
-            break;
-
-        // digital acquisition card setup
-        case DigitalIn:
-        case DigitalIO:
-
-            // set all input channel groups to 110 ohm termination (if it's available)
-            for (i=0; i < pstCard->uCfg.stDIO.lGroups; i++)
-                bSpcMSetupDigitalInput (pstCard, i, true);
-            break;
-        }
-
-    // set up the timestamp mode to standard
-    bSpcMSetupTimestamp (pstCard, SPC_TSMODE_STARTRESET | SPC_TSCNT_INTERNAL, 0);
-    }
-
-
-
-
-/*
-**************************************************************************
-vShowAnalogData: displays the recorded data and timstamps. Does an average
-over each gate segment and shows start position and length
-**************************************************************************
-*/
-
-int16 nShowAnalogData (ST_SPCM_CARDINFO *pstCard, int32 lPreSamples, int32 lPostSamples, void* pvBuffer, uint64* pqwTimestamps, int64 llAvailTimestamps)
-    {
-    int i;
-    int16*  ppnChannelData[SPCM_MAX_AICHANNEL];
-    int32   lGateStartPos, lGateSegmentLen;
-    int32   lGateIdx;
-    int64   llGateCount;
-
-    // allocate channel data
-    for (i=0; i<pstCard->lSetChannels; i++)
-        {
-        ppnChannelData[i] = new int16[(int32) pstCard->llSetMemsize];
-        if (!ppnChannelData[i])
-            return nSpcMErrorMessageStdOut (pstCard, "Memory allocation error\n", false);
-        }
-
-    // split data function
-    if (pstCard->lBytesPerSample == 1)
-        bSpcMDemuxAnalogData (pstCard, (int8*)pvBuffer, (int32) pstCard->llSetMemsize, ppnChannelData);
-    else
-        bSpcMDemuxAnalogData (pstCard, (int16*)pvBuffer, (int32) pstCard->llSetMemsize, ppnChannelData);
-
-    // some additional information on the acquisition
-    printf ("\nData information:\n=================\n");
-    printf ("We've read %d timestamps, making %d gate segments\n", (int)llAvailTimestamps, (int)(llAvailTimestamps / 2));
-
-    // as the last gate is for sure not ending within the memory we only get one timestamp for this one
-    llGateCount = ((llAvailTimestamps + 1) / 2);
-
-    // loop across all acquired gate segments and print some information
-    // keep in mind that each segment produces 2 timestamps
-    lGateStartPos = 0;
-    printf ("%6s %8s %8s %12s %15s %15s\n", "Index", "Pos", "Length", "Average Ch0", "Timestamp", "Timediff");
-    for (lGateIdx = 0; (lGateIdx < llGateCount) && (lGateIdx < MAXLINES); lGateIdx ++)
-        {
-
-        // M2i and M3i use 64 bit timestamps and M4i and M2p 128 bit
-        if (pstCard->bM2i || pstCard->bM3i)
-            lGateSegmentLen = (int32) (pqwTimestamps[2 * lGateIdx + 1] - pqwTimestamps[2 * lGateIdx]);
-        else if (pstCard->bM4i || pstCard->bM2p || pstCard->bM5i)
-            lGateSegmentLen = (int32) (pqwTimestamps[4 * lGateIdx + 2] - pqwTimestamps[4 * lGateIdx]);
-
-        // the timestamps only calculate the real world gate signal, we have to add our pre and postsample
-        lGateSegmentLen += (lPreSamples + lPostSamples);
-
-        // as the last gate didn't had a second timestamp we calc this length by the available data
-        if (lGateIdx == (llGateCount - 1))
-            lGateSegmentLen = (int32) (pstCard->llSetMemsize - lGateStartPos);
-
-        printf ("%6d %8d %8d %9.2f mV",
-            lGateIdx,
-            lGateStartPos,
-            lGateSegmentLen,
-            1000.0 * dSpcMIntToVoltage (pstCard, 0, dSpcMCalcAverage (&ppnChannelData[0][lGateStartPos], lGateSegmentLen)));
-
-        // M2i and M3i use 64 bit timestamps and M4i and M2p 128 bit
-        if (pstCard->bM2i || pstCard->bM3i)
-            printf (" %12.6f ms ", 1000.0 * (double) pqwTimestamps[2 * lGateIdx + 0] / pstCard->llSetSamplerate / pstCard->lOversampling);
-        else if (pstCard->bM4i || pstCard->bM2p || pstCard->bM5i)
-            printf (" %12.6f ms ", 1000.0 * (double) pqwTimestamps[4 * lGateIdx + 0] / pstCard->llSetSamplerate);
-
-        // calc the difference to the last segment
-        if ((lGateIdx > 0) && (pstCard->bM2i || pstCard->bM3i))
-            printf ("%12.6f ms", 1000.0 * (double) (pqwTimestamps[2 * lGateIdx] - pqwTimestamps[2 * (lGateIdx - 1)]) / pstCard->llSetSamplerate / pstCard->lOversampling);
-        else if ((lGateIdx > 0) && (pstCard->bM4i || pstCard->bM2p || pstCard->bM5i))
-            printf ("%12.6f ms", 1000.0 * (double) (pqwTimestamps[4 * lGateIdx] - pqwTimestamps[4 * (lGateIdx - 1)]) / pstCard->llSetSamplerate);
-
-        printf ("\n");
-        lGateStartPos += lGateSegmentLen;
-        }
-
-    // clean up
-    for (i=0; i<pstCard->lSetChannels; i++)
-        delete [] (ppnChannelData[i]);
-
-    return 0;
-    }
-
-/*
-**************************************************************************
-nShowDigitalData
-**************************************************************************
-*/
-
-int16 nShowDigitalData (ST_SPCM_CARDINFO *pstCard, void* pvBuffer, uint32 dwNrOfSamplesToShow)
-    {
-    int32 i, lChIdx;
-    uint32 dwSampleIdx;
-    int8* ppbyChannelData[SPCM_MAX_DIOCHANNEL];
-
-    // allocate channel data
-    for (i=0; i<pstCard->lSetChannels; i++)
-        {
-        ppbyChannelData[i] = new int8[(int32) pstCard->llSetMemsize];
-        if (!ppbyChannelData[i])
-            return nSpcMErrorMessageStdOut (pstCard, "Memory allocation error\n", false);
-        }
-
-    // split data function
-    bSpcMDemuxDigitalDataToInt8 (pstCard, pvBuffer, (int32) (pstCard->llSetMemsize), ppbyChannelData);
-
-    // print samples for each channel
-    printf ("\nPrint first %u samples of all channels:\n\n", dwNrOfSamplesToShow);
-
-    for (dwSampleIdx=0; dwSampleIdx<dwNrOfSamplesToShow; dwSampleIdx++)
-        {
-            printf ("SampleNr.%u\n", dwSampleIdx);
-
-            if (pstCard->lSetChannels < 16)
-                {
-
-                // less than 16 channels
-                lChIdx = pstCard->lSetChannels-1;
-
-                while (lChIdx >= 0)
-                    {
-                    printf ("[D%d] = %d ", lChIdx, ppbyChannelData[lChIdx][dwSampleIdx]);
-                    lChIdx--;
-                    }
-
-                printf ("\n\n");
-                }
-            else
-                {
-
-                // 16 channels and more
-                lChIdx = pstCard->lSetChannels-1;
-
-                while (lChIdx > 0)
-                    {
-                    printf ("[D%d ......... D%d] ", lChIdx, lChIdx - 15);
-                    lChIdx -= 16;
-                    }
-
-                printf ("\n");
-
-                lChIdx = pstCard->lSetChannels-1;
-                while (lChIdx >= 0)
-                    {
-                    printf ("%d", ppbyChannelData[lChIdx][dwSampleIdx]);
-
-                    if (!(lChIdx%16))
-                        printf (" ");
-                    else
-                        if (!(lChIdx%4))
-                            printf (".");
-
-                    lChIdx--;
-                    }
-
-                printf ("\n\n");
-                }
-        }
-
-    for (i=0; i<pstCard->lSetChannels; i++)
-        delete [] (ppbyChannelData[i]);
-
-    return 0;
-    }
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO    stCard;             // info structure of my card
-    int64               llMemsize;
-    int32               lPreSamples, lPostSamples;
-    int32               lOversampling = 1;
-    int64               llAvailTimestamps, llAvailTimestampBytes;
-    uint64              qwMemInBytes;
-    uint64              qwTSBufferLen_bytes = 0;
-    uint64*             pqwTimestamps;
-    void*               pvBuffer;
-
-
-    // ------------------------------------------------------------------------
-    // init card number 0 (the first card in the system), get some information and print it
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    if (bSpcMInitCardByIdx (&stCard, 0))
-    //if (bSpcMInitCardByIdx (&stCard, "192.168.1.10", 0))
-        {
-        printf (pszSpcMPrintDocumentationLink (&stCard, szBuffer, sizeof (szBuffer)));
-        printf (pszSpcMPrintCardInfo (&stCard, szBuffer, sizeof (szBuffer)));
-        }
-    else
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Could not open card\n", true);
-
-
-    // check whether we support this card type in the example
-    if ((stCard.eCardFunction != AnalogIn) && (stCard.eCardFunction != DigitalIn) && (stCard.eCardFunction != DigitalIO))
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Card function not supported by this example\n", false);
-    if ((stCard.lFeatureMap & SPCM_FEAT_GATE) == 0)
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Gated Sampling Option not installed. Examples was done especially for this option!\n", false);
-    if ((stCard.lFeatureMap & SPCM_FEAT_TIMESTAMP) == 0)
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Timestamp Option not installed. Examples was done especially for this option!\n", false);
-
-
-    // ------------------------------------------------------------------------
-    // do the card setup, error is routed in the structure so we don't care for the return values
-    llMemsize =     KILO_B(64);
-    lPreSamples =   32;
-    lPostSamples =  32;
-    if (!stCard.bSetError)
-        vDoCardSetup (&stCard, llMemsize, lPreSamples, lPostSamples);
-
-    // ------------------------------------------------------------------------
-    // calculate the amount of data we need and allocate memory buffer
-    if (!stCard.bSetError)
-        {
-        switch (stCard.eCardFunction)
-            {
-            case AnalogIn:
-                qwMemInBytes = stCard.llSetMemsize * stCard.lBytesPerSample * stCard.lSetChannels;
-                break;
-
-            case DigitalIn:
-            case DigitalIO:
-                qwMemInBytes = stCard.llSetMemsize;
-                break;
-            }
-
-
-        // M2i and M3i use 64 bit timestamps and M4i and M2p 128 bit
-        if (stCard.bM2i || stCard.bM3i)
-            qwTSBufferLen_bytes = sizeof (uint64) * MAXGATES * 2;
-        else if (stCard.bM4i || stCard.bM2p || stCard.bM5i)
-            qwTSBufferLen_bytes = 2ULL * sizeof (uint64) * MAXGATES * 2;
-
-        pqwTimestamps = (uint64*)pvAllocMemPageAligned (qwTSBufferLen_bytes);
-
-        pvBuffer = pvAllocMemPageAligned (qwMemInBytes);
-        if (!pvBuffer || !pqwTimestamps)
-            return nSpcMErrorMessageStdOut (&stCard, "Memory allocation error\n", false);
-        }
-
-    // ------------------------------------------------------------------------
-    // make acquisition and get data
-    if (!stCard.bSetError)
-        {
-        // We'll start and wait untill the card has finished or until a timeout occurs
-
-        // M2i and M3i use 64 bit timestamps and M4i and M2p 128 bit
-        if (stCard.bM2i || stCard.bM3i)
-            spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_TIMESTAMP, SPCM_DIR_CARDTOPC, 0, (void*) pqwTimestamps, 0, MAXGATES * 2 * sizeof (uint64));
-        else if (stCard.bM4i || stCard.bM2p || stCard.bM5i)
-            spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_TIMESTAMP, SPCM_DIR_CARDTOPC, 0, (void*) pqwTimestamps, 0, MAXGATES * 4 * sizeof (uint64));
-
-        spcm_dwSetParam_i32 (stCard.hDrv, SPC_TIMEOUT, 5000);
-        printf ("Starting the card together with timestamp transfer and waiting for ready interrupt\n");
-        if (spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_START | M2CMD_EXTRA_STARTDMA | M2CMD_CARD_ENABLETRIGGER | M2CMD_CARD_WAITREADY) == ERR_TIMEOUT)
-            {
-            vFreeMemPageAligned (pvBuffer, qwMemInBytes);
-            return nSpcMErrorMessageStdOut (&stCard, "... Timeout", false);
-            }
-        else
-            {
-
-            // we define the buffer for transfer and start the DMA transfer
-            printf ("Starting the DMA transfer and waiting until data is in PC memory\n");
-            spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, 0, pvBuffer, 0, qwMemInBytes);
-            spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_DATA_STARTDMA | M2CMD_DATA_WAITDMA);
-
-            // check for error code
-            if (spcm_dwGetErrorInfo_i32 (stCard.hDrv, NULL, NULL, szBuffer))
-                {
-                vFreeMemPageAligned (pvBuffer, qwMemInBytes);
-                return nSpcMErrorMessageStdOut (&stCard, szBuffer, false);
-                }
-            printf ("... acquisition ended, data has been transferred to PC memory\n");
-
-            // we read out timestamps (should be already done as we started timestamp read together with card
-            spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_EXTRA_WAITDMA);
-            spcm_dwGetParam_i64 (stCard.hDrv, SPC_TS_AVAIL_USER_LEN, &llAvailTimestampBytes);
-            llAvailTimestamps = llAvailTimestampBytes / 8;
-            printf ("... timestamps have been transferred to PC memory\n");
-            }
-        }
-
-
-
-    // ------------------------------------------------------------------------
-    // we do something with the acquired data
-    if (!stCard.bSetError)
-        switch (stCard.eCardFunction)
-            {
-            case AnalogIn:
-                nShowAnalogData (&stCard, lPreSamples, lPostSamples, pvBuffer, pqwTimestamps, llAvailTimestamps);
-                break;
-
-            case DigitalIn:
-            case DigitalIO:
-
-                // show first 10 samples for each channel
-                nShowDigitalData (&stCard, pvBuffer, 10);
-                break;
-            }
-
-
-
-    // ------------------------------------------------------------------------
-    // print error information if an error occured
-    if (stCard.bSetError)
-        return nSpcMErrorMessageStdOut (&stCard, "An error occured while programming the card:\n", true);
-
-
-    // clean up and close the driver
-    vSpcMCloseCard (&stCard);
-    vFreeMemPageAligned (pvBuffer, qwMemInBytes);
-    vFreeMemPageAligned (pqwTimestamps, qwTSBufferLen_bytes);
-
-    return EXIT_SUCCESS;
-    }
diff --git a/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.dsp b/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.dsp
deleted file mode 100644
index 725a7e8666d5dd2fb91dfe9dbe2892fa432bc713..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.dsp
+++ /dev/null
@@ -1,132 +0,0 @@
-# Microsoft Developer Studio Project File - Name="rec_std_gate" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** NICHT BEARBEITEN **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=rec_std_gate - Win32 Debug
-!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
-!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_std_gate.mak".
-!MESSAGE 
-!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
-!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_std_gate.mak" CFG="rec_std_gate - Win32 Debug"
-!MESSAGE 
-!MESSAGE Für die Konfiguration stehen zur Auswahl:
-!MESSAGE 
-!MESSAGE "rec_std_gate - Win32 Release" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE "rec_std_gate - Win32 Debug" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "rec_std_gate - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "rec_std_gate - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "rec_std_gate - Win32 Release"
-# Name "rec_std_gate - Win32 Debug"
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Group "header"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\rec_std_gate.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.dsw b/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.dsw
deleted file mode 100644
index 8850ea7fa88f09fae4d412bd78ec5067351938bc..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNUNG: DIESE ARBEITSBEREICHSDATEI DARF NICHT BEARBEITET ODER GELÖSCHT WERDEN!
-
-###############################################################################
-
-Project: "rec_std_gate"=.\rec_std_gate.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.vcproj b/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.vcproj
deleted file mode 100644
index 613a5b1edd0f2c3e3f3fc792b445bcb42f809ee0..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.vcproj
+++ /dev/null
@@ -1,579 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rec_std_gate"
-	ProjectGUID="{D750729D-A440-460A-BD49-065588423AC8}"
-	RootNamespace="rec_std_gate"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rec_std_gate.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_std_gate.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_std_gate.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_std_gate.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_std_gate.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rec_std_gate.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_std_gate.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_std_gate.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_std_gate.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_std_gate.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rec_std_gate.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_std_gate.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_std_gate.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_std_gate.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_std_gate.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rec_std_gate.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_std_gate.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_std_gate.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_std_gate.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_std_gate.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="header"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath="rec_std_gate.cpp"
-			>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.vcxproj b/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.vcxproj
deleted file mode 100644
index db089c0e892ce81eb177c017fa5e3764f5f144e2..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.vcxproj
+++ /dev/null
@@ -1,266 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{D750729D-A440-460A-BD49-065588423AC8}</ProjectGuid>
-    <RootNamespace>rec_std_gate</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_std_gate.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_gate.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_gate.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_gate.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_std_gate.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_gate.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_gate.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_gate.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_std_gate.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_gate.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_gate.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_gate.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_std_gate.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_gate.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_gate.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_gate.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="rec_std_gate.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.vcxproj.filters b/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.vcxproj.filters
deleted file mode 100644
index e0bc7e3f2ef02316045dc21690591df1d27a1444..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_gate/rec_std_gate.vcxproj.filters
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="common">
-      <UniqueIdentifier>{928c6af4-dd08-4cfe-9478-2d1b0ab6fdc4}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="header">
-      <UniqueIdentifier>{98984fdc-356a-4ec9-9937-844a503e2879}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="rec_std_gate.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_multi/makefile.rec_std_multi b/Cpp/examples/c_cpp/rec_std_multi/makefile.rec_std_multi
deleted file mode 100644
index eb533df132636986209f25e8261ccc7bcd124795..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_multi/makefile.rec_std_multi
+++ /dev/null
@@ -1,24 +0,0 @@
-COMPILER =   g++
-EXECUTABLE = rec_std_multi
-LIBS += -lspcm_linux -lrt -lpthread
-
-OBJECTS = \
-    rec_std_multi.o\
-	../common/spcm_lib_card.o\
-	../common/spcm_lib_data.o\
-	../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/rec_std_multi/makefile.rec_std_multi_poll b/Cpp/examples/c_cpp/rec_std_multi/makefile.rec_std_multi_poll
deleted file mode 100644
index 081eaf36125deb453a66ef56896a4cf404ec60ec..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_multi/makefile.rec_std_multi_poll
+++ /dev/null
@@ -1,24 +0,0 @@
-COMPILER =   g++
-EXECUTABLE = rec_std_multi_poll
-LIBS += -lspcm_linux -lrt -lpthread
-
-OBJECTS = \
-    rec_std_multi_poll.o\
-	../common/spcm_lib_card.o\
-	../common/spcm_lib_data.o\
-	../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.bpf b/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.bpf
deleted file mode 100644
index 5da88241fe8e80944de42def849bf4eab8f1f666..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.bpf
+++ /dev/null
@@ -1,3 +0,0 @@
-This file is used by the project manager only and should be treated like the project file
-
-
main 
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.bpr b/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.bpr
deleted file mode 100644
index 77e1f386aed9c511154a44134f33670beeb16189..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.bpr
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<!-- C++Builder XML Project -->
-<PROJECT>
-  <MACROS>
-    <VERSION value="BCB.06.00"/>
-    <PROJECT value="rec_std_multi.exe"/>
-    <OBJFILES value="rec_std_multi.obj ..\common\spcm_lib_thread.obj 
-      ..\common\spcm_lib_card.obj ..\common\spcm_lib_data.obj 
-      ..\common\ostools\spcm_ostools_win.obj ..\sb5_file\sb5_file.obj"/>
-    <RESFILES value=""/>
-    <DEFFILE value=""/>
-    <RESDEPEN value="$(RESFILES)"/>
-    <LIBFILES value="..\c_header\spcm_win32_bcppb.lib"/>
-    <LIBRARIES value=""/>
-    <SPARELIBS value=""/>
-    <PACKAGES value="vcl.bpi rtl.bpi vclx.bpi bcbsmp.bpi dclocx.bpi"/>
-    <PATHCPP value=".;..\common;..\common;..\common;..\common\ostools;..\sb5_file"/>
-    <PATHPAS value=".;"/>
-    <PATHRC value=".;"/>
-    <PATHASM value=".;"/>
-    <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
-    <RELEASELIBPATH value="$(BCB)\lib\release"/>
-    <LINKER value="ilink32"/>
-    <USERDEFINES value="_DEBUG"/>
-    <SYSDEFINES value="NO_STRICT;_NO_VCL;_RTLDLL;USEPACKAGES"/>
-    <MAINSOURCE value="rec_std_multi.bpf"/>
-    <INCLUDEPATH value="C:\svnwork\spcm_drv_c\sb5_file;C:\svnwork\spcm_drv_c\common\ostools;C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rec_std_multi;$(BCB)\include;$(BCB)\include\vcl"/>
-    <LIBPATH value="C:\svnwork\spcm_drv_c\sb5_file;C:\svnwork\spcm_drv_c\common\ostools;C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rec_std_multi;$(BCB)\lib\obj;$(BCB)\lib"/>
-    <WARNINGS value="-w-par"/>
-    <OTHERFILES value=""/>
-  </MACROS>
-  <OPTIONS>
-    <CFLAG1 value="-tWC -tWM -Od -H=$(BCB)\lib\vcl60.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v 
-      -vi- -c"/>
-    <PFLAGS value="-$YD -$W -$O- -$A8 -v -JPHNE -M"/>
-    <RFLAGS value=""/>
-    <AFLAGS value="/mx /w2 /zd"/>
-    <LFLAGS value="-Tpe -ap -D&quot;&quot; -x -Gn -v"/>
-    <OTHERFILES value=""/>
-  </OPTIONS>
-  <LINKER>
-    <ALLOBJ value="c0x32.obj $(PACKAGES) $(OBJFILES)"/>
-    <ALLRES value="$(RESFILES)"/>
-    <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mti.lib"/>
-    <OTHERFILES value=""/>
-  </LINKER>
-  <FILELIST>
-      <FILE FILENAME="rec_std_multi.bpf" FORMNAME="" UNITNAME="rec_std_multi" CONTAINERID="BPF" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="rec_std_multi.cpp" FORMNAME="" UNITNAME="rec_std_multi" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_thread.cpp" FORMNAME="" UNITNAME="spcm_lib_thread.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_card.cpp" FORMNAME="" UNITNAME="spcm_lib_card.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_data.cpp" FORMNAME="" UNITNAME="spcm_lib_data.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\c_header\spcm_win32_bcppb.lib" FORMNAME="" UNITNAME="spcm_win32_bcppb.lib" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\ostools\spcm_ostools_win.cpp" FORMNAME="" UNITNAME="spcm_ostools_win" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\sb5_file\sb5_file.cpp" FORMNAME="" UNITNAME="sb5_file" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-  </FILELIST>
-  <BUILDTOOLS>
-  </BUILDTOOLS>
-
-  <IDEOPTIONS>
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1031
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[Debugging]
-DebugSourceDirs=$(BCB)\source\vcl
-
-[Parameters]
-RunParams=
-Launcher=
-UseLauncher=0
-DebugCWD=
-HostApplication=
-RemoteHost=
-RemotePath=
-RemoteLauncher=
-RemoteCWD=
-RemoteDebug=0
-
-[Compiler]
-ShowInfoMsgs=0
-LinkDebugVcl=0
-  </IDEOPTIONS>
-</PROJECT>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.cpp b/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.cpp
deleted file mode 100644
index 19c7517d753ba464b50cc6b4953b307c95a343bc..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.cpp
+++ /dev/null
@@ -1,512 +0,0 @@
-/*
-**************************************************************************
-
-rec_std_multi.cpp                                        (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all SpcMDrv based acquisition cards with the option
-Multiple Recording installed.
-
-Information about the different products and their drivers can be found
-online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/platform-driver-and-series-differences
-
-Shows Multiple Recoridng data acquisition using single mode (one shot). If
-timestamp is installed the corresponding timestamp values are also read
-out and displayed.
-
-If Timestamp and BaseXIO are installed the BaseXIO lines are set to the
-timestamp acquisition mode and are sampled on every trigger event. The
-samples BaseXIO lines are also shown.
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <stdlib.h>
-
-
-
-/*
-**************************************************************************
-vDoCardSetup
-**************************************************************************
-*/
-
-void vDoCardSetup (ST_SPCM_CARDINFO *pstCard, int64 llMemsize, int32 lSegmentsize, int32 lPosttrigger)
-    {
-    int     i;
-    int64   llChannelMask;
-
-    // Multiple Recording setup
-    if (pstCard->lMaxChannels >= 64)
-        llChannelMask = -1; // -1 is all bits set to 1 = 0xffffffffffffffff
-    else
-        llChannelMask = ((int64) 1 << pstCard->lMaxChannels) - 1;
-
-    bSpcMSetupModeRecStdMulti (pstCard, llChannelMask, llMemsize, lSegmentsize, lPosttrigger);
-
-    // we try to set the samplerate to 1/4 of maximum samplerate on internal PLL, no clock output,
-    // if the card can't run 10 MHz it is set to maximum sampling rate internally
-    bSpcMSetupClockPLL (pstCard, pstCard->llMaxSamplerate / 4, false);
-    printf ("Sampling rate set to %.1lf MHz\n", (double) pstCard->llSetSamplerate / 1000000);
-
-    // we set trigger to external positive edge, please connect the trigger line!
-    printf ("\n!!! Using external trigger - please connect a signal to the trigger input !!!\n\n");
-    bSpcMSetupTrigExternal (pstCard, SPC_TM_POS, false, 0);
-
-    // type dependent card setup
-    switch (pstCard->eCardFunction)
-        {
-
-        // analog acquisition card setup
-        case AnalogIn:
-
-            // program all input channels to +/-1 V and 50 ohm termination (if it's available)
-            for (i=0; i < pstCard->lMaxChannels; i++)
-                if (pstCard->bM2i || pstCard->bM2p)
-                    bSpcMSetupInputChannel (pstCard, i, 1000, true);
-                else if (pstCard->bM3i || pstCard->bM4i || pstCard->bM5i)
-                    bSpcMSetupPathInputCh (pstCard, i, 0, 1000, 0, false, true, true);
-            break;
-
-        // digital acquisition card setup
-        case DigitalIn:
-        case DigitalIO:
-
-            // set all input channel groups to 110 ohm termination (if it's available)
-            for (i=0; i < pstCard->uCfg.stDIO.lGroups; i++)
-                bSpcMSetupDigitalInput (pstCard, i, true);
-            break;
-        }
-
-
-    // if timestamp and basexio are installed we acquire the asynchronous inputs with the timestamps
-    if ((pstCard->lFeatureMap & SPCM_FEAT_TIMESTAMP) && (pstCard->lFeatureMap & SPCM_FEAT_BASEXIO))
-        bSpcMSetupTimestamp (pstCard, SPC_TSMODE_STANDARD | SPC_TSCNT_INTERNAL | SPC_TSXIOACQ_ENABLE, 0);
-
-    // set up the timestamp mode to standard if timestamp is installed
-    else if ((pstCard->lFeatureMap & SPCM_FEAT_TIMESTAMP) != 0)
-        {
-        int32 lAvailTSModes = 0;
-        spcm_dwGetParam_i32 (pstCard->hDrv, SPC_TIMESTAMP_AVAILMODES, &lAvailTSModes);
-
-        int32 lTSCmd = SPC_TSMODE_STANDARD | SPC_TSCNT_INTERNAL;
-        if (lAvailTSModes & SPC_TSFEAT_TRGSRC)
-            lTSCmd |= SPC_TSFEAT_TRGSRC; // acquire trigger sources
-        if (lAvailTSModes & SPC_TSXIOACQ_ENABLE)
-            lTSCmd |= SPC_TSXIOACQ_ENABLE; // acquire bits on multipurpose lines
-        bSpcMSetupTimestamp (pstCard, lTSCmd, 0);
-        }
-    }
-
-
-
-/*
-**************************************************************************
-nShowAnalogData
-**************************************************************************
-*/
-
-template < typename T >
-int16 nShowAnalogData (ST_SPCM_CARDINFO *pstCard, int32 lSegmentsize, int32 lPosttrigger, void* pvBuffer, bool bTimestampInstalled, bool bBaseXIO, bool bTrigSrc, uint64* pqwTimestamps)
-    {
-    T*  ppTChannelData[SPCM_MAX_AICHANNEL];
-    int     i;
-    int32   lSegmentIdx;
-    uint32  dwBaseXIOLines;
-
-    for (i = 0; i < pstCard->lSetChannels; i++)
-        {
-        ppTChannelData[i] = new T[lSegmentsize];
-        if (!ppTChannelData[i])
-            return nSpcMErrorMessageStdOut (pstCard, "Memory allocation error\n", false);
-        }
-
-
-    // loop across all acquired segments
-    if (bTimestampInstalled && bBaseXIO)
-        printf ("\n%8s %12s %12s %12s %4s %15s %10s\n", "Segment", "Min", "Max", "Average", "BXIO", "Timestamp", "Timediff");
-    else if (bTimestampInstalled && bTrigSrc)
-        printf ("\n%8s %12s %12s %12s %15s %10s %16s\n", "Segment", "Min", "Max", "Average", "Timestamp", "Timediff", "Trigger Source");
-    else if (bTimestampInstalled)
-        printf ("\n%8s %12s %12s %12s %15s %10s\n", "Segment", "Min", "Max", "Average", "Timestamp", "Timediff");
-    else
-        printf ("\n%8s %12s %12s %12s\n", "Segment", "Min", "Max", "Average");
-    for (lSegmentIdx = 0; lSegmentIdx < (pstCard->llSetMemsize / lSegmentsize); lSegmentIdx++)
-        {
-
-        // split data function
-        bSpcMDemuxAnalogData (pstCard, (T*)pvGetSegmentDataPointer (pstCard, pvBuffer, lSegmentsize, lSegmentIdx, pstCard->lBytesPerSample), lSegmentsize, ppTChannelData);
-
-        // we just look at channel 0 to keep output simple independant of the number of channels
-        printf ("%8d %9.2f mV %9.2f mV %9.2f mV ", lSegmentIdx,
-            1000.0 * dSpcMIntToVoltage (pstCard, 0, TSpcMCalcMin (ppTChannelData[0], (uint32) lSegmentsize)),
-            1000.0 * dSpcMIntToVoltage (pstCard, 0, TSpcMCalcMax (ppTChannelData[0], (uint32) lSegmentsize)),
-            1000.0 * dSpcMIntToVoltage (pstCard, 0, dSpcMCalcAverage (ppTChannelData[0], (uint32) lSegmentsize)));
-
-
-        // if basexio is installed we split the 8 asynchronous lines and clean up the timestamp
-        if (bBaseXIO)
-            {
-            dwBaseXIOLines = (uint32) (pqwTimestamps[lSegmentIdx] >> 56);
-
-            // unmask the BaseXIOLines from the timestamps
-            pqwTimestamps[lSegmentIdx] &= ~(((uint64) 0xff000000) << 32);
-            printf ("  %02x ", dwBaseXIOLines);
-            }
-
-        // print the timestamps and the difference, keeping track of the oversampling factor
-        if (bTimestampInstalled)
-            {
-
-            // M2i and M3i use 64 bit timestamps, M4i, M2p and M5i 128 bit
-            if (pstCard->bM2i || pstCard->bM3i)
-                printf ("%12.6f ms ", 1000.0 * (double) ((int64) pqwTimestamps[lSegmentIdx]) / pstCard->llSetSamplerate / pstCard->lOversampling);
-            else if (pstCard->bM4i || pstCard->bM2p || pstCard->bM5i)
-                printf ("%12.6f ms ", 1000.0 * (double) ((int64) pqwTimestamps[2 * lSegmentIdx]) / pstCard->llSetSamplerate);
-
-            // print the difference, starting with segment 1
-            if (lSegmentIdx > 0)
-                {
-
-                // M2i and M3i use 64 bit timestamps, M4i, M2p and M5i 128 bit
-                if (pstCard->bM2i || pstCard->bM3i)
-                    printf ("%7.2f ms", 1000.0 * (double) (int64) (pqwTimestamps[lSegmentIdx] - pqwTimestamps[lSegmentIdx - 1]) / pstCard->llSetSamplerate / pstCard->lOversampling);
-                else if (pstCard->bM4i || pstCard->bM2p || pstCard->bM5i)
-                    printf ("%7.2f ms", 1000.0 * (double) (int64) (pqwTimestamps[2*lSegmentIdx] - pqwTimestamps[2*lSegmentIdx - 2]) / pstCard->llSetSamplerate);
-                }
-            else
-                printf ("          "); // for trigger source alignment
-
-            // print trigger sources for each segment
-            if (bTrigSrc)
-                {
-                if ((pqwTimestamps[2*lSegmentIdx + 1]) & SPC_TRGSRC_MASK_CH0)
-                    printf (" Ch0");
-                if ((pqwTimestamps[2*lSegmentIdx + 1]) & SPC_TRGSRC_MASK_CH1)
-                    printf (" Ch1");
-                if ((pqwTimestamps[2*lSegmentIdx + 1]) & SPC_TRGSRC_MASK_CH2)
-                    printf (" Ch2");
-                if ((pqwTimestamps[2*lSegmentIdx + 1]) & SPC_TRGSRC_MASK_CH3)
-                    printf (" Ch3");
-                if ((pqwTimestamps[2*lSegmentIdx + 1]) & SPC_TRGSRC_MASK_CH4)
-                    printf (" Ch4");
-                if ((pqwTimestamps[2*lSegmentIdx + 1]) & SPC_TRGSRC_MASK_CH5)
-                    printf (" Ch5");
-                if ((pqwTimestamps[2*lSegmentIdx + 1]) & SPC_TRGSRC_MASK_CH6)
-                    printf (" Ch6");
-                if ((pqwTimestamps[2*lSegmentIdx + 1]) & SPC_TRGSRC_MASK_CH7)
-                    printf (" Ch7");
-                if ((pqwTimestamps[2*lSegmentIdx + 1]) & SPC_TRGSRC_MASK_EXT0)
-                    printf (" EXT0");
-                if ((pqwTimestamps[2*lSegmentIdx + 1]) & SPC_TRGSRC_MASK_EXT1)
-                    printf (" EXT1");
-                if ((pqwTimestamps[2*lSegmentIdx + 1]) & SPC_TRGSRC_MASK_FORCE)
-                    printf (" FORCE");
-                }
-            }
-
-
-        printf ("\n");
-        }
-
-    // clean up
-    for (i = 0; i < pstCard->lSetChannels; i++)
-        delete [] (ppTChannelData[i]);
-
-    return 0;
-    }
-
-/*
-**************************************************************************
-nShowDigitalData
-**************************************************************************
-*/
-
-int16 nShowDigitalData (ST_SPCM_CARDINFO *pstCard, void* pvBuffer, uint32 dwNrOfSamplesToShow)
-    {
-    int32 i, lChIdx;
-    uint32 dwSampleIdx;
-    int8* ppbyChannelData[SPCM_MAX_DIOCHANNEL];
-
-    // allocate channel data
-    for (i=0; i<pstCard->lSetChannels; i++)
-        {
-        ppbyChannelData[i] = new int8[(int32) pstCard->llSetMemsize];
-        if (!ppbyChannelData[i])
-            return nSpcMErrorMessageStdOut (pstCard, "Memory allocation error\n", false);
-        }
-
-    // split data function
-    bSpcMDemuxDigitalDataToInt8 (pstCard, pvBuffer, (int32) (pstCard->llSetMemsize), ppbyChannelData);
-
-    // print samples for each channel
-    printf ("\nPrint first %u samples of all channels:\n\n", dwNrOfSamplesToShow);
-
-    for (dwSampleIdx=0; dwSampleIdx<dwNrOfSamplesToShow; dwSampleIdx++)
-        {
-            printf ("SampleNr.%u\n", dwSampleIdx);
-
-            if (pstCard->lSetChannels < 16)
-                {
-
-                // less than 16 channels
-                lChIdx = pstCard->lSetChannels-1;
-
-                while (lChIdx >= 0)
-                    {
-                    printf ("[D%d] = %d ", lChIdx, ppbyChannelData[lChIdx][dwSampleIdx]);
-                    lChIdx--;
-                    }
-
-                printf ("\n\n");
-                }
-            else
-                {
-
-                // 16 channels and more
-                lChIdx = pstCard->lSetChannels-1;
-
-                while (lChIdx > 0)
-                    {
-                    printf ("[D%d ......... D%d] ", lChIdx, lChIdx - 15);
-                    lChIdx -= 16;
-                    }
-
-                printf ("\n");
-
-                lChIdx = pstCard->lSetChannels-1;
-                while (lChIdx >= 0)
-                    {
-                    printf ("%d", ppbyChannelData[lChIdx][dwSampleIdx]);
-
-                    if (!(lChIdx%16))
-                        printf (" ");
-                    else
-                        if (!(lChIdx%4))
-                            printf (".");
-
-                    lChIdx--;
-                    }
-
-                printf ("\n\n");
-                }
-        }
-
-    for (i=0; i<pstCard->lSetChannels; i++)
-        delete (ppbyChannelData[i]);
-
-    return 0;
-    }
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO    stCard;             // info structure of my card
-    int64               llMemsize;
-    int32               lSegmentsize, lPosttrigger;
-    int32               lOversampling = 1;
-    bool                bTimestampInstalled, bBaseXIOInstalled;
-    bool                bTrigSrcAvailable = false;
-    uint64              qwMemInBytes;
-    uint64              qwTSBufferLen_bytes = 0;
-    uint64*             pqwTimestamps = NULL;
-    void*               pvBuffer;
-
-
-    // ------------------------------------------------------------------------
-    // init card number 0 (the first card in the system), get some information and print it
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    if (bSpcMInitCardByIdx (&stCard, 0))
-    //if (bSpcMInitCardByIdx (&stCard, "192.168.1.10", 0))
-        {
-        printf (pszSpcMPrintDocumentationLink (&stCard, szBuffer, sizeof (szBuffer)));
-        printf (pszSpcMPrintCardInfo (&stCard, szBuffer, sizeof (szBuffer)));
-        }
-    else
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Could not open card\n", true);
-
-
-    // check whether we support this card type in the example
-    if ((stCard.eCardFunction != AnalogIn) && (stCard.eCardFunction != DigitalIn) && (stCard.eCardFunction != DigitalIO))
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Card function not supported by this example\n", false);
-    if ((stCard.lFeatureMap & SPCM_FEAT_MULTI) == 0)
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Multiple Recording Option not installed. Examples was done especially for this option!\n", false);
-
-    // if timestamp is installed we set a flag to support this mode in the example also
-    bTimestampInstalled = ((stCard.lFeatureMap & SPCM_FEAT_TIMESTAMP) != 0);
-    bBaseXIOInstalled = ((stCard.lFeatureMap & SPCM_FEAT_BASEXIO) != 0);
-    if (stCard.bM4i || stCard.bM2p || stCard.bM5i)
-        bTrigSrcAvailable = true;
-
-
-
-    // ------------------------------------------------------------------------
-    // do the card setup, error is routed in the structure so we don't care for the return values
-    llMemsize =     KILO_B(256);
-    lSegmentsize =  KILO_B(16);
-    lPosttrigger =  KILO_B(15);
-    if (!stCard.bSetError)
-        vDoCardSetup (&stCard, llMemsize, lSegmentsize, lPosttrigger);
-
-
-
-    // ------------------------------------------------------------------------
-    // calculate the amount of data we need and allocate memory buffer
-    if (!stCard.bSetError)
-        {
-        qwMemInBytes = stCard.llSetMemsize * stCard.lBytesPerSample * stCard.lSetChannels;
-        pvBuffer = pvAllocMemPageAligned (qwMemInBytes);
-
-        if (bTimestampInstalled)
-            {
-
-            // M2i and M3i use 64 bit timestamps and M4i and M2p 128 bit
-            if (stCard.bM2i || stCard.bM3i)
-                qwTSBufferLen_bytes = sizeof (uint64) * llMemsize / lSegmentsize;
-            else if (stCard.bM4i || stCard.bM2p || stCard.bM5i)
-                qwTSBufferLen_bytes = 2ULL*sizeof (uint64) * llMemsize / lSegmentsize;
-
-            pqwTimestamps = (uint64*)pvAllocMemPageAligned (qwTSBufferLen_bytes);
-            }
-
-        if (!pvBuffer || (bTimestampInstalled &&!pqwTimestamps))
-            return nSpcMErrorMessageStdOut (&stCard, "Memory allocation error\n", false);
-        }
-
-
-
-    // ------------------------------------------------------------------------
-    // make acquisition and get data
-    if (!stCard.bSetError)
-        {
-        printf ("\n");
-
-        // if using timestamps we need to start the transfer before the card start to avoid an overrun of the timestamp memory
-        if (bTimestampInstalled)
-            {
-            printf ("Starting the timestamp DMA transfer\n");
-
-            // M2i and M3i use 64 bit timestamps and M4i and M2p 128 bit
-            if (stCard.bM2i || stCard.bM3i)
-                spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_TIMESTAMP, SPCM_DIR_CARDTOPC, 0, (void*) pqwTimestamps, 0, llMemsize / lSegmentsize * sizeof (uint64));
-            else if (stCard.bM4i || stCard.bM2p || stCard.bM5i)
-                spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_TIMESTAMP, SPCM_DIR_CARDTOPC, 0, (void*) pqwTimestamps, 0, 2 * llMemsize / lSegmentsize * sizeof (uint64));
-
-            spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_EXTRA_STARTDMA);
-            }
-
-        // We'll start and wait untill the card has finished or until a timeout occurs
-        spcm_dwSetParam_i32 (stCard.hDrv, SPC_TIMEOUT, 5000);
-        printf ("Starting the card and waiting for ready interrupt\n");
-        if (spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER | M2CMD_CARD_WAITREADY) == ERR_TIMEOUT)
-            {
-            vFreeMemPageAligned (pvBuffer, qwMemInBytes);
-            return nSpcMErrorMessageStdOut (&stCard, "... Timeout\n", false);
-            }
-        else
-            {
-
-            // we define the buffer for transfer and start the DMA transfer
-            printf ("Starting the DMA transfer and waiting until data is in PC memory\n");
-            spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, 0, pvBuffer, 0, qwMemInBytes);
-            spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_DATA_STARTDMA | M2CMD_DATA_WAITDMA);
-
-            // check for error code
-            if (spcm_dwGetErrorInfo_i32 (stCard.hDrv, NULL, NULL, szBuffer))
-                {
-                vFreeMemPageAligned (pvBuffer, qwMemInBytes);
-                return nSpcMErrorMessageStdOut (&stCard, szBuffer, false);
-                }
-            printf ("... acquisition ended, data has been transferred to PC memory\n");
-
-            // wait for the timestamps (should be already done as we started the transfer before the card start)
-            if (bTimestampInstalled)
-                {
-                spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_EXTRA_WAITDMA);
-                printf ("... timestamps have been transferred to PC memory\n");
-                }
-            }
-        }
-
-
-
-    // ------------------------------------------------------------------------
-    // we go through the segments, split the data in separate channels and show some results
-    if (!stCard.bSetError)
-        {
-
-        // some additional information on the acquisition
-        printf ("\nData information:\n=================\n");
-        printf ("Each segment is %.3f ms long\n", 1000.0 * lSegmentsize / stCard.llSetSamplerate);
-        printf ("Maximum pulse repetition frequency to reach with this setting is %.2f Hz\n", (double) stCard.llSetSamplerate / lSegmentsize);
-
-        switch (stCard.eCardFunction)
-            {
-            case AnalogIn:
-                if (stCard.lBytesPerSample == 2)
-                    nShowAnalogData < int16 >(&stCard, lSegmentsize, lPosttrigger, pvBuffer, bTimestampInstalled, bBaseXIOInstalled, bTrigSrcAvailable, pqwTimestamps);
-                else
-                    nShowAnalogData < int8 >(&stCard, lSegmentsize, lPosttrigger, pvBuffer, bTimestampInstalled, bBaseXIOInstalled, bTrigSrcAvailable, pqwTimestamps);
-                break;
-
-            case DigitalIn:
-            case DigitalIO:
-
-                // show first 10 samples for each channel
-                nShowDigitalData (&stCard, pvBuffer, 10);
-                break;
-            }
-
-        if (bTimestampInstalled)
-            vFreeMemPageAligned (pqwTimestamps, qwTSBufferLen_bytes);
-        }
-
-
-
-    // ------------------------------------------------------------------------
-    // print error information if an error occured
-    if (stCard.bSetError)
-        return nSpcMErrorMessageStdOut (&stCard, "An error occured while programming the card:\n", true);
-
-
-    // clean up and close the driver
-    vSpcMCloseCard (&stCard);
-    vFreeMemPageAligned (pvBuffer, qwMemInBytes);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.dsp b/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.dsp
deleted file mode 100644
index 1963ffb4fe9ce406076ba07078525bad3c9456d8..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.dsp
+++ /dev/null
@@ -1,132 +0,0 @@
-# Microsoft Developer Studio Project File - Name="rec_std_multi" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** NICHT BEARBEITEN **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=rec_std_multi - Win32 Debug
-!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
-!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_std_multi.mak".
-!MESSAGE 
-!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
-!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_std_multi.mak" CFG="rec_std_multi - Win32 Debug"
-!MESSAGE 
-!MESSAGE Für die Konfiguration stehen zur Auswahl:
-!MESSAGE 
-!MESSAGE "rec_std_multi - Win32 Release" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE "rec_std_multi - Win32 Debug" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "rec_std_multi - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "rec_std_multi - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "rec_std_multi - Win32 Release"
-# Name "rec_std_multi - Win32 Debug"
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Group "header"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\rec_std_multi.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.dsw b/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.dsw
deleted file mode 100644
index 5a78b3b8225879b122b02b457f19145ce0c7b195..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.dsw
+++ /dev/null
@@ -1,41 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "rec_std_multi"=.\rec_std_multi.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "rec_std_multi_poll"=.\rec_std_multi_poll.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.vcproj b/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.vcproj
deleted file mode 100644
index 0493b20f0180309ff9a37072e81bd4ec7c134194..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.vcproj
+++ /dev/null
@@ -1,593 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rec_std_multi"
-	ProjectGUID="{DE7EFF20-D29A-489A-92B6-3056B9F21E93}"
-	RootNamespace="rec_std_multi"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rec_std_multi.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_std_multi.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_std_multi.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_std_multi.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_std_multi.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rec_std_multi.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_std_multi.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_std_multi.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_std_multi.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_std_multi.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rec_std_multi.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_std_multi.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_std_multi.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_std_multi.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_std_multi.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rec_std_multi.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_std_multi.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_std_multi.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_std_multi.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_std_multi.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="header"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath="rec_std_multi.cpp"
-			>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.vcxproj b/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.vcxproj
deleted file mode 100644
index 5add20392bd00c4ef4726db14f9844cc83601b20..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.vcxproj
+++ /dev/null
@@ -1,266 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{DE7EFF20-D29A-489A-92B6-3056B9F21E93}</ProjectGuid>
-    <RootNamespace>rec_std_multi</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_std_multi.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_multi.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_multi.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_multi.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_std_multi.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_multi.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_multi.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_multi.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_std_multi.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_multi.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_multi.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_multi.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_std_multi.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_multi.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_multi.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_multi.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="rec_std_multi.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.vcxproj.filters b/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.vcxproj.filters
deleted file mode 100644
index 253dc708753be991fd3b59c9eb521fe97c2770d8..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi.vcxproj.filters
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="common">
-      <UniqueIdentifier>{269422cf-b44f-4d02-a5a2-7172e1299d04}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="header">
-      <UniqueIdentifier>{68fc190a-08bb-4d5d-bfd8-1cc68f6ebf1f}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="rec_std_multi.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi_poll.cpp b/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi_poll.cpp
deleted file mode 100644
index 500a2c25d3c6c946446a202500a656ea8b1e2941..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi_poll.cpp
+++ /dev/null
@@ -1,398 +0,0 @@
-/*
-**************************************************************************
-
-rec_std_multi_poll.cpp                                   (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all SpcMDrv based acquisition cards with the option
-Multiple Recording installed.
-
-Information about the different products and their drivers can be found
-online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/platform-driver-and-series-differences
-
-Shows Multiple Recoridng data acquisition using single mode (one shot). If
-timestamp is installed the corresponding timestamp values are also read
-out and displayed.
-
-If Timestamp and BaseXIO are installed the BaseXIO lines are set to the
-timestamp acquisition mode and are sampled on every trigger event. The
-samples BaseXIO lines are also shown.
-
-Feel free to use this source for own projects and modify it in any kind
-
-This example shows the polling of the status, no wait function is used
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <stdlib.h>
-
-
-
-/*
-**************************************************************************
-vDoCardSetup
-**************************************************************************
-*/
-
-void vDoCardSetup (ST_SPCM_CARDINFO *pstCard, int64 llMemsize, int32 lSegmentsize, int32 lPosttrigger)
-    {
-    int   i;
-
-    // Multiple Recording setup
-    bSpcMSetupModeRecStdMulti (pstCard, (1 << pstCard->lMaxChannels) - 1, llMemsize, lSegmentsize, lPosttrigger);
-
-    // we try to set the samplerate to 10 MHz on internal PLL, no clock output,
-    // if the card can't run 10 MHz it is set to maximum sampling rate internally
-    bSpcMSetupClockPLL (pstCard, 10000000, false);
-    printf ("Sampling rate set to %.1lf MHz\n", (double) pstCard->llSetSamplerate / 1000000);
-
-    // we set trigger to external positive edge, please connect the trigger line!
-    printf ("\n!!! Using external trigger - please connect a signal to the trigger input !!!\n\n");
-    bSpcMSetupTrigExternal (pstCard, SPC_TM_POS, false, 0);
-
-    // type dependent card setup
-    switch (pstCard->eCardFunction)
-        {
-
-        // analog acquisition card setup
-        case AnalogIn:
-
-            // program all input channels to +/-1 V and 50 ohm termination (if it's available)
-            for (i=0; i < pstCard->lMaxChannels; i++)
-                bSpcMSetupInputChannel (pstCard, i, 1000, true);
-            break;
-        }
-
-
-    // if timestamp and basexio are installed we acquire the asynchronous inputs with the timestamps
-    if ((pstCard->lFeatureMap & SPCM_FEAT_TIMESTAMP) && (pstCard->lFeatureMap & SPCM_FEAT_BASEXIO))
-        bSpcMSetupTimestamp (pstCard, SPC_TSMODE_STANDARD | SPC_TSCNT_INTERNAL | SPC_TSXIOACQ_ENABLE, 0);
-
-    // set up the timestamp mode to standard if timestamp is installed
-    else if ((pstCard->lFeatureMap & SPCM_FEAT_TIMESTAMP) != 0)
-        bSpcMSetupTimestamp (pstCard, SPC_TSMODE_STANDARD | SPC_TSCNT_INTERNAL, 0);
-
-    }
-
-
-
-/*
-**************************************************************************
-nShowAnalogData
-**************************************************************************
-*/
-
-int16 nShowAnalogData (ST_SPCM_CARDINFO *pstCard, int32 lSegmentsize, int32 lPosttrigger, void* pvBuffer, bool bTimestampInstalled, bool bBaseXIO, uint64* pqwTimestamps)
-    {
-    int16*  ppnChannelData[SPCM_MAX_AICHANNEL];
-    int     i;
-    int32   lSegmentIdx;
-    uint32  dwBaseXIOLines;
-
-    for (i=0; i<pstCard->lSetChannels; i++)
-        {
-        ppnChannelData[i] = new int16[lSegmentsize];
-        if (!ppnChannelData[i])
-            return nSpcMErrorMessageStdOut (pstCard, "Memory allocation error\n", false);
-        }
-
-
-    // loop across all acquired segments
-    if (bTimestampInstalled && bBaseXIO)
-        printf ("\n%8s %12s %12s %12s %4s %15s %10s\n", "Segment", "Min", "Max", "Average", "BXIO", "Timestamp", "Timediff");
-    else if (bTimestampInstalled)
-        printf ("\n%8s %12s %12s %12s %15s %10s\n", "Segment", "Min", "Max", "Average", "Timestamp", "Timediff");
-    else
-        printf ("\n%8s %12s %12s %12s\n", "Segment", "Min", "Max", "Average");
-    for (lSegmentIdx = 0; lSegmentIdx < (pstCard->llSetMemsize / lSegmentsize); lSegmentIdx++)
-        {
-
-        // split data function
-        if (pstCard->lBytesPerSample == 1)
-            bSpcMDemuxAnalogData (pstCard, (int8*)pvGetSegmentDataPointer (pstCard, pvBuffer, lSegmentsize, lSegmentIdx, pstCard->lBytesPerSample), lSegmentsize, ppnChannelData);
-        else
-            bSpcMDemuxAnalogData (pstCard, (int16*)pvGetSegmentDataPointer (pstCard, pvBuffer, lSegmentsize, lSegmentIdx, pstCard->lBytesPerSample), lSegmentsize, ppnChannelData);
-
-        // we just look at channel 0 to keep output simple independant of the number of channels
-        printf ("%8d %9.2f mV %9.2f mV %9.2f mV ", lSegmentIdx,
-            1000.0 * dSpcMIntToVoltage (pstCard, 0, TSpcMCalcMin (ppnChannelData[0], (uint32) lSegmentsize)),
-            1000.0 * dSpcMIntToVoltage (pstCard, 0, TSpcMCalcMax (ppnChannelData[0], (uint32) lSegmentsize)),
-            1000.0 * dSpcMIntToVoltage (pstCard, 0, dSpcMCalcAverage (ppnChannelData[0], (uint32) lSegmentsize)));
-
-
-        // if basexio is installed we split the 8 asynchronous lines and clean up the timestamp
-        if (bBaseXIO)
-            {
-            dwBaseXIOLines = (uint32) (pqwTimestamps[lSegmentIdx] >> 56);
-
-            // unmask the BaseXIOLines from the timestamps
-            pqwTimestamps[lSegmentIdx] &= ~(((uint64) 0xff000000) << 32);
-            printf ("  %02x ", dwBaseXIOLines);
-            }
-
-        // print the timestamps and the difference, keeping track of the oversampling factor
-        if (bTimestampInstalled)
-            {
-
-            // M2i and M3i use 64 bit timestamps, M4i, M2p and M5i 128 bit
-            if (pstCard->bM2i || pstCard->bM3i)
-                printf ("%12.6f ms ", 1000.0 * (double) ((int64) pqwTimestamps[lSegmentIdx]) / pstCard->llSetSamplerate / pstCard->lOversampling);
-            else if (pstCard->bM4i || pstCard->bM2p || pstCard->bM5i)
-                printf ("%12.6f ms ", 1000.0 * (double) ((int64) pqwTimestamps[2 * lSegmentIdx]) / pstCard->llSetSamplerate);
-            }
-
-        // print the difference, starting with segment 1
-        if (bTimestampInstalled && (lSegmentIdx > 0))
-            {
-
-            // M2i and M3i use 64 bit timestamps, M4i, M2p and M5i 128 bit
-            if (pstCard->bM2i || pstCard->bM3i)
-                printf ("%7.2f ms", 1000.0 * (double) (int64) (pqwTimestamps[lSegmentIdx] - pqwTimestamps[lSegmentIdx - 1]) / pstCard->llSetSamplerate / pstCard->lOversampling);
-            else if (pstCard->bM4i || pstCard->bM2p || pstCard->bM5i)
-                printf ("%7.2f ms", 1000.0 * (double) (int64) (pqwTimestamps[2*lSegmentIdx] - pqwTimestamps[2*lSegmentIdx - 2]) / pstCard->llSetSamplerate);
-            }
-
-
-        printf ("\n");
-        }
-
-    // clean up
-    for (i=0; i<pstCard->lSetChannels; i++)
-        delete (ppnChannelData[i]);
-
-    return 0;
-    }
-
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO    stCard;             // info structure of my card
-    int64               llMemsize;
-    int32               lSegmentsize, lPosttrigger;
-    int32               lOversampling = 1;
-    bool                bTimestampInstalled, bBaseXIOInstalled;
-    uint64              qwMemInBytes;
-    uint64              qwTSBufferLen_bytes = 0;
-    uint64*             pqwTimestamps = NULL;
-    void*               pvBuffer;
-    uint32              dwErr;
-
-
-    // ------------------------------------------------------------------------
-    // init card number 0 (the first card in the system), get some information and print it
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    if (bSpcMInitCardByIdx (&stCard, 0))
-    //if (bSpcMInitCardByIdx (&stCard, "192.168.1.10", 0))
-        {
-        printf (pszSpcMPrintDocumentationLink (&stCard, szBuffer, sizeof (szBuffer)));
-        printf (pszSpcMPrintCardInfo (&stCard, szBuffer, sizeof (szBuffer)));
-        }
-    else
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Could not open card\n", true);
-
-
-    // check whether we support this card type in the example
-    if (stCard.eCardFunction != AnalogIn)
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Card function not supported by this example\n", false);
-    if ((stCard.lFeatureMap & SPCM_FEAT_MULTI) == 0)
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Multiple Recording Option not installed. Examples was done especially for this option!\n", false);
-
-    // if timestamp is installed we set a flag to support this mode in the example also
-    bTimestampInstalled = ((stCard.lFeatureMap & SPCM_FEAT_TIMESTAMP) != 0);
-    bBaseXIOInstalled = ((stCard.lFeatureMap & SPCM_FEAT_BASEXIO) != 0);
-
-
-
-    // ------------------------------------------------------------------------
-    // do the card setup, error is routed in the structure so we don't care for the return values
-    llMemsize =     KILO_B(256);
-    lSegmentsize =  KILO_B(16);
-    lPosttrigger =  KILO_B(15);
-    if (!stCard.bSetError)
-        vDoCardSetup (&stCard, llMemsize, lSegmentsize, lPosttrigger);
-
-
-
-    // ------------------------------------------------------------------------
-    // calculate the amount of data we need and allocate memory buffer
-    if (!stCard.bSetError)
-        {
-        qwMemInBytes = stCard.llSetMemsize * stCard.lBytesPerSample * stCard.lSetChannels;
-        pvBuffer = pvAllocMemPageAligned (qwMemInBytes);
-
-        if (bTimestampInstalled)
-            {
-
-            // M2i and M3i use 64 bit timestamps and M4i, M2p and M5i 128 bit
-            if (stCard.bM2i || stCard.bM3i)
-                qwTSBufferLen_bytes = sizeof (uint64) * llMemsize / lSegmentsize;
-            else if (stCard.bM4i || stCard.bM2p || stCard.bM5i)
-                qwTSBufferLen_bytes = 2ULL*sizeof (uint64) * llMemsize / lSegmentsize;
-
-            pqwTimestamps = (uint64*)pvAllocMemPageAligned (qwTSBufferLen_bytes);
-            }
-
-        if (!pvBuffer || (bTimestampInstalled &&!pqwTimestamps))
-            return nSpcMErrorMessageStdOut (&stCard, "Memory allocation error\n", false);
-        }
-
-
-
-    // ------------------------------------------------------------------------
-    // make acquisition and get data (program a number of loops if wanted
-    int32 lLoops = 3;
-    while (lLoops--)
-        {
-        if (!stCard.bSetError)
-            {
-            printf ("\n");
-
-            // if using timestamps we need to start the transfer before the card start to avoid an overrun of the timestamp memory
-            if (bTimestampInstalled)
-                {
-                printf ("Starting the timestamp DMA transfer\n");
-
-                // M2i and M3i use 64 bit timestamps and M4i, M2p and M5i 128 bit
-                if (stCard.bM2i || stCard.bM3i)
-                    spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_TIMESTAMP, SPCM_DIR_CARDTOPC, 0, (void*) pqwTimestamps, 0, llMemsize / lSegmentsize * sizeof (uint64));
-                else if (stCard.bM4i || stCard.bM2p || stCard.bM5i)
-                    spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_TIMESTAMP, SPCM_DIR_CARDTOPC, 0, (void*) pqwTimestamps, 0, 2 * llMemsize / lSegmentsize * sizeof (uint64));
-
-                spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_EXTRA_STARTDMA);
-                }
-
-            // We'll define the buffer for data to start everything together
-            spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, 0, pvBuffer, 0, qwMemInBytes);
-
-            printf ("Starting the card, the data transfer and poll\n");
-            spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER | M2CMD_DATA_STARTDMA);
-
-
-            // this is our status polling loop
-            bool bReady =           false;
-            bool bTimestampsReady = !bTimestampInstalled;
-            bool bDataReady =       false;
-            int32 lOldStatus = 0, lStatus;
-            do
-                {
-                dwErr = spcm_dwGetParam_i32 (stCard.hDrv, SPC_M2STATUS, &lStatus);
-
-                // check for changed status and set flags
-                if (lOldStatus != lStatus)
-                    {
-                    if (lStatus & M2STAT_CARD_PRETRIGGER)
-                        printf ("Armed ");
-
-                    if (lStatus & M2STAT_CARD_TRIGGER)
-                        printf ("1stTrigger ");
-
-                    if (lStatus & M2STAT_CARD_READY)
-                        {
-                        printf ("CardReady ");
-                        bReady = true;
-                        }
-
-                    if (lStatus & M2STAT_DATA_END)
-                        {
-                        printf ("DataTransferred ");
-                        bDataReady = true;
-                        }
-
-                    if (lStatus & M2STAT_EXTRA_END)
-                        {
-                        printf ("TimestampsTransferred ");
-                        bTimestampsReady = true;
-                        }
-                    printf ("\n");
-                    }
-
-                lOldStatus = lStatus;
-                }
-            while (!dwErr && (!bReady || !bTimestampsReady || !bDataReady));
-
-            // check for error code
-            if (spcm_dwGetErrorInfo_i32 (stCard.hDrv, NULL, NULL, szBuffer))
-                {
-                vFreeMemPageAligned (pvBuffer, qwMemInBytes);
-                return nSpcMErrorMessageStdOut (&stCard, szBuffer, false);
-                }
-
-            printf ("... acquisition ended, data has been transferred to PC memory\n");
-            }
-
-
-
-        // ------------------------------------------------------------------------
-        // we go through the segments, split the data in separate channels and show some results
-        if (!stCard.bSetError)
-            {
-
-            // some additional information on the acquisition
-            printf ("\nData information:\n=================\n");
-            printf ("Each segment is %.3f ms long\n", 1000.0 * lSegmentsize / stCard.llSetSamplerate);
-            printf ("Maximum pulse repetition frequency to reach with this setting is %.2f Hz\n", (double) stCard.llSetSamplerate / lSegmentsize);
-
-            switch (stCard.eCardFunction)
-                {
-                case AnalogIn:
-                    nShowAnalogData (&stCard, lSegmentsize, lPosttrigger, pvBuffer, bTimestampInstalled, bBaseXIOInstalled, pqwTimestamps);
-                    break;
-
-                case DigitalIn:
-                case DigitalIO:
-                    break;
-                }
-            }
-        }
-
-
-    // ------------------------------------------------------------------------
-    // print error information if an error occured
-    if (stCard.bSetError)
-        return nSpcMErrorMessageStdOut (&stCard, "An error occured while programming the card:\n", true);
-
-
-    // clean up and close the driver
-    vSpcMCloseCard (&stCard);
-    vFreeMemPageAligned (pvBuffer, qwMemInBytes);
-    if (bTimestampInstalled)
-        vFreeMemPageAligned (pqwTimestamps, qwTSBufferLen_bytes);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi_poll.dsp b/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi_poll.dsp
deleted file mode 100644
index d0fa2f9e2226b870f5809e1b72323ce70e3b1631..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi_poll.dsp
+++ /dev/null
@@ -1,132 +0,0 @@
-# Microsoft Developer Studio Project File - Name="rec_std_multi_poll" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** NICHT BEARBEITEN **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=rec_std_multi_poll - Win32 Debug
-!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
-!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_std_multi_poll.mak".
-!MESSAGE 
-!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
-!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_std_multi_poll.mak" CFG="rec_std_multi_poll - Win32 Debug"
-!MESSAGE 
-!MESSAGE Für die Konfiguration stehen zur Auswahl:
-!MESSAGE 
-!MESSAGE "rec_std_multi_poll - Win32 Release" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE "rec_std_multi_poll - Win32 Debug" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "rec_std_multi_poll - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "rec_std_multi_poll - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "rec_std_multi_poll - Win32 Release"
-# Name "rec_std_multi_poll - Win32 Debug"
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Group "header"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\rec_std_multi_poll.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi_poll.vcproj b/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi_poll.vcproj
deleted file mode 100644
index a7fbfc4475e49979e26122123c797f907fe12531..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi_poll.vcproj
+++ /dev/null
@@ -1,579 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rec_std_multi_poll"
-	ProjectGUID="{B0EBDCC4-4989-4C31-A2B6-A68D4F71721C}"
-	RootNamespace="rec_std_multi_poll"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rec_std_multi_poll.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_std_multi_poll.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_std_multi_poll.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_std_multi_poll.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_std_multi_poll.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rec_std_multi_poll.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_std_multi_poll.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_std_multi_poll.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_std_multi_poll.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_std_multi_poll.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rec_std_multi_poll.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_std_multi_poll.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_std_multi_poll.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_std_multi_poll.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_std_multi_poll.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rec_std_multi_poll.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_std_multi_poll.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_std_multi_poll.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_std_multi_poll.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_std_multi_poll.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="header"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath="rec_std_multi_poll.cpp"
-			>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi_poll.vcxproj b/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi_poll.vcxproj
deleted file mode 100644
index d76dbbcdcea8494ab5bebd396c1e95fdea62ece5..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi_poll.vcxproj
+++ /dev/null
@@ -1,266 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{B0EBDCC4-4989-4C31-A2B6-A68D4F71721C}</ProjectGuid>
-    <RootNamespace>rec_std_multi_poll</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_std_multi_poll.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_multi_poll.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_multi_poll.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_multi_poll.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_std_multi_poll.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_multi_poll.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_multi_poll.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_multi_poll.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_std_multi_poll.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_multi_poll.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_multi_poll.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_multi_poll.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_std_multi_poll.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_multi_poll.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_multi_poll.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_multi_poll.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="rec_std_multi_poll.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi_poll.vcxproj.filters b/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi_poll.vcxproj.filters
deleted file mode 100644
index e45b2a8ffc63dd34808ffc86dc079b8bf978bf78..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_multi/rec_std_multi_poll.vcxproj.filters
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="common">
-      <UniqueIdentifier>{2ec8f340-1593-405d-a07c-b34c13e94758}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="header">
-      <UniqueIdentifier>{633e71cf-011b-405e-b2be-920b0af589b8}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="rec_std_multi_poll.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_single/makefile b/Cpp/examples/c_cpp/rec_std_single/makefile
deleted file mode 100644
index fe551970d478a801441f2874dcfa1d2cf7e1f779..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single/makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-COMPILER =   g++
-EXECUTABLE = rec_std_single
-LIBS += -lspcm_linux -lrt -lpthread
-
-OBJECTS = \
-    rec_std_single.o\
-	../common/spcm_lib_card.o\
-	../common/spcm_lib_data.o\
-	../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS) 
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/rec_std_single/rec_std_single.bpf b/Cpp/examples/c_cpp/rec_std_single/rec_std_single.bpf
deleted file mode 100644
index 5da88241fe8e80944de42def849bf4eab8f1f666..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single/rec_std_single.bpf
+++ /dev/null
@@ -1,3 +0,0 @@
-This file is used by the project manager only and should be treated like the project file
-
-
main 
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_single/rec_std_single.bpr b/Cpp/examples/c_cpp/rec_std_single/rec_std_single.bpr
deleted file mode 100644
index 2fe31c6bb8c3913a356f394cc0c2a175b3dd64c4..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single/rec_std_single.bpr
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<!-- C++Builder XML Project -->
-<PROJECT>
-  <MACROS>
-    <VERSION value="BCB.06.00"/>
-    <PROJECT value="rec_std_single.exe"/>
-    <OBJFILES value="rec_std_single.obj ..\common\spcm_lib_thread.obj 
-      ..\common\spcm_lib_card.obj ..\common\spcm_lib_data.obj"/>
-    <RESFILES value=""/>
-    <DEFFILE value=""/>
-    <RESDEPEN value="$(RESFILES)"/>
-    <LIBFILES value="..\c_header\spcm_win32_bcppb.lib"/>
-    <LIBRARIES value=""/>
-    <SPARELIBS value=""/>
-    <PACKAGES value="vcl.bpi rtl.bpi vclx.bpi bcbsmp.bpi dclocx.bpi"/>
-    <PATHCPP value=".;..\common;..\common;..\common"/>
-    <PATHPAS value=".;"/>
-    <PATHRC value=".;"/>
-    <PATHASM value=".;"/>
-    <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
-    <RELEASELIBPATH value="$(BCB)\lib\release"/>
-    <LINKER value="ilink32"/>
-    <USERDEFINES value="_DEBUG"/>
-    <SYSDEFINES value="NO_STRICT;_NO_VCL;_RTLDLL;USEPACKAGES"/>
-    <MAINSOURCE value="rec_std_single.bpf"/>
-    <INCLUDEPATH value="C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rec_std_single;$(BCB)\include;$(BCB)\include\vcl"/>
-    <LIBPATH value="C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rec_std_single;$(BCB)\lib\obj;$(BCB)\lib"/>
-    <WARNINGS value="-w-par"/>
-    <OTHERFILES value=""/>
-  </MACROS>
-  <OPTIONS>
-    <CFLAG1 value="-tWC -tWM -Od -H=$(BCB)\lib\vcl60.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v 
-      -vi- -c"/>
-    <PFLAGS value="-$YD -$W -$O- -$A8 -v -JPHNE -M"/>
-    <RFLAGS value=""/>
-    <AFLAGS value="/mx /w2 /zd"/>
-    <LFLAGS value="-Tpe -ap -D&quot;&quot; -x -Gn -v"/>
-    <OTHERFILES value=""/>
-  </OPTIONS>
-  <LINKER>
-    <ALLOBJ value="c0x32.obj $(PACKAGES) $(OBJFILES)"/>
-    <ALLRES value="$(RESFILES)"/>
-    <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mti.lib"/>
-    <OTHERFILES value=""/>
-  </LINKER>
-  <FILELIST>
-      <FILE FILENAME="rec_std_single.bpf" FORMNAME="" UNITNAME="rec_std_single" CONTAINERID="BPF" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="rec_std_single.cpp" FORMNAME="" UNITNAME="rec_std_single" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_thread.cpp" FORMNAME="" UNITNAME="spcm_lib_thread.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_card.cpp" FORMNAME="" UNITNAME="spcm_lib_card.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_data.cpp" FORMNAME="" UNITNAME="spcm_lib_data.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\c_header\spcm_win32_bcppb.lib" FORMNAME="" UNITNAME="spcm_win32_bcppb.lib" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
-  </FILELIST>
-  <BUILDTOOLS>
-  </BUILDTOOLS>
-
-  <IDEOPTIONS>
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1031
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[Debugging]
-DebugSourceDirs=$(BCB)\source\vcl
-
-[Parameters]
-RunParams=
-Launcher=
-UseLauncher=0
-DebugCWD=
-HostApplication=
-RemoteHost=
-RemotePath=
-RemoteLauncher=
-RemoteCWD=
-RemoteDebug=0
-
-[Compiler]
-ShowInfoMsgs=0
-LinkDebugVcl=0
-  </IDEOPTIONS>
-</PROJECT>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_single/rec_std_single.cpp b/Cpp/examples/c_cpp/rec_std_single/rec_std_single.cpp
deleted file mode 100644
index ea9749fa0d734a11342c775996dc2e8375009c21..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single/rec_std_single.cpp
+++ /dev/null
@@ -1,458 +0,0 @@
-/*
-**************************************************************************
-
-rec_std_single.cpp                                       (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all SpcMDrv based acquisition cards.
-
-Information about the different products and their drivers can be found
-online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/platform-driver-and-series-differences
-
-Shows standard data acquisition using single mode (one shot)
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <stdlib.h>
-
-
-
-/*
-**************************************************************************
-vDoCardSetup
-**************************************************************************
-*/
-
-void vDoCardSetup (ST_SPCM_CARDINFO *pstCard)
-    {
-    int i;
-    int64 llChannelMask;
-
-    // set mask for maximal channels
-    if (pstCard->lMaxChannels >= 64)
-        llChannelMask = -1; // -1 is all bits set to 1 = 0xffffffffffffffff
-    else
-        llChannelMask = ((int64) 1 << pstCard->lMaxChannels) - 1;
-
-    // standard single, all channels, memsize=16k, posttrigge=8k -> pretrigger=8k
-    bSpcMSetupModeRecStdSingle (pstCard, llChannelMask, KILO_B(16), KILO_B(8));
-
-    // we try to set the samplerate to 10 max/4 internal PLL, no clock output
-    bSpcMSetupClockPLL (pstCard, pstCard->llMaxSamplerate / 4, false);
-    printf ("Sampling rate set to %.1lf MHz\n", (double) pstCard->llSetSamplerate / 1000000);
-
-    // we set software trigger, no trigger output
-    bSpcMSetupTrigSoftware (pstCard, false);
-
-
-    // type dependent card setup
-    switch (pstCard->eCardFunction)
-        {
-
-        // analog acquisition card setup
-        case AnalogIn:
-
-            // program all input channels to +/-1 V and 50 ohm termination (if it's available)
-            for (i=0; i < pstCard->lMaxChannels; i++)
-                if (pstCard->bM2i || pstCard->bM2p)
-                    bSpcMSetupInputChannel (pstCard, i, 1000, true);
-                else if (pstCard->bM3i || pstCard->bM4i || pstCard->bM5i)
-                    bSpcMSetupPathInputCh (pstCard, i, 0, 1000, 0, false, true, true);
-
-            // activate digital inputs if available
-            if (pstCard->bM2i)
-                {
-                if ((pstCard->lBytesPerSample > 1) && (pstCard->lFeatureMap & SPCM_FEAT_DIGITAL))
-                    spcm_dwSetParam_i32 (pstCard->hDrv, SPC_READDIGITAL, 1);
-                }
-
-            break;
-
-        // digital acquisition card setup
-        case DigitalIn:
-        case DigitalIO:
-
-            // set all input channel groups to 110 ohm termination (if it's available)
-            for (i=0; i < pstCard->uCfg.stDIO.lGroups; i++)
-                bSpcMSetupDigitalInput (pstCard, i, true);
-            break;
-        }
-    }
-
-
-
-
-/*
-**************************************************************************
-nShowAnalogData
-**************************************************************************
-*/
-
-int16 nShowAnalogData (ST_SPCM_CARDINFO *pstCard, void* pvBuffer)
-    {
-    int     i;
-    double  dAverage;
-    int16   nMin;
-    int16   nMax;
-    int16*  ppnChannelData[SPCM_MAX_AICHANNEL];
-
-    // allocate channel data
-    for (i=0; i<pstCard->lSetChannels; i++)
-        {
-        ppnChannelData[i] = new int16[(int32) pstCard->llSetMemsize];
-        if (!ppnChannelData[i])
-            return nSpcMErrorMessageStdOut (pstCard, "Memory allocation error\n", false);
-        }
-
-    // split data function
-    if (pstCard->lBytesPerSample == 1)
-        bSpcMDemuxAnalogData (pstCard, (int8*)pvBuffer, (int32) pstCard->llSetMemsize, ppnChannelData);
-    else
-        bSpcMDemuxAnalogData (pstCard, (int16*)pvBuffer, (int32) pstCard->llSetMemsize, ppnChannelData);
-
-    // calc and print some figures
-    printf ("\nSome details of the acquired data:\n");
-    for (i=0; i<pstCard->lSetChannels; i++)
-        {
-        dAverage =  dSpcMCalcAverage (ppnChannelData[i], (uint32) pstCard->llSetMemsize);
-        nMin =      TSpcMCalcMin (ppnChannelData[i], (uint32) pstCard->llSetMemsize);
-        nMax =      TSpcMCalcMax (ppnChannelData[i], (uint32) pstCard->llSetMemsize);
-        printf ("Ch %2d\n  Min: %7d (%9.2f mV)\n  Max: %7d (%9.2f mV)\n  Av:  %7.2f (%9.2f mV)\n\n", i,
-            nMin, 1000.0 * dSpcMIntToVoltage (pstCard, i, nMin),
-            nMax, 1000.0 * dSpcMIntToVoltage (pstCard, i, nMax),
-            dAverage, 1000.0 * dSpcMIntToVoltage (pstCard, i, dAverage));
-        }
-
-    for (i=0; i<pstCard->lSetChannels; i++)
-        delete [] (ppnChannelData[i]);
-
-    return 0;
-    }
-
-/*
-**************************************************************************
-nShowDigitalInputData
-**************************************************************************
-*/
-
-int16 nShowDigitalInputData (ST_SPCM_CARDINFO *pstCard, void* pvBuffer, uint32 dwNrOfSamplesToShow)
-    {
-    int32 lNrOfDigCh, lCh, lBitShift, i;
-    uint32 dwSampleIdx;
-    uint8 byDigMask, byBitVal;
-
-    uint8* ppbyChannelData[SPCM_MAX_AICHANNEL];
-
-    if (((pstCard->lCardType & TYP_SERIESMASK) == TYP_M4IEXPSERIES) || ((pstCard->lCardType & TYP_SERIESMASK) == TYP_M4XEXPSERIES))
-        {
-        lNrOfDigCh = 1;
-        }
-    else
-        {
-        lNrOfDigCh = 16 - pstCard->uCfg.stAI.lResolution;
-        }
-
-    // allocate channel data
-    for (i = 0; i < pstCard->lSetChannels; i++)
-        {
-        ppbyChannelData[i] = new uint8[(int32)pstCard->llSetMemsize];
-        if (!ppbyChannelData[i])
-            return nSpcMErrorMessageStdOut (pstCard, "Memory allocation error\n", false);
-        }
-
-    // demux digital input data
-    bSpcMDemuxDigitalInputDataToUInt8 (pstCard, pvBuffer, (int32)pstCard->llSetMemsize, ppbyChannelData);
-
-    // print digital inputs
-    printf ("\nDigital inputs:\n");
-
-    for (dwSampleIdx = 0; dwSampleIdx < dwNrOfSamplesToShow; dwSampleIdx++)
-        {
-        printf ("[D0 - D%d] : ", pstCard->lSetChannels*lNrOfDigCh - 1);
-
-        for (lCh = 0; lCh < pstCard->lSetChannels; lCh++)
-            {
-            byDigMask = ppbyChannelData[lCh][dwSampleIdx];
-            lBitShift = 0;
-
-            do
-                {
-                byBitVal  = byDigMask & 0x01;
-
-                printf ("%u", byBitVal);
-
-                byDigMask = byDigMask >> 1;
-                lBitShift++;
-                }while (lBitShift < lNrOfDigCh);
-
-            printf (" ");
-            }
-            printf ("\n");
-        }
-
-    for (i = 0; i < pstCard->lSetChannels; i++)
-        delete [] (ppbyChannelData[i]);
-
-    return 0;
-    }
-
-/*
-**************************************************************************
-nShowDigitalData
-**************************************************************************
-*/
-
-int16 nShowDigitalData (ST_SPCM_CARDINFO *pstCard, void* pvBuffer, uint32 dwNrOfSamplesToShow)
-    {
-    int32 i, lChIdx;
-    uint32 dwSampleIdx;
-    int8* ppbyChannelData[SPCM_MAX_DIOCHANNEL];
-
-    // allocate channel data
-    for (i=0; i<pstCard->lSetChannels; i++)
-        {
-        ppbyChannelData[i] = new int8[(int32) pstCard->llSetMemsize];
-        if (!ppbyChannelData[i])
-            return nSpcMErrorMessageStdOut (pstCard, "Memory allocation error\n", false);
-        }
-
-    // split data function
-    bSpcMDemuxDigitalDataToInt8 (pstCard, pvBuffer, (int32) (pstCard->llSetMemsize), ppbyChannelData);
-
-    // print samples for each channel
-    printf ("\nPrint first %u samples of all channels:\n\n", dwNrOfSamplesToShow);
-
-    for (dwSampleIdx=0; dwSampleIdx<dwNrOfSamplesToShow; dwSampleIdx++)
-        {
-            printf ("SampleNr.%u\n", dwSampleIdx);
-
-            if (pstCard->lSetChannels < 16)
-                {
-
-                // less than 16 channels
-                lChIdx = pstCard->lSetChannels-1;
-
-                while (lChIdx >= 0)
-                    {
-                    printf ("[D%d] = %d ", lChIdx, ppbyChannelData[lChIdx][dwSampleIdx]);
-                    lChIdx--;
-                    }
-
-                printf ("\n\n");
-                }
-            else
-                {
-
-                // 16 channels and more
-                lChIdx = pstCard->lSetChannels-1;
-
-                while (lChIdx > 0)
-                    {
-                    printf ("[D%d ......... D%d] ", lChIdx, lChIdx - 15);
-                    lChIdx -= 16;
-                    }
-
-                printf ("\n");
-
-                lChIdx = pstCard->lSetChannels-1;
-                while (lChIdx >= 0)
-                    {
-                    printf ("%d", ppbyChannelData[lChIdx][dwSampleIdx]);
-
-                    if (!(lChIdx%16))
-                        printf (" ");
-                    else
-                        if (!(lChIdx%4))
-                            printf (".");
-
-                    lChIdx--;
-                    }
-
-                printf ("\n\n");
-                }
-        }
-
-    for (i=0; i<pstCard->lSetChannels; i++)
-        delete [] (ppbyChannelData[i]);
-
-    return 0;
-    }
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO    stCard;             // info structure of my card
-    uint64              qwMemInBytes;
-    void*               pvBuffer;
-
-    // ------------------------------------------------------------------------
-    // init card number 0 (the first card in the system), get some information and print it
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    if (bSpcMInitCardByIdx (&stCard, 0))
-    //if (bSpcMInitCardByIdx (&stCard, "192.168.169.42", 0))
-        {
-        printf (pszSpcMPrintDocumentationLink (&stCard, szBuffer, sizeof (szBuffer)));
-        printf (pszSpcMPrintCardInfo (&stCard, szBuffer, sizeof (szBuffer)));
-        }
-    else
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Could not open card\n", true);
-
-    // check whether we support this card type in the example
-    if (stCard.eCardFunction != AnalogIn && stCard.eCardFunction != DigitalIn && stCard.eCardFunction != DigitalIO)
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Card function not supported by this example\n", false);
-
-
-
-    // ------------------------------------------------------------------------
-    // do the card setup, error is routed in the structure so we don't care for the return values
-    if (!stCard.bSetError)
-        vDoCardSetup (&stCard);
-
-
-    // ------------------------------------------------------------------------
-    // calculate the amount of data we need and allocate memory buffer
-    if (!stCard.bSetError)
-        {
-
-        switch (stCard.eCardFunction)
-            {
-            case AnalogIn:
-                qwMemInBytes = stCard.llSetMemsize * stCard.lBytesPerSample * stCard.lSetChannels;
-                break;
-
-            case DigitalIn:
-            case DigitalIO:
-                qwMemInBytes = stCard.lSetChannels / 8 * stCard.llSetMemsize;
-                break;
-            }
-
-        pvBuffer = pvAllocMemPageAligned (qwMemInBytes);
-        if (!pvBuffer)
-            return nSpcMErrorMessageStdOut (&stCard, "Memory allocation error\n", false);
-        }
-
-
-
-    // ------------------------------------------------------------------------
-    // make acquisition and get data
-    if (!stCard.bSetError)
-        {
-
-        // We'll start and wait untill the card has finished or until a timeout occurs
-        spcm_dwSetParam_i32 (stCard.hDrv, SPC_TIMEOUT, 5000);
-        printf ("\nStarting the card and waiting for ready interrupt\n");
-        if (spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER | M2CMD_CARD_WAITREADY) == ERR_TIMEOUT)
-            {
-            vFreeMemPageAligned (pvBuffer, qwMemInBytes);
-            return nSpcMErrorMessageStdOut (&stCard, "... Timeout\n", false);
-            }
-        else
-            {
-
-            // we define the buffer for transfer and start the DMA transfer
-            printf ("Starting the DMA transfer and waiting until data is in PC memory\n");
-            spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, 0, pvBuffer, 0, qwMemInBytes);
-            spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_DATA_STARTDMA | M2CMD_DATA_WAITDMA);
-
-            // check for error code
-            if (spcm_dwGetErrorInfo_i32 (stCard.hDrv, NULL, NULL, szBuffer))
-                {
-                vFreeMemPageAligned (pvBuffer, qwMemInBytes);
-                return nSpcMErrorMessageStdOut (&stCard, szBuffer, false);
-                }
-            printf ("... acquisition ended, data has been transferred to PC memory\n");
-            }
-        }
-
-
-
-    // ------------------------------------------------------------------------
-    // we split the data in separate channels and show some details
-    if (!stCard.bSetError)
-        switch (stCard.eCardFunction)
-            {
-            case AnalogIn:
-                {
-                int32 lReadDigital = 0;
-                if (stCard.bM2i)
-                    spcm_dwGetParam_i32 (stCard.hDrv, SPC_READDIGITAL, &lReadDigital);
-
-                // check if digital inputs are set
-                if (lReadDigital)
-                    {
-                    // memory allocation for analog and digital data
-                    void* pvAnalogData  = (void*) new uint8[(int) qwMemInBytes];
-                    void* pvDigitalData = (void*) new uint8[(int) (qwMemInBytes / stCard.lBytesPerSample)];
-
-                    // split data in analog and digital part
-                    bSpcMSplitAnalogAndDigitalData (&stCard, pvBuffer, (uint32)(qwMemInBytes / stCard.lBytesPerSample), pvAnalogData, pvDigitalData);
-
-                    // show digital data
-                    nShowDigitalInputData (&stCard, pvDigitalData, 10);
-
-                    // show analog data
-                    nShowAnalogData (&stCard, pvAnalogData);
-                    }
-                else
-                    nShowAnalogData (&stCard, pvBuffer);
-                break;
-                }
-
-            case DigitalIn:
-            case DigitalIO:
-
-                // show first 10 samples for each channel
-                nShowDigitalData (&stCard, pvBuffer, 10);
-                break;
-            }
-
-
-
-    // ------------------------------------------------------------------------
-    // print error information if an error occured
-    if (stCard.bSetError)
-        return nSpcMErrorMessageStdOut (&stCard, "An error occured while programming the card:\n", true);
-
-
-    // clean up and close the driver
-    vSpcMCloseCard (&stCard);
-    vFreeMemPageAligned (pvBuffer, qwMemInBytes);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/rec_std_single/rec_std_single.dsp b/Cpp/examples/c_cpp/rec_std_single/rec_std_single.dsp
deleted file mode 100644
index dd6032603cf6fa03d39d2251cc3a22f44200ed75..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single/rec_std_single.dsp
+++ /dev/null
@@ -1,134 +0,0 @@
-# Microsoft Developer Studio Project File - Name="rec_std_single" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** NICHT BEARBEITEN **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=rec_std_single - Win32 Debug
-!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
-!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_std_single.mak".
-!MESSAGE 
-!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
-!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_std_single.mak" CFG="rec_std_single - Win32 Debug"
-!MESSAGE 
-!MESSAGE Für die Konfiguration stehen zur Auswahl:
-!MESSAGE 
-!MESSAGE "rec_std_single - Win32 Release" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE "rec_std_single - Win32 Debug" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "rec_std_single - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "rec_std_single - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "rec_std_single - Win32 Release"
-# Name "rec_std_single - Win32 Debug"
-# Begin Group "header"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.h
-# End Source File
-# End Group
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\rec_std_single.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/rec_std_single/rec_std_single.dsw b/Cpp/examples/c_cpp/rec_std_single/rec_std_single.dsw
deleted file mode 100644
index 544f6e1514f7d68a6d67187f99e46246847311a6..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single/rec_std_single.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNUNG: DIESE ARBEITSBEREICHSDATEI DARF NICHT BEARBEITET ODER GELÖSCHT WERDEN!
-
-###############################################################################
-
-Project: "rec_std_single"=.\rec_std_single.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/Cpp/examples/c_cpp/rec_std_single/rec_std_single.vcproj b/Cpp/examples/c_cpp/rec_std_single/rec_std_single.vcproj
deleted file mode 100644
index d6d72af439aa5a791d115a8c388c2e88b82c26fb..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single/rec_std_single.vcproj
+++ /dev/null
@@ -1,580 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rec_std_single"
-	ProjectGUID="{AB068386-BB5C-4442-ACFF-B5D9A79C311A}"
-	RootNamespace="rec_std_single"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rec_std_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_std_single.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_std_single.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_std_single.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_std_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rec_std_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_std_single.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_std_single.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_std_single.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_std_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rec_std_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_std_single.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_std_single.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_std_single.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_std_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rec_std_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_std_single.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_std_single.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_std_single.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_std_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="header"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<File
-			RelativePath="rec_std_single.cpp"
-			>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/rec_std_single/rec_std_single.vcxproj b/Cpp/examples/c_cpp/rec_std_single/rec_std_single.vcxproj
deleted file mode 100644
index 438dc8c2426cf899875419fc5b4c2fd5261f1091..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single/rec_std_single.vcxproj
+++ /dev/null
@@ -1,266 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{AB068386-BB5C-4442-ACFF-B5D9A79C311A}</ProjectGuid>
-    <RootNamespace>rec_std_single</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="rec_std_single.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_single/rec_std_single.vcxproj.filters b/Cpp/examples/c_cpp/rec_std_single/rec_std_single.vcxproj.filters
deleted file mode 100644
index cc55ff7496957d92bf6425d41805abb0fc0f7b30..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single/rec_std_single.vcxproj.filters
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="header">
-      <UniqueIdentifier>{d33d7167-0dd5-4859-910a-5c03348787d6}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl</Extensions>
-    </Filter>
-    <Filter Include="common">
-      <UniqueIdentifier>{6e758013-efe3-4db0-8791-6be21b68f744}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="rec_std_single.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_single_sync/makefile.rec_std_sync b/Cpp/examples/c_cpp/rec_std_single_sync/makefile.rec_std_sync
deleted file mode 100644
index 15e8c6eef142820179adb68bce2306d7bfa8c94a..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single_sync/makefile.rec_std_sync
+++ /dev/null
@@ -1,23 +0,0 @@
-COMPILER =   g++
-EXECUTABLE = rec_std_sync
-LIBS += -lspcm_linux -lrt
-
-OBJECTS = \
-    rec_std_sync.o\
-	../common/spcm_lib_card.o\
-	../common/spcm_lib_data.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/rec_std_single_sync/makefile.rec_std_system_sync b/Cpp/examples/c_cpp/rec_std_single_sync/makefile.rec_std_system_sync
deleted file mode 100644
index 3f77a30a26e7f35e7bcbc101368c4b1af92d40b7..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single_sync/makefile.rec_std_system_sync
+++ /dev/null
@@ -1,23 +0,0 @@
-COMPILER =   g++
-EXECUTABLE = rec_std_system_sync
-LIBS += -lspcm_linux -lrt
-
-OBJECTS = \
-    rec_std_system_sync.o\
-	../common/spcm_lib_card.o\
-	../common/spcm_lib_data.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_sync.bpf b/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_sync.bpf
deleted file mode 100644
index 5da88241fe8e80944de42def849bf4eab8f1f666..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_sync.bpf
+++ /dev/null
@@ -1,3 +0,0 @@
-This file is used by the project manager only and should be treated like the project file
-
-
main 
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_sync.bpr b/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_sync.bpr
deleted file mode 100644
index 907cac7316e086a58db08cacf13fe2ae8646b329..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_sync.bpr
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<!-- C++Builder XML Project -->
-<PROJECT>
-  <MACROS>
-    <VERSION value="BCB.06.00"/>
-    <PROJECT value="rec_std_sync.exe"/>
-    <OBJFILES value="rec_std_sync.obj ..\common\spcm_lib_thread.obj 
-      ..\common\spcm_lib_card.obj ..\common\spcm_lib_data.obj"/>
-    <RESFILES value=""/>
-    <DEFFILE value=""/>
-    <RESDEPEN value="$(RESFILES)"/>
-    <LIBFILES value="..\c_header\spcm_win32_bcppb.lib"/>
-    <LIBRARIES value=""/>
-    <SPARELIBS value=""/>
-    <PACKAGES value="vcl.bpi rtl.bpi vclx.bpi bcbsmp.bpi dclocx.bpi"/>
-    <PATHCPP value=".;..\common;..\common;..\common"/>
-    <PATHPAS value=".;"/>
-    <PATHRC value=".;"/>
-    <PATHASM value=".;"/>
-    <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
-    <RELEASELIBPATH value="$(BCB)\lib\release"/>
-    <LINKER value="ilink32"/>
-    <USERDEFINES value="_DEBUG"/>
-    <SYSDEFINES value="NO_STRICT;_NO_VCL;_RTLDLL;USEPACKAGES"/>
-    <MAINSOURCE value="rec_std_sync.bpf"/>
-    <INCLUDEPATH value="C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rec_std_sync;$(BCB)\include;$(BCB)\include\vcl"/>
-    <LIBPATH value="C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rec_std_sync;$(BCB)\lib\obj;$(BCB)\lib"/>
-    <WARNINGS value="-w-par"/>
-    <OTHERFILES value=""/>
-  </MACROS>
-  <OPTIONS>
-    <CFLAG1 value="-tWC -tWM -Od -H=$(BCB)\lib\vcl60.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v 
-      -vi- -c"/>
-    <PFLAGS value="-$YD -$W -$O- -$A8 -v -JPHNE -M"/>
-    <RFLAGS value=""/>
-    <AFLAGS value="/mx /w2 /zd"/>
-    <LFLAGS value="-Tpe -ap -D&quot;&quot; -x -Gn -v"/>
-    <OTHERFILES value=""/>
-  </OPTIONS>
-  <LINKER>
-    <ALLOBJ value="c0x32.obj $(PACKAGES) $(OBJFILES)"/>
-    <ALLRES value="$(RESFILES)"/>
-    <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mti.lib"/>
-    <OTHERFILES value=""/>
-  </LINKER>
-  <FILELIST>
-      <FILE FILENAME="rec_std_sync.bpf" FORMNAME="" UNITNAME="rec_std_sync" CONTAINERID="BPF" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="rec_std_sync.cpp" FORMNAME="" UNITNAME="rec_std_sync" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_thread.cpp" FORMNAME="" UNITNAME="spcm_lib_thread.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_card.cpp" FORMNAME="" UNITNAME="spcm_lib_card.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_data.cpp" FORMNAME="" UNITNAME="spcm_lib_data.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\c_header\spcm_win32_bcppb.lib" FORMNAME="" UNITNAME="spcm_win32_bcppb.lib" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
-  </FILELIST>
-  <BUILDTOOLS>
-  </BUILDTOOLS>
-
-  <IDEOPTIONS>
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1031
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[Debugging]
-DebugSourceDirs=$(BCB)\source\vcl
-
-[Parameters]
-RunParams=
-Launcher=
-UseLauncher=0
-DebugCWD=
-HostApplication=
-RemoteHost=
-RemotePath=
-RemoteLauncher=
-RemoteCWD=
-RemoteDebug=0
-
-[Compiler]
-ShowInfoMsgs=0
-LinkDebugVcl=0
-  </IDEOPTIONS>
-</PROJECT>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_sync.cpp b/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_sync.cpp
deleted file mode 100644
index bd1c9ee50e5adf5dca24437814ae35f6e52f3b46..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_sync.cpp
+++ /dev/null
@@ -1,291 +0,0 @@
-/*
-**************************************************************************
-
-rec_std_sync.cpp                                         (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all SpcMDrv based acquisition cards.
-
-Information about the different products and their drivers can be found
-online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/platform-driver-and-series-differences
-
-Shows the synchronization of one or more cards with acquisition mode
-
-The Star-Hub is accessed directly as this is very simple
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <stdlib.h>
-
-
-
-/*
-**************************************************************************
-vDoCardSetup
-**************************************************************************
-*/
-
-void vDoCardSetup (ST_SPCM_CARDINFO *pstCard)
-    {
-    int i;
-
-    // standard single, all channels, memsize=16k, posttrigge=8k -> pretrigger=8k
-    bSpcMSetupModeRecStdSingle (pstCard, pstCard->lMaxChannels == 64 ? -1 : (1 << pstCard->lMaxChannels) - 1, 16 * 1024, 8 * 1024);
-
-    // we try to set the samplerate to 1 MHz (M2i) or 20 MHz (M3i and M4i) on internal PLL, no clock output
-    if (pstCard->bM2i)
-        bSpcMSetupClockPLL (pstCard, MEGA(1), false);
-    else if (pstCard->bM2p)
-        bSpcMSetupClockPLL (pstCard, MEGA(10), false);
-    else
-        bSpcMSetupClockPLL (pstCard, MEGA(20), false);
-    printf ("Sampling rate card %d set to %.1lf MHz\n", pstCard->lCardIdx, (double) pstCard->llSetSamplerate / MEGA (1));
-
-    // type dependent card setup
-    switch (pstCard->eCardFunction)
-        {
-
-        // analog acquisition card setup
-        case AnalogIn:
-
-            // program all input channels to +/-1 V and 50 ohm termination (if it's available)
-            for (i=0; i < pstCard->lMaxChannels; i++)
-                if (pstCard->bM2i || pstCard->bM2p)
-                    bSpcMSetupInputChannel (pstCard, i, 1000, true);
-                else if (pstCard->bM3i || pstCard->bM4i || pstCard->bM5i)
-                    bSpcMSetupPathInputCh (pstCard, i, 0, 1000, 0, false, true, true);
-            break;
-
-        // digital acquisition card setup
-        case DigitalIn:
-        case DigitalIO:
-            printf ("Not yet implemented\n");
-            break;
-        }
-    }
-
-
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO*   pstCard[MAXBRD];    // info structure of my card
-    int16               nCardCount, nIdx;
-    int16               nStarHubCarrierIdx = 0;
-    bool                bStarhubFound = false;
-    drv_handle          hSync;
-    bool                bOk = true;
-    int32               lSyncdCards;
-
-
-
-    // ------------------------------------------------------------------------
-    // init all cards in the system
-    for (nCardCount = 0; nCardCount < MAXBRD; nCardCount++)
-        {
-        pstCard[nCardCount] = new ST_SPCM_CARDINFO;
-
-        // uncomment the second line and replace the IP address to use remote
-        // cards like in a digitizerNETBOX
-        if (!bSpcMInitCardByIdx (pstCard[nCardCount], nCardCount))
-        //if (!bSpcMInitCardByIdx (pstCard[nCardCount], "192.168.1.10", nCardCount))
-            {
-
-            // no card found
-            if (!nCardCount)
-                return nSpcMErrorMessageStdOut (pstCard[nCardCount], "Error: Could not open card\n", true);
-
-            // clean up
-            delete pstCard[nCardCount];
-            break;
-            }
-
-        // check for star hub on the card
-        else
-            {
-            if ((pstCard[nCardCount]->lFeatureMap & SPCM_FEAT_STARHUB5) || (pstCard[nCardCount]->lFeatureMap & SPCM_FEAT_STARHUB16))
-                {
-                bStarhubFound = true;
-                nStarHubCarrierIdx = nCardCount;
-                }
-            }
-        }
-
-    printf (pszSpcMPrintDocumentationLink (pstCard[0], szBuffer, sizeof (szBuffer)));
-
-    // print info of all cards
-    for (nIdx = 0; nIdx < nCardCount; nIdx++)
-        printf ("Card %d\n%s\n\n", nIdx, pszSpcMPrintCardInfo (pstCard[nIdx], szBuffer, sizeof (szBuffer)));
-
-    //  not our example if there's no starhub
-    if (!bStarhubFound)
-        {
-        printf ("\nThere's no starhub in the system, this example can't run\n");
-        bOk = false;
-        }
-
-    // the star hub is accessed under it's own handle
-    if (bOk)
-        {
-        hSync = spcm_hOpen ("sync0");
-        if (!hSync)
-            {
-            printf ("\nCan't open starhub handle\n");
-            bOk = false;
-            }
-
-        spcm_dwGetParam_i32 (hSync, SPC_SYNC_READ_SYNCCOUNT, &lSyncdCards);
-        }
-
-
-
-    // ------------------------------------------------------------------------
-    // show cable connection info
-    if (bOk)
-        {
-        printf ("Star-Hub information:\n");
-        printf ("star-hub is connected with %d cards\n", lSyncdCards);
-        for (nIdx = 0; nIdx < lSyncdCards; nIdx++)
-            {
-            int32 lCable;
-            spcm_dwGetParam_i32 (hSync, SPC_SYNC_READ_CABLECON0 + nIdx, &lCable);
-            printf ("   Card Idx %d (sn %05d) is", nIdx, pstCard[nIdx]->lSerialNumber);
-            if (lCable != -1)
-                printf (" connected on cable %d\n", lCable);
-            else
-                printf (" not connected with the star-hub\n");
-            }
-        printf ("\n");
-        }
-
-
-
-    // ------------------------------------------------------------------------
-    // setup
-    if (bOk)
-        {
-
-        // all cards got a similar setup, trigger sources disabled as default
-        for (nIdx = 0; (nIdx < nCardCount) && bOk; nIdx++)
-            {
-            vDoCardSetup (pstCard[nIdx]);
-            bOk = bSpcMSetupTrigMask (pstCard[nIdx], 0, 0, 0, 0, 0, 0);
-            }
-
-        // 1st card is used as trigger master (un-comment the second line to have external trigger on card 0)
-        bOk =bSpcMSetupTrigSoftware (pstCard[0], false);
-        //bOk =bSpcMSetupTrigExternal (pstCard[0], SPC_TM_POS, false, 0);
-        }
-
-    // and run
-    if (bOk)
-        {
-        uint32 dwError = ERR_OK;
-
-        // sync setup, all card activated, last card is clock master
-        if (!dwError) dwError = spcm_dwSetParam_i32 (hSync, SPC_SYNC_ENABLEMASK, (1 << nCardCount) - 1);
-        if (!dwError) dwError = spcm_dwSetParam_i32 (hSync, SPC_SYNC_CLKMASK, (1 << nStarHubCarrierIdx));
-
-        // start the cards and wait for ready with a timeout of 5 seconds (5000 ms)
-        if (!dwError) dwError = spcm_dwSetParam_i32 (hSync, SPC_TIMEOUT, KILO(5));
-        if (!dwError)
-            {
-            printf ("Acquisition started for all cards\n");
-            dwError = spcm_dwSetParam_i32 (hSync, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER | M2CMD_CARD_WAITREADY);
-            if (dwError == ERR_TIMEOUT)
-                printf ("... Timeout\n");
-
-            else if (!dwError)
-                {
-                printf ("... Sucessfully finished\n");
-
-                // ----- read data from the cards -----
-                void* apvBuffer[MAXBRD] = { NULL };
-                for (nIdx = 0; (nIdx < nCardCount); nIdx++)
-                    {
-                    uint64 qwBufferLen_samples = pstCard[nIdx]->llSetMemsize * pstCard[nIdx]->lSetChannels;
-                    uint64 qwBufferLen_bytes   = qwBufferLen_samples * pstCard[nIdx]->lBytesPerSample;
-                    if (pstCard[nIdx]->lBytesPerSample == 1)
-                        apvBuffer[nIdx] = new int8[(size_t)qwBufferLen_samples];
-                    else
-                        apvBuffer[nIdx] = new int16[(size_t)qwBufferLen_samples];
-                    spcm_dwDefTransfer_i64 (pstCard[nIdx]->hDrv, SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, 0, apvBuffer[nIdx], 0, qwBufferLen_bytes);
-
-                    // start DMA transfer and wait until it is finished
-                    spcm_dwSetParam_i32 (hSync, SPC_TIMEOUT, 0);
-                    spcm_dwSetParam_i32(pstCard[nIdx]->hDrv, SPC_M2CMD, M2CMD_DATA_STARTDMA | M2CMD_DATA_WAITDMA);
-                    }
-
-                // now all data from each card is in the corresponding buffer
-                // do something with the data
-                // ...
-
-                // after we have processed the data, we delete the buffers again
-                for (nIdx = 0; (nIdx < nCardCount); nIdx++)
-                    {
-                    if (pstCard[nIdx]->lBytesPerSample == 1)
-                        delete [] static_cast < int8* > (apvBuffer[nIdx]);
-                    else
-                        delete [] static_cast < int16* > (apvBuffer[nIdx]);
-                    }
-                }
-            }
-
-        // error message if something went wrong
-        if (dwError && (dwError != ERR_TIMEOUT))
-            {
-            char szErrorMsg[ERRORTEXTLEN];
-            spcm_dwGetErrorInfo_i32 (hSync, NULL, NULL, szErrorMsg);
-            printf ("\nError:\n%s\n", szErrorMsg);
-            }
-        }
-
-
-
-
-    // ------------------------------------------------------------------------
-    // clean up and close the driver
-    if (bOk && hSync)
-        spcm_vClose (hSync);
-
-    for (nIdx = 0; nIdx < nCardCount; nIdx++)
-        {
-        vSpcMCloseCard (pstCard[nIdx]);
-        delete (pstCard[nIdx]);
-        }
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_sync.dsp b/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_sync.dsp
deleted file mode 100644
index e9518d0713fd0f73007ef623137fc737254dc010..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_sync.dsp
+++ /dev/null
@@ -1,133 +0,0 @@
-# Microsoft Developer Studio Project File - Name="rec_std_sync" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** NICHT BEARBEITEN **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=rec_std_sync - Win32 Debug
-!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
-!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_std_sync.mak".
-!MESSAGE 
-!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
-!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_std_sync.mak" CFG="rec_std_sync - Win32 Debug"
-!MESSAGE 
-!MESSAGE Für die Konfiguration stehen zur Auswahl:
-!MESSAGE 
-!MESSAGE "rec_std_sync - Win32 Release" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE "rec_std_sync - Win32 Debug" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "rec_std_sync - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "rec_std_sync - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "rec_std_sync - Win32 Release"
-# Name "rec_std_sync - Win32 Debug"
-# Begin Group "header"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.h
-# End Source File
-# End Group
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\rec_std_sync.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_sync.vcproj b/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_sync.vcproj
deleted file mode 100644
index e6c1a2e1d4ee238e78c4994e79e3826a77f7cf23..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_sync.vcproj
+++ /dev/null
@@ -1,572 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rec_std_sync"
-	ProjectGUID="{0E10C8B0-8027-455A-BE9C-40C5779FFD15}"
-	RootNamespace="rec_std_sync"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rec_std_sync.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_std_sync.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_std_sync.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_std_sync.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_std_sync.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rec_std_sync.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderThrough=""
-				PrecompiledHeaderFile=".\Release/rec_std_sync.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_std_sync.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_std_sync.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_std_sync.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rec_std_sync.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_std_sync.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_std_sync.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_std_sync.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_std_sync.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rec_std_sync.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderThrough=""
-				PrecompiledHeaderFile=".\Release/rec_std_sync.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_std_sync.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_std_sync.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_std_sync.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="header"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<File
-			RelativePath="rec_std_sync.cpp"
-			>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_sync.vcxproj b/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_sync.vcxproj
deleted file mode 100644
index 8ebabfa4b4dc2216643f537c41d75cb53523138a..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_sync.vcxproj
+++ /dev/null
@@ -1,267 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{0E10C8B0-8027-455A-BE9C-40C5779FFD15}</ProjectGuid>
-    <RootNamespace>rec_std_sync</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_std_sync.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_sync.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_sync.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_sync.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_std_sync.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeader />
-      <PrecompiledHeaderFile />
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_sync.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_sync.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_sync.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_std_sync.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_sync.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_sync.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_sync.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_std_sync.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeader />
-      <PrecompiledHeaderFile />
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_sync.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_sync.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_sync.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="rec_std_sync.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_sync.vcxproj.filters b/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_sync.vcxproj.filters
deleted file mode 100644
index a36e65c1250752312a7d666ec86147aae60db7a8..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_sync.vcxproj.filters
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="header">
-      <UniqueIdentifier>{b8935c29-17e3-4b9a-b905-939105daa4bd}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl</Extensions>
-    </Filter>
-    <Filter Include="common">
-      <UniqueIdentifier>{38b0f332-6404-42ab-b50a-ee27e0dd2603}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="rec_std_sync.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_system_sync.cpp b/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_system_sync.cpp
deleted file mode 100644
index f842afef4cea3dce663d651ddf3dd05e655f92fb..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_system_sync.cpp
+++ /dev/null
@@ -1,400 +0,0 @@
-/*
-**************************************************************************
-
-rec_std_system_sync.cpp                                  (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all M2i acquisition cards.
-
-Shows the synchronization of one or more cards on each system
-starhub with standard single acquisition mode.
-
-For simplicity this example assumes that at least one
-"system starhub master" and one "system starhub slave" are both
-installed in the same PC system, to gain easy software
-access to both devices, without the need for inter-system
-software communication.
-
-Such a setup is rather unlikely for real-world use, because
-such setup would render the usage of a system starhub over a
-standard starhub rather useless.
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <stdlib.h>
-
-
-
-/*
-**************************************************************************
-vDoCardSetup
-**************************************************************************
-*/
-
-void vDoCardSetup (ST_SPCM_CARDINFO *pstCard)
-    {
-    int i;
-
-    // standard single, all channels, memsize=16k, posttrigge=8k -> pretrigger=8k
-    bSpcMSetupModeRecStdSingle (pstCard, pstCard->lMaxChannels == 64 ? -1 : (1 << pstCard->lMaxChannels) - 1, 16 * 1024, 8 * 1024);
-
-    // we try to set the samplerate to 1 MHz (M2i) or 20 MHz (M3i and M4i) on internal PLL, no clock output
-    if (pstCard->bM2i)
-        bSpcMSetupClockPLL (pstCard, MEGA(1), false);
-    else
-        bSpcMSetupClockPLL (pstCard, MEGA(20), false);
-    printf ("Sampling rate card %d set to %.1lf MHz\n", pstCard->lCardIdx, (double) pstCard->llSetSamplerate / MEGA (1));
-
-    // type dependent card setup
-    switch (pstCard->eCardFunction)
-        {
-
-        // analog acquisition card setup
-        case AnalogIn:
-
-            // program all input channels to +/-1 V and 50 ohm termination (if it's available)
-            for (i=0; i < pstCard->lMaxChannels; i++)
-                if (pstCard->bM2i || pstCard->bM2p)
-                    bSpcMSetupInputChannel (pstCard, i, 1000, true);
-                else if (pstCard->bM3i || pstCard->bM4i || pstCard->bM5i)
-                    bSpcMSetupPathInputCh (pstCard, i, 0, 1000, 0, false, true, true);
-            break;
-
-        // digital acquisition card setup
-        case DigitalIn:
-        case DigitalIO:
-            printf ("Not yet implemented\n");
-            break;
-        }
-    }
-
-
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-#define NO_OF_STARHUBS 2
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO*   pstCard[MAXBRD];    // info structure of my card
-    int16               nCardCount;
-    int16               nStarhubCount;
-    int16               nIdx;
-    drv_handle          hSync[NO_OF_STARHUBS];
-    bool                bOk = true;
-    bool                bStarhubFound = false;
-    bool                bSystemMasterStarhubFound = false;
-    bool                bSystemSlaveStarhubFound = false;
-    int32               plSyncedCards[NO_OF_STARHUBS];
-    char                szSyncName[20];
-
-
-
-    // ------------------------------------------------------------------------
-    // init all cards in the system
-    for (nCardCount = 0; nCardCount < MAXBRD; nCardCount++)
-        {
-        pstCard[nCardCount] = new ST_SPCM_CARDINFO;
-
-        // uncomment the second line and replace the IP address to use remote
-        // cards like in a digitizerNETBOX
-        if (!bSpcMInitCardByIdx (pstCard[nCardCount], nCardCount))
-        //if (!bSpcMInitCardByIdx (pstCard[nCardCount], "192.168.1.10", nCardCount))
-            {
-            // no card found
-            if (!nCardCount)
-                return nSpcMErrorMessageStdOut (pstCard[nCardCount], "Error: Could not open card\n", true);
-
-            // clean up
-            delete pstCard[nCardCount];
-            break;
-            }
-        else
-            {
-            // check for star hub on the card
-            if ((pstCard[nCardCount]->lFeatureMap & SPCM_FEAT_STARHUBSYSMASTER) || (pstCard[nCardCount]->lFeatureMap & SPCM_FEAT_STARHUB16))
-                bStarhubFound = true;
-
-            if (pstCard[nCardCount]->lFeatureMap & SPCM_FEAT_STARHUBSYSMASTER)
-                bSystemMasterStarhubFound = true;
-
-            if (pstCard[nCardCount]->lFeatureMap & SPCM_FEAT_STARHUBSYSSLAVE)
-                bSystemSlaveStarhubFound = true;
-            }
-        }
-
-
-        printf (pszSpcMPrintDocumentationLink (pstCard[0], szBuffer, sizeof (szBuffer)));
-
-    // print info of all cards
-    for (nIdx = 0; nIdx < nCardCount; nIdx++)
-        printf ("Card %d\n%s\n\n", nIdx, pszSpcMPrintCardInfo (pstCard[nIdx], szBuffer, sizeof (szBuffer)));
-
-    //  not our example if there's no starhub
-    if (!bStarhubFound)
-        {
-        printf ("\nThere's no starhub in the system, this example can't run\n");
-        bOk = false;
-        }
-
-    //  not our example if there's no system starhub master
-    if (!bSystemMasterStarhubFound)
-        {
-        printf ("\nThere's no system starhub master in the system, this example can't run\n");
-        bOk = false;
-        }
-
-    //  not our example if there's no system starhub slave
-    if (!bSystemSlaveStarhubFound)
-        {
-        printf ("\nThere's no system starhub slave in the system, this example can't run\n");
-        bOk = false;
-        }
-
-
-    // the star hubs are accessed by their own handles
-    if (bOk)
-        {
-        for (nStarhubCount = 0; nStarhubCount < NO_OF_STARHUBS; nStarhubCount++)
-            {
-            sprintf (szSyncName, "/dev/sync%d", nStarhubCount);
-            hSync[nStarhubCount] = spcm_hOpen (szSyncName);
-            if (!hSync[nStarhubCount])
-                {
-                printf ("\nCan't open starhub handle\n");
-                bOk = false;
-                }
-            spcm_dwGetParam_i32 (hSync[nStarhubCount], SPC_SYNC_READ_SYNCCOUNT, &plSyncedCards[nStarhubCount]);
-            }
-        }
-
-
-
-    // ------------------------------------------------------------------------
-    // show cable connection info for all cards on all starhubs
-    if (bOk)
-        {
-        for (nStarhubCount = 0; nStarhubCount < NO_OF_STARHUBS; nStarhubCount++)
-            {
-            printf ("Star-Hub %d information:\n", nStarhubCount);
-            printf ("Star-hub is connected with %d cards\n", plSyncedCards[nStarhubCount]);
-            for (nIdx = 0; nIdx < plSyncedCards[nStarhubCount]; nIdx++)
-                {
-                int32 lCable;
-                spcm_dwGetParam_i32 (hSync[nStarhubCount], SPC_SYNC_READ_CABLECON0 + nIdx, &lCable);
-                printf ("   Card Idx %d (sn %05d) is", nIdx, pstCard[nIdx]->lSerialNumber);
-                if (lCable != -1)
-                    printf (" connected on cable %d\n", lCable);
-                else
-                    printf (" not connected with the star-hub\n");
-                }
-            printf ("\n\n");
-            }
-        }
-
-
-
-    // ------------------------------------------------------------------------
-    // setup
-    if (bOk)
-        {
-        // all cards on all starhubs got a similar setup, trigger sources disabled as default
-        for (nIdx = 0; (nIdx < nCardCount) && bOk; nIdx++)
-            {
-            vDoCardSetup (pstCard[nIdx]);
-            bOk = bSpcMSetupTrigMask (pstCard[nIdx], 0, 0, 0, 0, 0, 0);
-            }
-
-        // 1st card is used as trigger master (un-comment the second line to have external trigger on card 0)
-        bOk =bSpcMSetupTrigSoftware (pstCard[0], false);
-        //bOk =bSpcMSetupTrigExternal (pstCard[0], SPC_TM_POS, false, 0);
-        }
-
-    // and run the required sequence for system starhub setups
-    if (bOk)
-        {
-        uint32 dwError = ERR_OK;
-
-        // configure all starhubs
-        for (nStarhubCount = 0; nStarhubCount < NO_OF_STARHUBS; nStarhubCount++)
-            {
-            // sync setup, all cards on all starhubs activated
-            if (!dwError) dwError = spcm_dwSetParam_i32 (hSync[nStarhubCount], SPC_SYNC_ENABLEMASK, (1 << plSyncedCards[nStarhubCount]) - 1);
-
-            int32 lFeatures;
-            spcm_dwGetParam_i32 (hSync[nStarhubCount], SPC_PCIFEATURES, &lFeatures);
-
-            // last card on System-Star-Hub Master is set as clock master
-            // And on each System-Star-Hub Slave also last card is set as clock master (necessary dummy)
-            if (!dwError) dwError = spcm_dwSetParam_i32 (hSync[nStarhubCount], SPC_SYNC_CLKMASK, (1 << (plSyncedCards[nStarhubCount] - 1)));
-
-            // setup System-Star-Hubs to synchronize clock and trigger
-            if (!dwError) dwError = spcm_dwSetParam_i32 (hSync[nStarhubCount], SPC_SYNC_MODE, SPC_SYNC_SYSTEMCLOCKTRIG);
-
-            // define delay compensation (if required): set to default value of 4 here
-            if (!dwError) dwError = spcm_dwSetParam_i32 (hSync[nStarhubCount], SPC_SYNC_SYSTEM_TRIGADJUST, 4);
-
-            // configure a timeout of 5 seconds (5000 ms) for all cards, to avoid program deadlocks
-            // in case that starting either master or slave(s) does not properly work
-            if (!dwError) dwError = spcm_dwSetParam_i32 (hSync[nStarhubCount], SPC_TIMEOUT, KILO(5));
-            }
-
-
-        // transfer setup to sytsem master starhub card to have sampling clocks active before starting the slaves
-        for (nStarhubCount = 0; nStarhubCount < NO_OF_STARHUBS; nStarhubCount++)
-            {
-            int32 lFeatures;
-            spcm_dwGetParam_i32 (hSync[nStarhubCount], SPC_PCIFEATURES, &lFeatures);
-
-            if (lFeatures & SPCM_FEAT_STARHUBSYSMASTER)
-                {
-                if (!dwError) dwError = spcm_dwSetParam_i32 (hSync[nStarhubCount], SPC_M2CMD, M2CMD_CARD_WRITESETUP);
-
-                // leave loop once we found the master
-                break;
-                }
-            }
-
-
-        printf("\n... Starting all starhubs\n");
-
-
-        // start all slave starhubs first
-        for (nStarhubCount = 0; nStarhubCount < NO_OF_STARHUBS; nStarhubCount++)
-            {
-            int32 lFeatures;
-            spcm_dwGetParam_i32 (hSync[nStarhubCount], SPC_PCIFEATURES, &lFeatures);
-
-            // start all slaves first (but not the master itself)
-            if ((lFeatures & SPCM_FEAT_STARHUBSYSSLAVE) && !(lFeatures & SPCM_FEAT_STARHUBSYSMASTER))
-                {
-                if (!dwError)
-                    {
-                    printf ("Acquisition started for slave Star-Hub%d\n", nStarhubCount);
-                    dwError = spcm_dwSetParam_i32 (hSync[nStarhubCount], SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER);
-                    }
-
-                // error message if something went wrong
-                if (dwError && (dwError != ERR_TIMEOUT))
-                    {
-                    char szErrorMsg[ERRORTEXTLEN];
-                    spcm_dwGetErrorInfo_i32 (hSync[nStarhubCount], NULL, NULL, szErrorMsg);
-                    printf ("\nError:\n%s\n", szErrorMsg);
-                    }
-                }
-            }
-
-
-        // finally start master starhub
-        for (nStarhubCount = 0; nStarhubCount < NO_OF_STARHUBS; nStarhubCount++)
-            {
-            int32 lFeatures;
-            spcm_dwGetParam_i32 (hSync[nStarhubCount], SPC_PCIFEATURES, &lFeatures);
-
-            // start all master last
-            if (lFeatures & SPCM_FEAT_STARHUBSYSMASTER)
-                {
-                if (!dwError)
-                    {
-                    printf ("Acquisition started for master Star-Hub%d\n", nStarhubCount);
-                    dwError = spcm_dwSetParam_i32 (hSync[nStarhubCount], SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER | M2CMD_CARD_WAITREADY);
-                    if (dwError == ERR_TIMEOUT)
-                        printf ("... Master Timeout\n");
-                    }
-
-                // error message if something went wrong
-                if (dwError && (dwError != ERR_TIMEOUT))
-                    {
-                    char szErrorMsg[ERRORTEXTLEN];
-                    spcm_dwGetErrorInfo_i32 (hSync[nStarhubCount], NULL, NULL, szErrorMsg);
-                    printf ("\nError:\n%s\n", szErrorMsg);
-                    }
-
-                // leave loop once we started the master
-                break;
-                }
-            }
-
-        // check if all slaves are ready
-        for (nStarhubCount = 0; nStarhubCount < NO_OF_STARHUBS; nStarhubCount++)
-            {
-            int32 lFeatures;
-            int32 lStatus;
-            spcm_dwGetParam_i32 (hSync[nStarhubCount], SPC_PCIFEATURES, &lFeatures);
-
-            // read status from all slaves (but not the master itself)
-            if ((lFeatures & SPCM_FEAT_STARHUBSYSSLAVE) && !(lFeatures & SPCM_FEAT_STARHUBSYSMASTER))
-                {
-                do
-                    {
-                    dwError = spcm_dwGetParam_i32 (hSync[nStarhubCount], SPC_M2STATUS, &lStatus);
-                    }
-                while (!(lStatus & M2STAT_CARD_READY) && !dwError);
-
-                // error message if something went wrong
-                if (dwError && (dwError != ERR_TIMEOUT))
-                    {
-                    char szErrorMsg[ERRORTEXTLEN];
-                    spcm_dwGetErrorInfo_i32 (hSync[nStarhubCount], NULL, NULL, szErrorMsg);
-                    printf ("\nError:\n%s\n", szErrorMsg);
-                    }
-                }
-            }
-
-        if (!dwError)
-            {
-            //
-            // this would be the point to read data from all the cards on all starhubs
-            //
-            printf ("... Sucessfully finished\n");
-            }
-        }
-
-
-
-    // ------------------------------------------------------------------------
-    // clean up and close the driver
-    for (nStarhubCount = 0; nStarhubCount < NO_OF_STARHUBS; nStarhubCount++)
-        {
-        if (bOk && hSync[nStarhubCount])
-            spcm_vClose (hSync[nStarhubCount]);
-        }
-
-    for (nIdx = 0; nIdx < nCardCount; nIdx++)
-        {
-        vSpcMCloseCard (pstCard[nIdx]);
-        delete (pstCard[nIdx]);
-        }
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_system_sync.dsp b/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_system_sync.dsp
deleted file mode 100644
index 51a00a9107c89dfbd345f23ca500bb45fa496945..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_system_sync.dsp
+++ /dev/null
@@ -1,133 +0,0 @@
-# Microsoft Developer Studio Project File - Name="rec_std_system_sync" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** NICHT BEARBEITEN **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=rec_std_system_sync - Win32 Debug
-!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
-!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_std_system_sync.mak".
-!MESSAGE 
-!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
-!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
-!MESSAGE 
-!MESSAGE NMAKE /f "rec_std_system_sync.mak" CFG="rec_std_system_sync - Win32 Debug"
-!MESSAGE 
-!MESSAGE Für die Konfiguration stehen zur Auswahl:
-!MESSAGE 
-!MESSAGE "rec_std_system_sync - Win32 Release" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE "rec_std_system_sync - Win32 Debug" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "rec_std_system_sync - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "rec_std_system_sync - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "rec_std_system_sync - Win32 Release"
-# Name "rec_std_system_sync - Win32 Debug"
-# Begin Group "header"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.h
-# End Source File
-# End Group
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\rec_std_system_sync.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_system_sync.vcproj b/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_system_sync.vcproj
deleted file mode 100644
index c404114a9d65bf0cb58f5a4f1d82f72d7dbdab47..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_system_sync.vcproj
+++ /dev/null
@@ -1,572 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rec_std_system_sync"
-	ProjectGUID="{AA56AE55-D0C7-4F72-A32E-FE6144024027}"
-	RootNamespace="rec_std_system_sync"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rec_std_system_sync.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_std_system_sync.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_std_system_sync.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_std_system_sync.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_std_system_sync.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rec_std_system_sync.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderThrough=""
-				PrecompiledHeaderFile=".\Release/rec_std_system_sync.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_std_system_sync.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_std_system_sync.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_std_system_sync.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rec_std_system_sync.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_std_system_sync.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_std_system_sync.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_std_system_sync.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_std_system_sync.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rec_std_system_sync.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderThrough=""
-				PrecompiledHeaderFile=".\Release/rec_std_system_sync.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_std_system_sync.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_std_system_sync.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_std_system_sync.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="header"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<File
-			RelativePath="rec_std_system_sync.cpp"
-			>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_system_sync.vcxproj b/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_system_sync.vcxproj
deleted file mode 100644
index d340477a430c4b88bd5b60fc5b6411dfee57d204..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_system_sync.vcxproj
+++ /dev/null
@@ -1,267 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{AA56AE55-D0C7-4F72-A32E-FE6144024027}</ProjectGuid>
-    <RootNamespace>rec_std_system_sync</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_std_system_sync.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_system_sync.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_system_sync.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_system_sync.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_std_system_sync.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeader />
-      <PrecompiledHeaderFile />
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_system_sync.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_system_sync.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_system_sync.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_std_system_sync.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_system_sync.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_system_sync.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_system_sync.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_std_system_sync.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeader />
-      <PrecompiledHeaderFile />
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_system_sync.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_system_sync.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_system_sync.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="rec_std_system_sync.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_system_sync.vcxproj.filters b/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_system_sync.vcxproj.filters
deleted file mode 100644
index c8940c828095f7ea7d8a8431cd4fe669b6b6857f..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single_sync/rec_std_system_sync.vcxproj.filters
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="header">
-      <UniqueIdentifier>{62f68953-f119-4ca5-a3b8-44045268dd8c}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl</Extensions>
-    </Filter>
-    <Filter Include="common">
-      <UniqueIdentifier>{63fd6933-a45c-43a8-bb07-2ae8b9b3de64}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="rec_std_system_sync.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_single_sync/shdirect.cpp b/Cpp/examples/c_cpp/rec_std_single_sync/shdirect.cpp
deleted file mode 100644
index 5f68cb5eb03fd432699616fb73a0dd2bf1a8ae18..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single_sync/shdirect.cpp
+++ /dev/null
@@ -1,305 +0,0 @@
-/*
-**************************************************************************
-
-shdirect.cpp                                    (c) Spectrum GmbH, 10/2018
-
-**************************************************************************
-
-Example for all SpcMDrv based (M2i, M2i-Express and M2p) cards. The example works 
-with two cards from the same series, one of them must have a star-hub installed.
-
-Shows the synchronization of two cards using the special SH-Direct clock mode.
-In that mode one card (or one set of cards) is running in a normal synchronisation
-and another card (or several cards) just take the clock from the star-hub as an
-external clock. Besides using this clock the cards run totally independent. 
-
-This mode can for example be used to run a waveform or pattern generator 
-continuously and run a data acquisition card with the same speed but start
-it several times with different setup all while the generator card is still
-running.
-
-This example expects the star hub to be present on a generator card!
-  
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <stdlib.h>
-
-
-
-/*
-**************************************************************************
-vDoCardSetup
-**************************************************************************
-*/
-
-void vDoGeneratorCardSetup (ST_SPCM_CARDINFO *pstCard)
-    {
-    int i;
-
-    // we try to set the samplerate to 1 MHz on internal PLL with enabled clock output
-    bSpcMSetupClockPLL (pstCard, MEGA (1), true);
-
-    // type dependent card setup
-    switch (pstCard->eCardFunction)
-        {
-
-        // analog acquisition card setup
-        case AnalogOut:
-
-            // continuous mode with one channel
-            bSpcMSetupModeRepStdLoops (pstCard, CHANNEL0, KILO_B(16), 0);
-
-            // program all analog outputs to +/-1 V, no offset, no filter
-            for (i=0; i < pstCard->lMaxChannels; i++)
-                bSpcMSetupAnalogOutputChannel (pstCard, i, 1000);
-            break;
-
-        // digital output card setup
-        case DigitalOut:
-        case DigitalIO:
-
-            // continuous mode with 16 channels
-            bSpcMSetupModeRepStdLoops (pstCard, 0xffff, KILO_B(16), 0);
-            bSpcMSetupDigitalOutput (pstCard, 0);
-            break;
-        }
-
-    // software trigger for start
-    bSpcMSetupTrigSoftware (pstCard);
-    }
-
-// ***********************************************************************
-
-void vDoAcquisitionCardSetup (ST_SPCM_CARDINFO *pstCard)
-    {
-    int i;
-
-    // the card is running with the direct star-hub clock here! (same clock or diveded from master)
-    spcm_dwSetParam_i32 (pstCard->hDrv, SPC_CLOCKMODE, SPC_CM_SHDIRECT);
-    spcm_dwSetParam_i64 (pstCard->hDrv, SPC_SAMPLERATE, KILO(500));
-    spcm_dwSetParam_i32 (pstCard->hDrv, SPC_CLOCKOUT, 1);
-
-    // type dependent card setup
-    switch (pstCard->eCardFunction)
-        {
-
-        // analog acquisition card setup
-        case AnalogIn:
-
-            // single shot mode with one channel
-            bSpcMSetupModeRecStdSingle (pstCard, CHANNEL0, KILO_B(16), KILO_B(8));
-
-            // program all analog inputs to +/-1 V, 50 ohm termination
-            for (i=0; i < pstCard->lMaxChannels; i++)
-                bSpcMSetupInputChannel (pstCard, i, 1000, true);
-            break;
-
-        // digital input card setup
-        case DigitalIn:
-        case DigitalIO:
-
-            // single shot mode with 16 channels
-            bSpcMSetupModeRecStdSingle (pstCard, 0xffff, KILO_B(16), KILO_B(8));
-
-            // termination active
-            bSpcMSetupDigitalInput (pstCard, 0, true);
-            break;
-        }
-
-    // software trigger for start
-    bSpcMSetupTrigSoftware (pstCard);
-    }
-
-
-
-/*
-**************************************************************************
-main 
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO*   pstCard[MAXBRD];    // info structure of my card
-    int16               nCardCount, nIdx, nStarHubCard = 0, nAcquisitionCard = 0;
-    bool                bStarhubFound = false;
-    drv_handle          hSync = NULL;
-    bool                bOk = true;
-    int32               lSyncdCards;
-    uint32              dwError = ERR_OK;
-
-
-
-    // ------------------------------------------------------------------------
-    // init all cards in the system
-    for (nCardCount = 0; nCardCount < MAXBRD; nCardCount++)
-        {
-        pstCard[nCardCount] = new ST_SPCM_CARDINFO;
-
-        // uncomment the second line and replace the IP address to use remote
-        // cards like in a digitizerNETBOX
-        if (!bSpcMInitCardByIdx (pstCard[nCardCount], nCardCount))
-        //if (!bSpcMInitCardByIdx (pstCard[nCardCount], "192.168.1.10", nCardCount))
-            {
-
-            // no card found
-            if (!nCardCount)
-                return nSpcMErrorMessageStdOut (pstCard[nCardCount], "Error: Could not open card\n", true);
-
-            // clean up
-            delete pstCard[nCardCount];
-            break;
-            }
-
-        // check for star hub on the card and store the card index
-        else
-            if ((pstCard[nCardCount]->lFeatureMap & SPCM_FEAT_STARHUB5) || (pstCard[nCardCount]->lFeatureMap & SPCM_FEAT_STARHUB16))
-                {
-                bStarhubFound = true;
-                nStarHubCard = nCardCount;
-                }
-            else
-                nAcquisitionCard = nCardCount;
-        }
-
-    printf (pszSpcMPrintDocumentationLink (pstCard[0], szBuffer, sizeof (szBuffer)));
-
-    // print info of all cards
-    for (nIdx = 0; nIdx < nCardCount; nIdx++)
-        printf ("Card %d   %s\n%s\n\n", nIdx, (nIdx == nStarHubCard? "(SH carrier)" : ""), pszSpcMPrintCardInfo (pstCard[nIdx], szBuffer, sizeof (szBuffer)));
-
-    //  not our example if there's no starhub
-    if (!bStarhubFound)
-        {
-        printf ("\nThere's no starhub in the system, this example can't run\n");
-        bOk = false;
-        }
-
-    // the star-hub card must be a generator card for the example
-    if (bOk)
-        switch (pstCard[nStarHubCard]->eCardFunction)
-            {
-            case AnalogIn:
-            case DigitalIn:
-                printf ("\nThe example expects a generator card as the star-hub holding card\n");
-                bOk = false;
-                break;
-            }
-
-    // all other cards must be acquisition cards
-    if (bOk)
-        for (nIdx = 0; (nIdx < nCardCount) && bOk; nIdx++)
-            if (nIdx != nStarHubCard)
-                switch (pstCard[nIdx]->eCardFunction)
-                    {
-                    case AnalogOut:
-                    case DigitalOut:
-                        printf ("\nThe example expects acquisition cards for all cards that do not hold the star-hub\n");
-                        bOk = false;
-                        break;
-                    }
-
-
-    // the star hub is accessed under it's own handle
-    if (bOk)
-        {
-        hSync = spcm_hOpen ("sync0");
-        if (!hSync)
-            {
-            printf ("\nCan't open starhub handle\n");
-            bOk = false;
-            }
-
-	    spcm_dwGetParam_i32 (hSync, SPC_SYNC_READ_SYNCCOUNT, &lSyncdCards);
-        }
-
-
-
-    // ------------------------------------------------------------------------
-    // setup and run all
-    if (bOk)
-        {
-
-        // setup
-        vDoGeneratorCardSetup (pstCard[nStarHubCard]);
-        vDoAcquisitionCardSetup (pstCard[nAcquisitionCard]);
-
-        // sync setup, only the star-hub card runs synchronised with itself
-        if (!dwError) dwError = spcm_dwSetParam_i32 (hSync, SPC_SYNC_ENABLEMASK, (1 << nStarHubCard));
-        if (!dwError) dwError = spcm_dwSetParam_i32 (hSync, SPC_SYNC_CLKMASK, (1 << nStarHubCard));
-
-        // the star-hub card must be started first as it provides clock information for
-        // the other cards!
-
-        // start the generator card
-        printf ("... start generator card\n");
-        if (!dwError) dwError = spcm_dwSetParam_i32 (hSync, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER);
-
-        // read out the sampling rates and show it
-        int64 llTest;
-        spcm_dwGetParam_i64 (pstCard[nStarHubCard]->hDrv, SPC_SAMPLERATE, &llTest);
-        printf ("Sampling rate generator card:   %.2lf MS/s\n", (double) llTest / MEGA(1));
-        spcm_dwGetParam_i64 (pstCard[nAcquisitionCard]->hDrv, SPC_SAMPLERATE, &llTest);
-        printf ("Sampling rate acquisition card: %.2lf MS/s\n", (double) llTest / MEGA(1));
-        printf ("\n");
-
-        // we now start the acquisition card a couple of times, it runs with the clock
-        // taken from the star-hub. To keep the example simple we only use one acquisition
-        // card here
-        for (int i=0; (i<10) && (dwError == ERR_OK); i++)
-            {
-            printf ("... start acquisition card and wait for ready\n");
-            dwError = spcm_dwSetParam_i32 (pstCard[nAcquisitionCard]->hDrv, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER | M2CMD_CARD_WAITREADY);
-            if (dwError == ERR_OK)
-                printf ("... ready\n");
-            }
-        }
-
-    // error message if something went wrong
-    if (dwError && (dwError != ERR_TIMEOUT))
-        {
-        char szErrorMsg[ERRORTEXTLEN];
-        if (!spcm_dwGetErrorInfo_i32 (hSync, NULL, NULL, szErrorMsg))
-            spcm_dwGetErrorInfo_i32 (pstCard[nAcquisitionCard]->hDrv, NULL, NULL, szErrorMsg);
-        printf ("\nError:\n%s\n", szErrorMsg);
-        }
-
-
-    // ------------------------------------------------------------------------
-    // clean up and close the driver
-    if (hSync)
-        spcm_vClose (hSync);
-
-    for (nIdx = 0; nIdx < nCardCount; nIdx++)
-        {
-        vSpcMCloseCard (pstCard[nIdx]);
-        delete (pstCard[nIdx]);
-        }
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/rec_std_single_sync/shdirect.dsp b/Cpp/examples/c_cpp/rec_std_single_sync/shdirect.dsp
deleted file mode 100644
index 4577eabe7019c2be613e8d723c38c06db8f8ca2f..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single_sync/shdirect.dsp
+++ /dev/null
@@ -1,133 +0,0 @@
-# Microsoft Developer Studio Project File - Name="shdirect" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** NICHT BEARBEITEN **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=shdirect - Win32 Debug
-!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
-!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
-!MESSAGE 
-!MESSAGE NMAKE /f "shdirect.mak".
-!MESSAGE 
-!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
-!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
-!MESSAGE 
-!MESSAGE NMAKE /f "shdirect.mak" CFG="shdirect - Win32 Debug"
-!MESSAGE 
-!MESSAGE Für die Konfiguration stehen zur Auswahl:
-!MESSAGE 
-!MESSAGE "shdirect - Win32 Release" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE "shdirect - Win32 Debug" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "shdirect - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "shdirect - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "shdirect - Win32 Release"
-# Name "shdirect - Win32 Debug"
-# Begin Group "header"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.h
-# End Source File
-# End Group
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\shdirect.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/rec_std_single_sync/shdirect.vcproj b/Cpp/examples/c_cpp/rec_std_single_sync/shdirect.vcproj
deleted file mode 100644
index 0e0580b0740a5eea2943926ae5b003a947d6abf6..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single_sync/shdirect.vcproj
+++ /dev/null
@@ -1,572 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="shdirect"
-	ProjectGUID="{CB609605-432F-4433-A73A-4D7D1FC34B52}"
-	RootNamespace="shdirect"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/shdirect.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderThrough=""
-				PrecompiledHeaderFile=".\Release/shdirect.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/shdirect.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/shdirect.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/shdirect.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/shdirect.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/shdirect.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/shdirect.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/shdirect.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/shdirect.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/shdirect.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderThrough=""
-				PrecompiledHeaderFile=".\Release/shdirect.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/shdirect.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/shdirect.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/shdirect.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/shdirect.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/shdirect.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/shdirect.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/shdirect.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/shdirect.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="header"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<File
-			RelativePath="shdirect.cpp"
-			>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/rec_std_single_sync/shdirect.vcxproj b/Cpp/examples/c_cpp/rec_std_single_sync/shdirect.vcxproj
deleted file mode 100644
index ed3a9616d7f87035b7627716f66ac40ce0728408..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single_sync/shdirect.vcxproj
+++ /dev/null
@@ -1,267 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{CB609605-432F-4433-A73A-4D7D1FC34B52}</ProjectGuid>
-    <RootNamespace>shdirect</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/shdirect.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeader />
-      <PrecompiledHeaderFile />
-      <PrecompiledHeaderOutputFile>.\Release/shdirect.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/shdirect.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/shdirect.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/shdirect.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/shdirect.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/shdirect.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/shdirect.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/shdirect.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeader />
-      <PrecompiledHeaderFile />
-      <PrecompiledHeaderOutputFile>.\Release/shdirect.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/shdirect.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/shdirect.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/shdirect.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/shdirect.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/shdirect.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/shdirect.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="shdirect.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_single_sync/shdirect.vcxproj.filters b/Cpp/examples/c_cpp/rec_std_single_sync/shdirect.vcxproj.filters
deleted file mode 100644
index 4784a67859e4e659657774bf1d760b5976631d1e..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single_sync/shdirect.vcxproj.filters
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="header">
-      <UniqueIdentifier>{445f897b-5351-43bd-916c-329bef077411}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl</Extensions>
-    </Filter>
-    <Filter Include="common">
-      <UniqueIdentifier>{956ad952-7dd1-4013-a395-9d0ca4261a66}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="shdirect.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rec_std_single_sync/simple_sync.dsw b/Cpp/examples/c_cpp/rec_std_single_sync/simple_sync.dsw
deleted file mode 100644
index fd265fc4de300369b8b7ab856a5529005f83a16c..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single_sync/simple_sync.dsw
+++ /dev/null
@@ -1,41 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "rec_std_sync"=.\rec_std_sync.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "shdirect"=.\shdirect.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/Cpp/examples/c_cpp/rec_std_single_sync/simple_sync.sln b/Cpp/examples/c_cpp/rec_std_single_sync/simple_sync.sln
deleted file mode 100644
index 6b44181dfd554cf9a8417c121cfe4f44a2c2a4d0..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rec_std_single_sync/simple_sync.sln
+++ /dev/null
@@ -1,46 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shdirect", "shdirect.vcproj", "{CB609605-432F-4433-A73A-4D7D1FC34B52}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rec_std_sync", "rec_std_sync.vcproj", "{0E10C8B0-8027-455A-BE9C-40C5779FFD15}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rec_std_system_sync", "rec_std_system_sync.vcproj", "{AA56AE55-D0C7-4F72-A32E-FE6144024027}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Win32 = Debug|Win32
-		Debug|x64 = Debug|x64
-		Release|Win32 = Release|Win32
-		Release|x64 = Release|x64
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{CB609605-432F-4433-A73A-4D7D1FC34B52}.Debug|Win32.ActiveCfg = Debug|Win32
-		{CB609605-432F-4433-A73A-4D7D1FC34B52}.Debug|Win32.Build.0 = Debug|Win32
-		{CB609605-432F-4433-A73A-4D7D1FC34B52}.Debug|x64.ActiveCfg = Debug|x64
-		{CB609605-432F-4433-A73A-4D7D1FC34B52}.Debug|x64.Build.0 = Debug|x64
-		{CB609605-432F-4433-A73A-4D7D1FC34B52}.Release|Win32.ActiveCfg = Release|Win32
-		{CB609605-432F-4433-A73A-4D7D1FC34B52}.Release|Win32.Build.0 = Release|Win32
-		{CB609605-432F-4433-A73A-4D7D1FC34B52}.Release|x64.ActiveCfg = Release|x64
-		{CB609605-432F-4433-A73A-4D7D1FC34B52}.Release|x64.Build.0 = Release|x64
-		{0E10C8B0-8027-455A-BE9C-40C5779FFD15}.Debug|Win32.ActiveCfg = Debug|Win32
-		{0E10C8B0-8027-455A-BE9C-40C5779FFD15}.Debug|Win32.Build.0 = Debug|Win32
-		{0E10C8B0-8027-455A-BE9C-40C5779FFD15}.Debug|x64.ActiveCfg = Debug|x64
-		{0E10C8B0-8027-455A-BE9C-40C5779FFD15}.Debug|x64.Build.0 = Debug|x64
-		{0E10C8B0-8027-455A-BE9C-40C5779FFD15}.Release|Win32.ActiveCfg = Release|Win32
-		{0E10C8B0-8027-455A-BE9C-40C5779FFD15}.Release|Win32.Build.0 = Release|Win32
-		{0E10C8B0-8027-455A-BE9C-40C5779FFD15}.Release|x64.ActiveCfg = Release|x64
-		{0E10C8B0-8027-455A-BE9C-40C5779FFD15}.Release|x64.Build.0 = Release|x64
-		{AA56AE55-D0C7-4F72-A32E-FE6144024027}.Debug|Win32.ActiveCfg = Debug|Win32
-		{AA56AE55-D0C7-4F72-A32E-FE6144024027}.Debug|Win32.Build.0 = Debug|Win32
-		{AA56AE55-D0C7-4F72-A32E-FE6144024027}.Debug|x64.ActiveCfg = Debug|x64
-		{AA56AE55-D0C7-4F72-A32E-FE6144024027}.Debug|x64.Build.0 = Debug|x64
-		{AA56AE55-D0C7-4F72-A32E-FE6144024027}.Release|Win32.ActiveCfg = Release|Win32
-		{AA56AE55-D0C7-4F72-A32E-FE6144024027}.Release|Win32.Build.0 = Release|Win32
-		{AA56AE55-D0C7-4F72-A32E-FE6144024027}.Release|x64.ActiveCfg = Release|x64
-		{AA56AE55-D0C7-4F72-A32E-FE6144024027}.Release|x64.Build.0 = Release|x64
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/Cpp/examples/c_cpp/rep_fifo_multi/makefile b/Cpp/examples/c_cpp/rep_fifo_multi/makefile
deleted file mode 100644
index 67a0dfb8bca8e7171b2f70b962b1a33217fce046..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_fifo_multi/makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-COMPILER =   g++
-EXECUTABLE = rep_fifo_multi
-LIBS += -lspcm_linux -lpthread -lrt
-
-OBJECTS = \
-	rep_fifo_multi.o\
-	../common/spcm_lib_card.o\
-	../common/spcm_lib_data.o\
-	../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(OBJECTS)
-	rm -f $(EXECUTABLE)
-
diff --git a/Cpp/examples/c_cpp/rep_fifo_multi/rep_fifo_multi.cpp b/Cpp/examples/c_cpp/rep_fifo_multi/rep_fifo_multi.cpp
deleted file mode 100644
index a8c31bba794e4af7c809632bbd08d13994880978..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_fifo_multi/rep_fifo_multi.cpp
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
-**************************************************************************
-
-rep_fifo_multi.cpp                                       (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all M2i, M4i, M4x, M2p analog and digital generator cards.
-Shows FIFO multi replay mode.
-
-Feel free to use this source for own projects and modify it in any kind.
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#define _USE_MATH_DEFINES // for M_PI
-#include <math.h>
-
-
-
-// ----- include of common example libraries -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-
-
-/*
-**************************************************************************
-bDoCardSetup: setup matching the calculation routine
-**************************************************************************
-*/
-
-bool bDoCardSetup (ST_SPCM_CARDINFO *pstCard)
-    {
-    int     i;
-
-    int lFilter = 0;
-
-    // we try to set the samplerate to 1 MHz (M2i) or 50 MHz (M4i, M5i) on internal PLL, no clock output
-    if (pstCard->bM4i || pstCard->bM5i)
-        {
-        bSpcMSetupClockPLL (pstCard, MEGA(50), false);
-        lFilter = 1; // the only available filter
-        }
-    else
-        {
-        bSpcMSetupClockPLL (pstCard, MEGA(1), false);
-        lFilter = 3; // highest cut-off frequency
-        }
-    printf ("Sampling rate set to %.1lf MHz\n", (double) pstCard->llSetSamplerate / MEGA(1));
-
-    // external trigger, rising edge
-    bSpcMSetupTrigExternal (pstCard, SPC_TM_POS, false);
-
-    // type dependent card setup
-    switch (pstCard->eCardFunction)
-        {
-
-        // analog generator card setup
-        case AnalogOut:
-            {
-            // program all output channels to +/-1 V, zero offset and filter
-            for (i=0; i < pstCard->lMaxChannels; i++)
-                bSpcMSetupAnalogOutputChannel (pstCard, i, 1000, 0, lFilter);
-
-            // FIFO multi mode setup, we run continuously
-            // only one chanel is activated for analog output to keep example simple
-            bSpcMSetupModeRepFIFOMulti (pstCard, CHANNEL0, 1024);
-            break;
-            }
-
-
-        // digital generator card setup
-        case DigitalIn:
-        case DigitalIO:
-            {
-            // FIFO mode setup, we run continuously
-            if (pstCard->bM2p)
-                {
-                // 75xx cannot enable less than 16 channels
-                bSpcMSetupModeRepFIFOSingle (pstCard, 0xffff);
-                }
-            else
-                {
-                // 8 channels (1 byte) is activated
-                bSpcMSetupModeRepFIFOSingle (pstCard, 0xff);
-                }
-            break;
-            }
-        }
-
-    return pstCard->bSetError;
-    }
-
-
-
-/*
-**************************************************************************
-DoDataCalculation: calculates the output data. The calculation routine
-                   is quite simple as we either have one analog channel
-                   or 8 digital channels to calculate
-**************************************************************************
-*/
-static int64 g_llOffset =       0;
-static int64 g_llXDiv =         KILO_B(100);
-
-bool bDoDataCalculation (ST_SPCM_CARDINFO *pstCard, void* pvBuffer, int64 llBytesToCalculate)
-    {
-    int64 i;
-    int16* pnData = (int16*) pvBuffer;
-    int8*  pbyData = (int8*) pvBuffer;
-    double dSineXScale = 2.0 * M_PI / g_llXDiv;
-
-    switch (pstCard->eCardFunction)
-        {
-
-        // analog generator card setup: 1 channel slow sine signal
-        case AnalogOut:
-            {
-            if (pstCard->lBytesPerSample == 1)
-                {
-                for (i = 0; i < llBytesToCalculate; i++)
-                    pbyData[i] = (int8) (pstCard->uCfg.stAO.lMaxDACValue * sin (dSineXScale * (g_llOffset + i)));
-                }
-            else
-                {
-                for (i = 0; i < llBytesToCalculate/2; i++)
-                    pnData[i] = (int16) (pstCard->uCfg.stAO.lMaxDACValue * sin (dSineXScale * (g_llOffset + i)));
-                }
-
-            g_llOffset += (llBytesToCalculate / pstCard->lBytesPerSample);
-            break;
-            }
-
-        // digital generator card setup: simple ramp
-        case DigitalIn:
-        case DigitalIO:
-            {
-            for (i=0; i<llBytesToCalculate; i++)
-                pbyData[i] = (int8) i;
-            break;
-            }
-        }
-
-    return true;
-    }
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO    stCard;             // info structure of my card
-    void*               pvBuffer = NULL;
-    uint32              dwErr;
-    int                 nKeyCheck = 0;      // key check counter to avoid to much key polling
-
-    // setup for the FIFO mode (HW buffer size can be programmed starting with firmware V9)
-    int64        llHWBufSize =      KILO_B(64);
-    int64        llSWBufSize =      KILO_B(128);
-    int64        llNotifySize =     KILO_B(8);
-
-
-
-    // some example checks
-    if (llSWBufSize % llNotifySize)
-        {
-        printf ("In our example we can only handle sw buffers that are a whole numbered multiple of the notify size\n");
-        return 1;
-        }
-
-
-    // ------------------------------------------------------------------------
-    // init card number 0 (the first card in the system), get some information and print it
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a generatorNETBOX
-    if (bSpcMInitCardByIdx (&stCard, 0))
-    //if (bSpcMInitCardByIdx (&stCard, "192.168.1.10", 0))
-        {
-        printf (pszSpcMPrintDocumentationLink (&stCard, szBuffer, sizeof (szBuffer)));
-        printf (pszSpcMPrintCardInfo (&stCard, szBuffer, sizeof (szBuffer)));
-        }
-    else
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Could not open card\n", true);
-
-
-    // check whether we support this card type in the example
-    if ((stCard.eCardFunction != AnalogOut) && (stCard.eCardFunction != DigitalOut) && (stCard.eCardFunction != DigitalIO))
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Card function not supported by this example\n", false);
-
-
-
-
-    // ------------------------------------------------------------------------
-    // do the card setup, error is routed in the structure so we don't care for the return values
-    if (!stCard.bSetError)
-        {
-        bool bError = bDoCardSetup (&stCard);
-        if (bError)
-            {
-            printf ("Error: An error occurred in card setup.\n");
-            return 1;
-            }
-        }
-
-
-
-    // starting with firmware version V9 we can program the hardware buffer size to reduce the latency
-    if (stCard.lCtrlFwVersion >= 9)
-        {
-        spcm_dwSetParam_i64 (stCard.hDrv, SPC_DATA_OUTBUFSIZE, llHWBufSize);
-        spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_WRITESETUP);
-        }
-
-    // ------------------------------------------------------------------------
-    // allocate and setup the fifo buffer and fill it once with data
-    pvBuffer = pvAllocMemPageAligned ((uint32) llSWBufSize);
-    if (!pvBuffer)
-        return nSpcMErrorMessageStdOut (&stCard, "Memory allocation error\n", false);
-    spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_DATA, SPCM_DIR_PCTOCARD, (uint32) llNotifySize, pvBuffer, 0, llSWBufSize);
-    bDoDataCalculation (&stCard, pvBuffer, llSWBufSize);
-    spcm_dwSetParam_i64 (stCard.hDrv, SPC_DATA_AVAIL_CARD_LEN, llSWBufSize);
-
-    // now buffer is full of data and we start the transfer (output is not started yet), timeout is 5 seconds
-    spcm_dwSetParam_i32 (stCard.hDrv, SPC_TIMEOUT, 5000);
-    dwErr = spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_DATA_STARTDMA | M2CMD_DATA_WAITDMA);
-
-
-
-
-    // ------------------------------------------------------------------------
-    // this is our main output and calculation loop
-    int64 llTransferredBytes = 0;
-    int64 llAvailUser;
-    int64 llBufferFillPromille;
-    int64 llUserPos;
-    bool  bStarted = false;
-
-    while (!dwErr)
-        {
-        spcm_dwGetParam_i64 (stCard.hDrv, SPC_DATA_AVAIL_USER_LEN, &llAvailUser);
-        spcm_dwGetParam_i64 (stCard.hDrv, SPC_FILLSIZEPROMILLE, &llBufferFillPromille);
-        printf ("\rSW-Buffer: %3.0f%%   HW-Buffer:%3d%%, Total Bytes so far: %6.2f MB", (float) 100.0 * (llSWBufSize - llAvailUser) / llSWBufSize, (uint32) llBufferFillPromille / 10, (float) llTransferredBytes / MEGA_B(1));
-
-
-        // we recalculate the amount of data that is free and set this part available for card again
-        // inhere we only take pieces of notify size
-        if (llAvailUser >= llNotifySize)
-            {
-            llTransferredBytes += llNotifySize;
-            spcm_dwGetParam_i64 (stCard.hDrv, SPC_DATA_AVAIL_USER_POS, &llUserPos);
-            bDoDataCalculation (&stCard, ((int8*) pvBuffer) + llUserPos, llNotifySize);
-            dwErr = spcm_dwSetParam_i64 (stCard.hDrv, SPC_DATA_AVAIL_CARD_LEN, llNotifySize);
-            }
-
-        // we start the output as soon as we have a sufficient amount of data on card
-        // inhere we start if the hardware buffer is completely full
-        if (!bStarted && !dwErr && (llBufferFillPromille == 1000))
-            {
-            printf ("\nStart the output\n");
-            dwErr = spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER);
-            bStarted = true;
-            }
-
-        // wait for the next buffer to be free
-        if (!dwErr)
-            dwErr = spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_DATA_WAITDMA);
-
-        // check for esc=abort
-        if (!dwErr)
-            {
-            if (nKeyCheck-- == 0)
-                {
-                nKeyCheck = 64;
-                if (bKbhit())
-                    {
-                    switch (cGetch())
-                        {
-                        case 27:
-                            printf ("\nOutput stopped\n");
-                            spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_STOP);
-                            dwErr = ERR_ABORT;
-                            break;
-                        }
-                    }
-                }
-            }
-        }
-
-    // show runtime errors
-    if (dwErr && !stCard.bSetError)
-        printf ("\nEnd with Runtime Error Code:%d\n-> %s\n\n", dwErr, pszSpcMTranslateRuntimeError (dwErr, szBuffer));
-
-    // ------------------------------------------------------------------------
-    // print error information if an error occured
-    if (stCard.bSetError)
-        return nSpcMErrorMessageStdOut (&stCard, "An error occured while programming the card:\n", true);
-
-    vFreeMemPageAligned (pvBuffer, (uint32) llSWBufSize);
-
-    // clean up and close the driver
-    vSpcMCloseCard (&stCard);
-
-    return EXIT_SUCCESS;
-    }
diff --git a/Cpp/examples/c_cpp/rep_fifo_multi/rep_fifo_multi.vcproj b/Cpp/examples/c_cpp/rep_fifo_multi/rep_fifo_multi.vcproj
deleted file mode 100644
index 22a54bf2a8f247cf8164cd36a5c54882bfeca7da..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_fifo_multi/rep_fifo_multi.vcproj
+++ /dev/null
@@ -1,608 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rep_fifo_multi"
-	ProjectGUID="{EF4E7883-EA98-4D8D-82D6-1402B1EA5016}"
-	RootNamespace="rep_fifo_single"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rep_fifo_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rep_fifo_single.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rep_fifo_multi.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rep_fifo_single.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rep_fifo_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rep_fifo_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rep_fifo_single.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rep_fifo_multi.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rep_fifo_single.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rep_fifo_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rep_fifo_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rep_fifo_single.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rep_fifo_multi.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rep_fifo_single.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rep_fifo_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rep_fifo_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rep_fifo_single.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rep_fifo_multi.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rep_fifo_single.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rep_fifo_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="header"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<File
-			RelativePath=".\rep_fifo_multi.cpp"
-			>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/rep_fifo_multi/rep_fifo_multi.vcxproj b/Cpp/examples/c_cpp/rep_fifo_multi/rep_fifo_multi.vcxproj
deleted file mode 100644
index fc012ebc7edbfeb9752964005aca1eb4a293e404..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_fifo_multi/rep_fifo_multi.vcxproj
+++ /dev/null
@@ -1,265 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{EF4E7883-EA98-4D8D-82D6-1402B1EA5016}</ProjectGuid>
-    <RootNamespace>rep_fifo_single</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rep_fifo_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rep_fifo_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rep_fifo_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rep_fifo_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rep_fifo_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rep_fifo_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rep_fifo_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rep_fifo_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rep_fifo_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rep_fifo_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rep_fifo_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rep_fifo_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rep_fifo_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rep_fifo_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rep_fifo_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rep_fifo_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="rep_fifo_multi.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rep_fifo_multi/rep_fifo_multi.vcxproj.filters b/Cpp/examples/c_cpp/rep_fifo_multi/rep_fifo_multi.vcxproj.filters
deleted file mode 100644
index 7c07d56efaa5ba2543de701db7ae34c27b5621c0..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_fifo_multi/rep_fifo_multi.vcxproj.filters
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="header">
-      <UniqueIdentifier>{9f048e28-44d0-4fb8-878b-863f6d753b05}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl</Extensions>
-    </Filter>
-    <Filter Include="common">
-      <UniqueIdentifier>{c6329382-68aa-4e36-93e2-f8f3869802f4}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="rep_fifo_multi.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rep_fifo_single/makefile.single b/Cpp/examples/c_cpp/rep_fifo_single/makefile.single
deleted file mode 100644
index 0024b5f2081f16dcb938ef662e6b745096517068..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_fifo_single/makefile.single
+++ /dev/null
@@ -1,24 +0,0 @@
-COMPILER =   g++
-EXECUTABLE = rep_fifo_single
-LIBS += -lspcm_linux -lpthread -lrt
-
-OBJECTS = \
-	rep_fifo_single.o\
-	../common/spcm_lib_card.o\
-	../common/spcm_lib_data.o\
-	../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/rep_fifo_single/makefile.single_poll b/Cpp/examples/c_cpp/rep_fifo_single/makefile.single_poll
deleted file mode 100644
index 5c0e2c1436ef3243ad3751c89b061d2bad8cacae..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_fifo_single/makefile.single_poll
+++ /dev/null
@@ -1,24 +0,0 @@
-COMPILER =   g++
-EXECUTABLE = rep_fifo_single_poll
-LIBS += -lspcm_linux -lpthread -lrt
-
-OBJECTS = \
-	rep_fifo_single_poll.o\
-	../common/spcm_lib_card.o\
-	../common/spcm_lib_data.o\
-	../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.bpf b/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.bpf
deleted file mode 100644
index 5da88241fe8e80944de42def849bf4eab8f1f666..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.bpf
+++ /dev/null
@@ -1,3 +0,0 @@
-This file is used by the project manager only and should be treated like the project file
-
-
main 
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.bpr b/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.bpr
deleted file mode 100644
index d72384ff7896f66a3500c1c25d6fe901f4bae066..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.bpr
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<!-- C++Builder XML Project -->
-<PROJECT>
-  <MACROS>
-    <VERSION value="BCB.06.00"/>
-    <PROJECT value="rep_fifo_single.exe"/>
-    <OBJFILES value="rep_fifo_single.obj ..\common\spcm_lib_thread.obj 
-      ..\common\spcm_lib_card.obj ..\common\spcm_lib_data.obj"/>
-    <RESFILES value=""/>
-    <DEFFILE value=""/>
-    <RESDEPEN value="$(RESFILES)"/>
-    <LIBFILES value="..\c_header\spcm_win32_bcppb.lib"/>
-    <LIBRARIES value=""/>
-    <SPARELIBS value=""/>
-    <PACKAGES value="vcl.bpi rtl.bpi vclx.bpi bcbsmp.bpi dclocx.bpi"/>
-    <PATHCPP value=".;..\common;..\common;..\common"/>
-    <PATHPAS value=".;"/>
-    <PATHRC value=".;"/>
-    <PATHASM value=".;"/>
-    <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
-    <RELEASELIBPATH value="$(BCB)\lib\release"/>
-    <LINKER value="ilink32"/>
-    <USERDEFINES value="_DEBUG"/>
-    <SYSDEFINES value="NO_STRICT;_NO_VCL;_RTLDLL;USEPACKAGES"/>
-    <MAINSOURCE value="rep_fifo_single.bpf"/>
-    <INCLUDEPATH value="C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rep_fifo_single;$(BCB)\include;$(BCB)\include\vcl"/>
-    <LIBPATH value="C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rep_fifo_single;$(BCB)\lib\obj;$(BCB)\lib"/>
-    <WARNINGS value="-w-par"/>
-    <OTHERFILES value=""/>
-  </MACROS>
-  <OPTIONS>
-    <CFLAG1 value="-tWC -tWM -Od -H=$(BCB)\lib\vcl60.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v 
-      -vi- -c"/>
-    <PFLAGS value="-$YD -$W -$O- -$A8 -v -JPHNE -M"/>
-    <RFLAGS value=""/>
-    <AFLAGS value="/mx /w2 /zd"/>
-    <LFLAGS value="-Tpe -ap -D&quot;&quot; -x -Gn -v"/>
-    <OTHERFILES value=""/>
-  </OPTIONS>
-  <LINKER>
-    <ALLOBJ value="c0x32.obj $(PACKAGES) $(OBJFILES)"/>
-    <ALLRES value="$(RESFILES)"/>
-    <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mti.lib"/>
-    <OTHERFILES value=""/>
-  </LINKER>
-  <FILELIST>
-      <FILE FILENAME="rep_fifo_single.bpf" FORMNAME="" UNITNAME="rep_fifo_single" CONTAINERID="BPF" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="rep_fifo_single.cpp" FORMNAME="" UNITNAME="rep_fifo_single" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_thread.cpp" FORMNAME="" UNITNAME="spcm_lib_thread.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_card.cpp" FORMNAME="" UNITNAME="spcm_lib_card.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_data.cpp" FORMNAME="" UNITNAME="spcm_lib_data.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\c_header\spcm_win32_bcppb.lib" FORMNAME="" UNITNAME="spcm_win32_bcppb.lib" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
-  </FILELIST>
-  <BUILDTOOLS>
-  </BUILDTOOLS>
-
-  <IDEOPTIONS>
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1031
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[Debugging]
-DebugSourceDirs=$(BCB)\source\vcl
-
-[Parameters]
-RunParams=
-Launcher=
-UseLauncher=0
-DebugCWD=
-HostApplication=
-RemoteHost=
-RemotePath=
-RemoteLauncher=
-RemoteCWD=
-RemoteDebug=0
-
-[Compiler]
-ShowInfoMsgs=0
-LinkDebugVcl=0
-  </IDEOPTIONS>
-</PROJECT>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.cpp b/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.cpp
deleted file mode 100644
index a08b77d353f30d0e66b25613942c4483984a7d01..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.cpp
+++ /dev/null
@@ -1,328 +0,0 @@
-/*
-**************************************************************************
-
-rep_fifo_single.cpp                                       (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all M2i, M4i, M4x, M2p analog and digital generator cards.
-Shows FIFO replay mode as single shot.
-
-To test output latency the example allows to change the output signal
-frequency by pressing the space key.
-
-Feel free to use this source for own projects and modify it in any kind.
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#define _USE_MATH_DEFINES // for M_PI
-#include <math.h>
-
-
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-
-
-/*
-**************************************************************************
-bDoCardSetup: setup matching the calculation routine
-**************************************************************************
-*/
-
-bool bDoCardSetup (ST_SPCM_CARDINFO *pstCard)
-    {
-    int i;
-    int lFilter = 0;
-
-    // we try to set the samplerate to 1 MHz (M2i) or 50 MHz (M4i, M5i) on internal PLL, no clock output
-    if (pstCard->bM4i || pstCard->bM5i)
-        {
-        bSpcMSetupClockPLL (pstCard, MEGA(50), false);
-        lFilter = 1; // the only available filter
-        }
-    else
-        {
-        bSpcMSetupClockPLL (pstCard, MEGA(1), false);
-        lFilter = 3; // highest cut-off frequency
-        }
-    printf ("Sampling rate set to %.1lf MHz\n", (double) pstCard->llSetSamplerate / MEGA(1));
-
-    // we set software trigger, no trigger output
-    bSpcMSetupTrigSoftware (pstCard, false);
-
-    // type dependent card setup
-    switch (pstCard->eCardFunction)
-        {
-
-        // analog generator card setup
-        case AnalogOut:
-            {
-            // program all output channels to +/-1 V, zero offset and filter
-            for (i=0; i < pstCard->lMaxChannels; i++)
-                bSpcMSetupAnalogOutputChannel (pstCard, i, 1000, 0, lFilter);
-
-            // FIFO mode setup, we run continuously
-            // only one chanel is activated for analog output to keep example simple
-            bSpcMSetupModeRepFIFOSingle (pstCard, CHANNEL0);
-            break;
-            }
-
-        // digital generator card setup
-        case DigitalIn:
-        case DigitalIO:
-            {
-            // FIFO mode setup, we run continuously
-            if (pstCard->bM2p)
-                {
-                // 75xx cannot enable less than 16 channels
-                bSpcMSetupModeRepFIFOSingle (pstCard, 0xffff);
-                }
-            else
-                {
-                // 8 channels (1 byte) is activated
-                bSpcMSetupModeRepFIFOSingle (pstCard, 0xff);
-                }
-            break;
-            }
-        }
-
-    return pstCard->bSetError;
-    }
-
-
-
-/*
-**************************************************************************
-DoDataCalculation: calculates the output data. The calculation routine
-                   is quite simple as we either have one analog channel
-                   or 8 digital channels to calculate
-**************************************************************************
-*/
-static int64 g_llOffset =       0;
-static int64 g_llXDiv =         KILO_B(100);
-
-bool bDoDataCalculation (ST_SPCM_CARDINFO *pstCard, void* pvBuffer, int64 llBytesToCalculate)
-    {
-    int64 i;
-    int16* pnData = (int16*) pvBuffer;
-    int8*  pbyData = (int8*) pvBuffer;
-    double dSineXScale = 2.0 * M_PI / g_llXDiv;
-
-    switch (pstCard->eCardFunction)
-        {
-        // analog generator card setup: 1 channel slow sine signal
-        case AnalogOut:
-            {
-            if (pstCard->lBytesPerSample == 1)
-                {
-                for (i = 0; i < llBytesToCalculate; i++)
-                    pbyData[i] = (int8) (pstCard->uCfg.stAO.lMaxDACValue * sin (dSineXScale * (g_llOffset + i)));
-                }
-            else
-                {
-                for (i = 0; i < llBytesToCalculate/2; i++)
-                    pnData[i] = (int16) (pstCard->uCfg.stAO.lMaxDACValue * sin (dSineXScale * (g_llOffset + i)));
-                }
-
-            g_llOffset += (llBytesToCalculate / pstCard->lBytesPerSample);
-            break;
-            }
-
-
-        // digital generator card setup: simple ramp
-        case DigitalIn:
-        case DigitalIO:
-            {
-            for (i=0; i<llBytesToCalculate; i++)
-                pbyData[i] = (int8) i;
-            break;
-            }
-        }
-
-    return true;
-    }
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO    stCard;             // info structure of my card
-    void*               pvBuffer = NULL;
-    uint32              dwErr;
-    int                 nKeyCheck = 0;      // key check counter to avoid to much key polling
-
-    // setup for the FIFO mode (HW buffer size can be programmed starting with firmware V9)
-    int64        llHWBufSize =      KILO_B(64);
-    int64        llSWBufSize =      KILO_B(128);
-    int64        llNotifySize =     KILO_B(8);
-
-
-
-    // some example checks
-    if (llSWBufSize % llNotifySize)
-        {
-        printf ("In our example we can only handle sw buffers that are a whole numbered multiple of the notify size\n");
-        return 1;
-        }
-
-
-    // ------------------------------------------------------------------------
-    // init card number 0 (the first card in the system), get some information and print it
-    if (bSpcMInitCardByIdx (&stCard, 0))
-        {
-        printf (pszSpcMPrintDocumentationLink (&stCard, szBuffer, sizeof (szBuffer)));
-        printf (pszSpcMPrintCardInfo (&stCard, szBuffer, sizeof (szBuffer)));
-        }
-    else
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Could not open card\n", true);
-
-
-    // check whether we support this card type in the example
-    if ((stCard.eCardFunction != AnalogOut) && (stCard.eCardFunction != DigitalOut) && (stCard.eCardFunction != DigitalIO))
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Card function not supported by this example\n", false);
-
-
-
-
-    // ------------------------------------------------------------------------
-    // do the card setup, error is routed in the structure so we don't care for the return values
-    if (!stCard.bSetError)
-        {
-        bool bError = bDoCardSetup (&stCard);
-        if (bError)
-            {
-            printf ("Error: An error occured in card setup\n");
-            return 1;
-            }
-        }
-
-
-    // starting with firmware version V9 we can program the hardware buffer size to reduce the latency
-    if (stCard.lCtrlFwVersion >= 9)
-        {
-        spcm_dwSetParam_i64 (stCard.hDrv, SPC_DATA_OUTBUFSIZE, llHWBufSize);
-        spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_WRITESETUP);
-        }
-
-    // ------------------------------------------------------------------------
-    // allocate and setup the fifo buffer and fill it once with data
-    pvBuffer = pvAllocMemPageAligned ((uint32) llSWBufSize);
-    if (!pvBuffer)
-        return nSpcMErrorMessageStdOut (&stCard, "Memory allocation error\n", false);
-    spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_DATA, SPCM_DIR_PCTOCARD, (uint32) llNotifySize, pvBuffer, 0, llSWBufSize);
-    bDoDataCalculation (&stCard, pvBuffer, llSWBufSize);
-    spcm_dwSetParam_i64 (stCard.hDrv, SPC_DATA_AVAIL_CARD_LEN, llSWBufSize);
-
-    // now buffer is full of data and we start the transfer (output is not started yet), timeout is 1 second
-    spcm_dwSetParam_i32 (stCard.hDrv, SPC_TIMEOUT, 1000);
-    dwErr = spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_DATA_STARTDMA | M2CMD_DATA_WAITDMA);
-
-
-
-
-    // ------------------------------------------------------------------------
-    // this is our main output and calculation loop
-    int64 llTransferredBytes = 0;
-    int64 llAvailUser;
-    int64 llBufferFillPromille;
-    int64 llUserPos;
-    bool  bStarted = false;
-
-    while (!dwErr)
-        {
-        spcm_dwGetParam_i64 (stCard.hDrv, SPC_DATA_AVAIL_USER_LEN, &llAvailUser);
-        spcm_dwGetParam_i64 (stCard.hDrv, SPC_FILLSIZEPROMILLE, &llBufferFillPromille);
-        printf ("\rSW-Buffer: %3.0f%%   HW-Buffer:%3d%%, Total Bytes so far: %6.2f MB", (float) 100.0 * (llSWBufSize - llAvailUser) / llSWBufSize, (uint32) llBufferFillPromille / 10, (float) llTransferredBytes / MEGA_B(1));
-
-
-        // we recalculate the amount of data that is free and set this part available for card again
-        // inhere we only take pieces of notify size
-        if (llAvailUser >= llNotifySize)
-            {
-            llTransferredBytes += llNotifySize;
-            spcm_dwGetParam_i64 (stCard.hDrv, SPC_DATA_AVAIL_USER_POS, &llUserPos);
-            bDoDataCalculation (&stCard, ((int8*) pvBuffer) + llUserPos, llNotifySize);
-            dwErr = spcm_dwSetParam_i64 (stCard.hDrv, SPC_DATA_AVAIL_CARD_LEN, llNotifySize);
-            }
-
-        // we start the output as soon as we have a sufficient amount of data on card
-        // inhere we start if the hardware buffer is completely full
-        if (!bStarted && !dwErr && (llBufferFillPromille == 1000))
-            {
-            printf ("\nStart the output\n");
-            dwErr = spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER);
-            bStarted = true;
-            }
-
-        // wait for the next buffer to be free
-        if (!dwErr)
-            dwErr = spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_DATA_WAITDMA);
-
-
-        // check for esc=abort
-        if (!dwErr)
-            if (nKeyCheck-- == 0)
-                {
-                nKeyCheck = 64;
-                if (bKbhit())
-                    switch (cGetch())
-                        {
-                        case 27:
-                            printf ("\nOutput stopped\n");
-                            spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_STOP);
-                            dwErr = ERR_ABORT;
-                            break;
-
-                        // blank changes the signal to test the output latency
-                        case ' ':
-                            printf ("\nChange Signal\n");
-                            g_llXDiv /= 2;
-                            break;
-
-                        }
-                }
-        }
-
-    // show runtime errors
-    if (dwErr && !stCard.bSetError)
-        printf ("\nEnd with Runtime Error Code:%d\n-> %s\n\n", dwErr, pszSpcMTranslateRuntimeError (dwErr, szBuffer));
-
-    // ------------------------------------------------------------------------
-    // print error information if an error occured
-    if (stCard.bSetError)
-        return nSpcMErrorMessageStdOut (&stCard, "An error occured while programming the card:\n", true);
-
-    vFreeMemPageAligned (pvBuffer, (uint32) llSWBufSize);
-
-    // clean up and close the driver
-    vSpcMCloseCard (&stCard);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.dsp b/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.dsp
deleted file mode 100644
index 6c88e8cbaeb8902e8793f4600f42cc324e3b2fa3..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.dsp
+++ /dev/null
@@ -1,142 +0,0 @@
-# Microsoft Developer Studio Project File - Name="rep_fifo_single" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** NICHT BEARBEITEN **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=rep_fifo_single - Win32 Debug
-!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
-!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
-!MESSAGE 
-!MESSAGE NMAKE /f "rep_fifo_single.mak".
-!MESSAGE 
-!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
-!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
-!MESSAGE 
-!MESSAGE NMAKE /f "rep_fifo_single.mak" CFG="rep_fifo_single - Win32 Debug"
-!MESSAGE 
-!MESSAGE Für die Konfiguration stehen zur Auswahl:
-!MESSAGE 
-!MESSAGE "rep_fifo_single - Win32 Release" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE "rep_fifo_single - Win32 Debug" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "rep_fifo_single - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "rep_fifo_single - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "rep_fifo_single - Win32 Release"
-# Name "rep_fifo_single - Win32 Debug"
-# Begin Group "header"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools.h
-# End Source File
-# End Group
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools_win.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\rep_fifo_single.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.dsw b/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.dsw
deleted file mode 100644
index de48218b5e79460ebcaa65cc50f49ff0d6af0f91..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.dsw
+++ /dev/null
@@ -1,41 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "rep_fifo_single"=.\rep_fifo_single.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "rep_fifo_single_poll"=.\rep_fifo_single_poll.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.vcproj b/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.vcproj
deleted file mode 100644
index 11a677774c3d4f8d84d5a5b785030795cc62a957..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.vcproj
+++ /dev/null
@@ -1,608 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rep_fifo_single"
-	ProjectGUID="{EF4E7883-EA98-4D8D-82D6-1402B1EA5016}"
-	RootNamespace="rep_fifo_single"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rep_fifo_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rep_fifo_single.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rep_fifo_single.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rep_fifo_single.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rep_fifo_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rep_fifo_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rep_fifo_single.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rep_fifo_single.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rep_fifo_single.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rep_fifo_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rep_fifo_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rep_fifo_single.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rep_fifo_single.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rep_fifo_single.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rep_fifo_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rep_fifo_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rep_fifo_single.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rep_fifo_single.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rep_fifo_single.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rep_fifo_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="header"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<File
-			RelativePath="rep_fifo_single.cpp"
-			>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.vcxproj b/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.vcxproj
deleted file mode 100644
index b7c9e7db9f238f2b5bec6b3bf32b46f2eebca8cd..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.vcxproj
+++ /dev/null
@@ -1,265 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{EF4E7883-EA98-4D8D-82D6-1402B1EA5016}</ProjectGuid>
-    <RootNamespace>rep_fifo_single</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rep_fifo_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rep_fifo_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rep_fifo_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rep_fifo_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rep_fifo_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rep_fifo_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rep_fifo_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rep_fifo_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rep_fifo_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rep_fifo_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rep_fifo_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rep_fifo_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rep_fifo_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rep_fifo_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rep_fifo_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rep_fifo_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="rep_fifo_single.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.vcxproj.filters b/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.vcxproj.filters
deleted file mode 100644
index 0c4f72312bd6092a185600220bf4fcb883521daa..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single.vcxproj.filters
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="header">
-      <UniqueIdentifier>{8e86f348-86c2-4e9b-946f-df04cf9f596a}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl</Extensions>
-    </Filter>
-    <Filter Include="common">
-      <UniqueIdentifier>{504bd461-d62b-41fb-9649-bff7628b9929}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="rep_fifo_single.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single_poll.cpp b/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single_poll.cpp
deleted file mode 100644
index 67053a025181272cf9721050d9c3e0c4fd63d3e0..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single_poll.cpp
+++ /dev/null
@@ -1,305 +0,0 @@
-/*
-**************************************************************************
-
-rep_fifo_single_poll.cpp                                  (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all M2i, M4i, M4x, M2p analog and digital generator cards.
-Shows FIFO replay mode as single shot.
-
-This example doesn't use interrupt mode but shows status polling. Be
-aware that this of course uses complete CPU time just for polling data.
-
-Feel free to use this source for own projects and modify it in any kind.
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#define _USE_MATH_DEFINES // for M_PI
-#include <math.h>
-
-
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-#include "../sb5_file/sb5_file.h"
-
-
-
-/*
-**************************************************************************
-bDoCardSetup: setup matching the calculation routine
-**************************************************************************
-*/
-
-bool bDoCardSetup (ST_SPCM_CARDINFO *pstCard)
-    {
-    int     i;
-    int lFilter = 0;
-
-    // we try to set the samplerate to 1 MHz (M2i) or 50 MHz (M4i, M5i) on internal PLL, no clock output
-    if (pstCard->bM4i || pstCard->bM5i)
-        {
-        bSpcMSetupClockPLL (pstCard, MEGA(50), false);
-        lFilter = 1; // the only available filter
-        }
-    else
-        {
-        bSpcMSetupClockPLL (pstCard, MEGA(1), false);
-        lFilter = 3; // highest cut-off frequency
-        }
-    printf ("Sampling rate set to %.1lf MHz\n", (double) pstCard->llSetSamplerate / MEGA(1));
-
-    // we set software trigger, no trigger output
-    bSpcMSetupTrigSoftware (pstCard, false);
-
-    // type dependent card setup
-    switch (pstCard->eCardFunction)
-        {
-
-        // analog generator card setup
-        case AnalogOut:
-
-            // program all output channels to +/-1 V, zero offset and filter
-            for (i=0; i < pstCard->lMaxChannels; i++)
-                bSpcMSetupAnalogOutputChannel (pstCard, i, 1000, 0, lFilter);
-
-            // FIFO mode setup, we run continuously
-            // only one chanel is activated for analog output to keep example simple
-            bSpcMSetupModeRepFIFOSingle (pstCard, CHANNEL0);
-            break;
-
-
-
-        // digital generator card setup
-        case DigitalIn:
-        case DigitalIO:
-
-            // FIFO mode setup, we run continuously
-            // 8 channels (1 byte) is activated
-            bSpcMSetupModeRepFIFOSingle (pstCard, 0xff);
-            break;
-        }
-
-    return pstCard->bSetError;
-    }
-
-
-
-/*
-**************************************************************************
-DoDataCalculation: calculates the output data. The calculation routine
-                   is quite simple as we either have one analog channel
-                   or 8 digital channels to calculate
-**************************************************************************
-*/
-static int64 g_llOffset = 0;
-
-bool bDoDataCalculation (ST_SPCM_CARDINFO *pstCard, void* pvBuffer, int64 llBytesToCalculate)
-    {
-    int64 i;
-    int16* pnData = (int16*) pvBuffer;
-    int8*  pbyData = (int8*) pvBuffer;
-    double dSineXScale = 2.0 * M_PI / 123456;
-
-    switch (pstCard->eCardFunction)
-        {
-
-        // analog generator card setup: 1 channel slow sine signal
-        case AnalogOut:
-            {
-            if (pstCard->lBytesPerSample == 1)
-                {
-                for (i = 0; i < llBytesToCalculate; i++)
-                    pbyData[i] = (int8) (pstCard->uCfg.stAO.lMaxDACValue * sin (dSineXScale * (g_llOffset + i)));
-                }
-            else
-                {
-                for (i = 0; i < llBytesToCalculate/2; i++)
-                    pnData[i] = (int16) (pstCard->uCfg.stAO.lMaxDACValue * sin (dSineXScale * (g_llOffset + i)));
-                }
-
-            g_llOffset += (llBytesToCalculate / pstCard->lBytesPerSample);
-            break;
-            }
-
-
-        // digital generator card setup: simple ramp
-        case DigitalIn:
-        case DigitalIO:
-            {
-            for (i=0; i<llBytesToCalculate; i++)
-                pbyData[i] = (int8) i;
-            break;
-            }
-        }
-
-    return true;
-    }
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO    stCard;             // info structure of my card
-    void*               pvBuffer = NULL;
-    uint32              dwErr;
-
-    // setup for the FIFO mode (HW buffer size can be programmed starting with firmware V9)
-    int64        llHWBufSize =      KILO_B(256);
-    int64        llSWBufSize =      KILO_B(512);
-    int64        llNotifySize =     KILO_B(64);
-
-
-
-    // some example checks
-    if (llSWBufSize % llNotifySize)
-        {
-        printf ("In our example we can only handle sw buffers that are a whole numbered multiple of the notify size\n");
-        return 1;
-        }
-
-
-    // ------------------------------------------------------------------------
-    // init card number 0 (the first card in the system), get some information and print it
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a generatorNETBOX
-    if (bSpcMInitCardByIdx (&stCard, 0))
-    //if (bSpcMInitCardByIdx (&stCard, "192.168.1.10", 0))
-        {
-        printf (pszSpcMPrintDocumentationLink (&stCard, szBuffer, sizeof (szBuffer)));
-        printf (pszSpcMPrintCardInfo (&stCard, szBuffer, sizeof (szBuffer)));
-        }
-    else
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Could not open card\n", true);
-
-
-    // check whether we support this card type in the example
-    if ((stCard.eCardFunction != AnalogOut) && (stCard.eCardFunction != DigitalOut) && (stCard.eCardFunction != DigitalIO))
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Card function not supported by this example\n", false);
-
-
-
-
-    // ------------------------------------------------------------------------
-    // do the card setup, error is routed in the structure so we don't care for the return values
-    if (!stCard.bSetError)
-        bDoCardSetup (&stCard);
-
-
-    // starting with firmware version V9 we can program the hardware buffer size to reduce the latency
-    if (stCard.lCtrlFwVersion >= 9)
-        {
-        spcm_dwSetParam_i64 (stCard.hDrv, SPC_DATA_OUTBUFSIZE, llHWBufSize);
-        spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_WRITESETUP);
-        }
-
-    // ------------------------------------------------------------------------
-    // allocate and setup the fifo buffer and fill it once with data
-    pvBuffer = pvAllocMemPageAligned ((uint32) llSWBufSize);
-    if (!pvBuffer)
-        return nSpcMErrorMessageStdOut (&stCard, "Memory allocation error\n", false);
-    spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_DATA, SPCM_DIR_PCTOCARD, (uint32) llNotifySize, pvBuffer, 0, llSWBufSize);
-    bDoDataCalculation (&stCard, pvBuffer, llSWBufSize);
-    spcm_dwSetParam_i64 (stCard.hDrv, SPC_DATA_AVAIL_CARD_LEN, llSWBufSize);
-
-    // now buffer is full of data and we start the transfer (output is not started yet), timeout is 1 second
-    spcm_dwSetParam_i32 (stCard.hDrv, SPC_TIMEOUT, 1000);
-    dwErr = spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_DATA_STARTDMA);
-
-
-
-
-    // ------------------------------------------------------------------------
-    // this is our main output and calculation loop
-    int64 llTransferredBytes = 0;
-    int64 llAvailUser;
-    int64 llBufferFillPromille;
-    int64 llUserPos;
-    bool  bStarted = false;
-    int32 lStatus;
-
-    while (!dwErr)
-        {
-
-        // check status and fill size of buffers
-        spcm_dwGetParam_i32 (stCard.hDrv, SPC_M2STATUS, &lStatus);
-        spcm_dwGetParam_i64 (stCard.hDrv, SPC_DATA_AVAIL_USER_LEN, &llAvailUser);
-        spcm_dwGetParam_i64 (stCard.hDrv, SPC_FILLSIZEPROMILLE, &llBufferFillPromille);
-
-
-
-        // if there's a new block ready we fill it with new data
-        if ((lStatus & M2STAT_DATA_BLOCKREADY) && (llAvailUser >= llNotifySize))
-            {
-            printf ("\rSW-Buffer: %3.0f%%   HW-Buffer:%3d%%, Total Bytes so far: %6.2f MB", (float) 100.0 * (llSWBufSize - llAvailUser) / llSWBufSize, (uint32) llBufferFillPromille / 10, (float) llTransferredBytes / MEGA_B(1));
-
-
-            // we recalculate the amount of data that is free and set this part available for card again
-            // inhere we only take pieces of notify size
-            llTransferredBytes += llNotifySize;
-            spcm_dwGetParam_i64 (stCard.hDrv, SPC_DATA_AVAIL_USER_POS, &llUserPos);
-            bDoDataCalculation (&stCard, ((int8*) pvBuffer) + llUserPos, llNotifySize);
-            dwErr = spcm_dwSetParam_i64 (stCard.hDrv, SPC_DATA_AVAIL_CARD_LEN, llNotifySize);
-            }
-
-
-
-        // we start the output as soon as we have a sufficient amount of data on card
-        // inhere we start if the hardware buffer is completely full
-        if (!bStarted && !dwErr && (llBufferFillPromille == 1000))
-            {
-            printf ("\nStart the output\n");
-            dwErr = spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER);
-            bStarted = true;
-            }
-
-
-        // check for esc=abort
-        if (!dwErr)
-            if (bKbhit())
-                if (cGetch() == 27)
-                    {
-                    spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_STOP);
-                    dwErr = ERR_ABORT;
-                    }
-        }
-
-
-
-    // ------------------------------------------------------------------------
-    // print error information if an error occured
-    if (stCard.bSetError)
-        return nSpcMErrorMessageStdOut (&stCard, "An error occured while programming the card:\n", true);
-
-    vFreeMemPageAligned (pvBuffer, (uint32) llSWBufSize);
-
-    // clean up and close the driver
-    vSpcMCloseCard (&stCard);
-
-    return EXIT_SUCCESS;
-    }
diff --git a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single_poll.dsp b/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single_poll.dsp
deleted file mode 100644
index 1709490d3618ce526afdd42734bf4a6becf2e623..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single_poll.dsp
+++ /dev/null
@@ -1,150 +0,0 @@
-# Microsoft Developer Studio Project File - Name="rep_fifo_single_poll" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=rep_fifo_single_poll - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "rep_fifo_single_poll.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "rep_fifo_single_poll.mak" CFG="rep_fifo_single_poll - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "rep_fifo_single_poll - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "rep_fifo_single_poll - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "rep_fifo_single_poll - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "rep_fifo_single_poll - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "rep_fifo_single_poll - Win32 Release"
-# Name "rep_fifo_single_poll - Win32 Debug"
-# Begin Group "header"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\sb5_file\sb5_file.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_oswrap.h
-# End Source File
-# End Group
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools_win.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\rep_fifo_single_poll.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single_poll.vcproj b/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single_poll.vcproj
deleted file mode 100644
index 0cac5af3eb8efd3aa6e548de33cef172190f80c0..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single_poll.vcproj
+++ /dev/null
@@ -1,616 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rep_fifo_single_poll"
-	ProjectGUID="{BBA8AD7C-A6A0-4384-AA4E-75D02333B9A7}"
-	RootNamespace="rep_fifo_single_poll"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rep_fifo_single_poll.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rep_fifo_single_poll.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rep_fifo_single_poll.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rep_fifo_single_poll.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rep_fifo_single_poll.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rep_fifo_single_poll.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rep_fifo_single_poll.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rep_fifo_single_poll.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rep_fifo_single_poll.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rep_fifo_single_poll.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rep_fifo_single_poll.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rep_fifo_single_poll.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rep_fifo_single_poll.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rep_fifo_single_poll.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rep_fifo_single_poll.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rep_fifo_single_poll.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rep_fifo_single_poll.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rep_fifo_single_poll.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rep_fifo_single_poll.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rep_fifo_single_poll.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="header"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\sb5_file\sb5_file.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<File
-			RelativePath="rep_fifo_single_poll.cpp"
-			>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single_poll.vcxproj b/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single_poll.vcxproj
deleted file mode 100644
index 7775ed5cb1274b0ae5e08e346d941b3145e8fb61..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single_poll.vcxproj
+++ /dev/null
@@ -1,267 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{BBA8AD7C-A6A0-4384-AA4E-75D02333B9A7}</ProjectGuid>
-    <RootNamespace>rep_fifo_single_poll</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rep_fifo_single_poll.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rep_fifo_single_poll.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rep_fifo_single_poll.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rep_fifo_single_poll.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rep_fifo_single_poll.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rep_fifo_single_poll.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rep_fifo_single_poll.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rep_fifo_single_poll.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rep_fifo_single_poll.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rep_fifo_single_poll.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rep_fifo_single_poll.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rep_fifo_single_poll.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rep_fifo_single_poll.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rep_fifo_single_poll.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rep_fifo_single_poll.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rep_fifo_single_poll.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-    <ClInclude Include="..\sb5_file\sb5_file.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="rep_fifo_single_poll.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single_poll.vcxproj.filters b/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single_poll.vcxproj.filters
deleted file mode 100644
index 7c8a90ebdac53f574f656984eff15f635bbecd8b..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_fifo_single/rep_fifo_single_poll.vcxproj.filters
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="header">
-      <UniqueIdentifier>{5149afc6-6602-4eeb-9a38-78180bd15af5}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl</Extensions>
-    </Filter>
-    <Filter Include="common">
-      <UniqueIdentifier>{4b8e10b1-9a7d-46e9-8f7e-fbd94758994c}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\sb5_file\sb5_file.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="rep_fifo_single_poll.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rep_sequence/makefile b/Cpp/examples/c_cpp/rep_sequence/makefile
deleted file mode 100644
index 3f168f9455db21c1ca13ad00e7692d3378380545..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_sequence/makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-COMPILER =   g++
-EXECUTABLE = rep_sequence
-LIBS += -lspcm_linux -lpthread -lrt
-CFLAGS += -DSPCM_NAMESPACE=spcmdrv
-
-OBJECTS = \
-    rep_sequence.o\
-    ../common/ostools/spcm_ostools_linux.o\
-	../common/spcm_lib_card.o\
-	../common/spcm_lib_data.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS) 
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/rep_sequence/rep_sequence.cpp b/Cpp/examples/c_cpp/rep_sequence/rep_sequence.cpp
deleted file mode 100644
index 6f03b320eb643d079ffb9b86480ee0f1a99ee7d2..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_sequence/rep_sequence.cpp
+++ /dev/null
@@ -1,575 +0,0 @@
-/*
-**************************************************************************
-
-rep_sequence.cpp                                         (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all M2i, M4i, M4x, M2p analog and digital generator cards.
-Shows sequence replay mode as simple sequence and with sequence
-change at runtime or through external trigger.
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-
-// ----- operating system dependent functions for thread, event, keyboard and mutex handling -----
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <stdlib.h>
-
-#define _USE_MATH_DEFINES // for M_PI
-#include <math.h>
-
-
-
-#define USING_EXTERNAL_TRIGGER  0   // wait for keystroke to switch to next sequence group
-//#define USING_EXTERNAL_TRIGGER  1   // use external trigger to switch to next sequence group
-
-
-
-/*
-**************************************************************************
-vDoCardSetup
-**************************************************************************
-*/
-
-void vDoCardSetup (ST_SPCM_CARDINFO *pstCard)
-    {
-    int i;
-    int64 llChannelMask;
-
-
-    // for easy sample data handling set mask for one channel (8 ... 16 bit per sample)
-    if ((pstCard->eCardFunction == DigitalOut)
-     || (pstCard->eCardFunction == DigitalIO))
-        {
-        llChannelMask = 0xff;
-
-        // At M2p.75xx is the minimum value 16.
-        if ((pstCard->lCardType & 0x7500) == 0x7500)
-            llChannelMask = 0xffff;
-        }
-    else
-        {
-        llChannelMask = CHANNEL0;
-        //llChannelMask = CHANNEL0 | CHANNEL1; // uncomment to use two channels
-        }
-
-
-    // we try to set the samplerate to a quarter of maximum on internal PLL, no clock output
-    bSpcMSetupClockPLL (pstCard, pstCard->llMaxSamplerate / 4, false);
-    printf ("Sampling rate set to %.1lf MHz\n", (double) pstCard->llSetSamplerate / 1000000);
-
-
-    // setup replay sequence mode with 32 segments
-    bSpcMSetupModeRepSequence (pstCard, llChannelMask, 32);
-
-    if (!USING_EXTERNAL_TRIGGER)
-        // software trigger
-        bSpcMSetupTrigSoftware (pstCard, false);
-    else
-        // external TTL trigger (with termination off) if the "SPCSEQ_ENDLOOPONTRIG" flag is used
-        // The start of the first step need then a trigger too or a "M2CMD_CARD_FORCETRIGGER" command.
-        bSpcMSetupTrigExternal (pstCard, SPC_TM_POS, false);
-
-
-    // type dependent card setup
-    switch (pstCard->eCardFunction)
-        {
-
-        // analog generator card setup
-        case AnalogOut:
-
-            // program all output channels to +/- 1 V with no offset and hold last sample at end of output
-            for (i=0; i < pstCard->lMaxChannels; i++)
-                bSpcMSetupAnalogOutputChannel (pstCard, i, 1000, 0, 0, SPCM_STOPLVL_HOLDLAST);
-            break;
-
-        // digital generator card setup
-        case DigitalOut:
-        case DigitalIO:
-            for (i=0; i < pstCard->uCfg.stDIO.lGroups; i++)
-                bSpcMSetupDigitalOutput (pstCard, i, SPCM_STOPLVL_LOW, 0, 3300);
-            break;
-        }
-    }
-
-
-
-/*
-**************************************************************************
-vWriteSegmentData
-**************************************************************************
-*/
-
-void vWriteSegmentData (ST_SPCM_CARDINFO *pstCard, uint32 dwSegmentIndex, uint32 dwSegmentLenSample, void* pvSegData)
-    {
-    uint32 dwError =         0;
-    uint32 dwBytePerSample = pstCard->lBytesPerSample;
-    uint32 dwSetChannels =   pstCard->lSetChannels;
-
-    // lBytesPerSample is at digital cards not correct.
-    if ((pstCard->eCardFunction == DigitalOut)
-     || (pstCard->eCardFunction == DigitalIO))
-        {
-        // convert sum of bit-channels to byte.
-        dwBytePerSample = pstCard->lSetChannels / 8;
-
-        // Only using one channel at digital cards.
-        dwSetChannels =   1;
-        }
-
-    uint32 dwSegLenByte = dwSegmentLenSample * dwBytePerSample * dwSetChannels;
-
-
-    // for 8 bit sample rearange order in buffer from 16 bit to 8 bit
-    if (dwBytePerSample == 1)
-        {
-        int8*  pcData = (int8*)  pvSegData;
-        int16* pnData = (int16*) pvSegData;
-
-        for (uint32 i = 0; i < dwSegmentLenSample * dwSetChannels; i++)
-            pcData[i] = pnData[i] & 0xff;
-        }
-
-    // setup
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCard->hDrv, SPC_SEQMODE_WRITESEGMENT, dwSegmentIndex);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCard->hDrv, SPC_SEQMODE_SEGMENTSIZE,  dwSegmentLenSample);
-
-    // write data to board (main) sample memory
-    if (!dwError) dwError = spcm_dwDefTransfer_i64 (pstCard->hDrv, SPCM_BUF_DATA, SPCM_DIR_PCTOCARD, 0, pvSegData, 0, dwSegLenByte);
-    if (!dwError) dwError = spcm_dwSetParam_i32 (pstCard->hDrv, SPC_M2CMD, M2CMD_DATA_STARTDMA | M2CMD_DATA_WAITDMA);
-    }
-
-
-
-/*
-**************************************************************************
-DoDataCalculation: calculates and writes the output data for all segments
-**************************************************************************
-*/
-
-bool bDoDataCalculation (ST_SPCM_CARDINFO *pstCard)
-    {
-    uint32 i;
-    uint32 dwSegmentLenSample, dwSegLenByte;
-
-    printf ("Calculation of output data\n");
-
-
-    uint32 dwFactor = 1;
-    // This series has a slightly increased minimum size value.
-    if (pstCard->bM4i || pstCard->bM5i)
-        dwFactor = 6;
-
-
-    int32 lSetChannels = pstCard->lSetChannels;
-
-    // lSetChannels is at digital cards bit ocunt.
-    if ((pstCard->eCardFunction == DigitalOut)
-     || (pstCard->eCardFunction == DigitalIO))
-        {
-        // Only using one channel at digital cards.
-        lSetChannels = 1;
-        }
-
-
-    // buffer for data transfer (allocate for 8 bit sample 2 byte too)
-    dwSegLenByte = 2 * dwFactor * 512 * lSetChannels; // max value are from the sine calculation
-    void* pvBuffer = (void*) pvAllocMemPageAligned (dwSegLenByte);
-    if (!pvBuffer)
-        return nSpcMErrorMessageStdOut (pstCard, "Memory allocation error\n", false) != -1;
-    int16 *pnData = (int16*) pvBuffer;
-
-
-    // helper values: Full Scale
-    uint32 dwFS = 127;
-    if (pstCard->eCardFunction == AnalogOut)
-        dwFS = pstCard->uCfg.stAO.lMaxDACValue;
-    uint32 dwFShalf = dwFS / 2;
-
-
-    // (main) sample memory segment index:
-#define SEG_RAMPUP      0 // ramp up
-#define SEG_RAMPDOWN    1 // ramp down
-#define SEG_SYNC        2 // negative sync puls, for example oscilloscope trigger
-//                      3 // unused
-#define SEG_Q1SIN       4 // first quadrant of sinus signal
-#define SEG_Q2SIN       5 // second quadrant of sinus signal
-#define SEG_Q3SIN       6 // third quadrant of sinus signal
-#define SEG_Q4SIN       7 // fourth quadrant of sinus signal
-#define SEG_STOP        8 // DC level for stop/end
-//                      remainder: unused
-
-
-    // --- sync puls: first half zero, second half -FS
-    dwSegmentLenSample = dwFactor * 80;
-    for (i = 0; i < dwSegmentLenSample / 2; i++)
-        for (int lChannel = 0; lChannel < lSetChannels; ++lChannel)
-            pnData[i * lSetChannels + lChannel] = 0;
-
-    if (pstCard->eCardFunction == AnalogOut)
-        for (; i < dwSegmentLenSample; i++)
-            for (int lChannel = 0; lChannel < lSetChannels; ++lChannel)
-                pnData[i * lSetChannels + lChannel] = -((int16) dwFS);
-    else  // digital boards (no two's complement)
-        for (; i < dwSegmentLenSample; i++)
-            for (int lChannel = 0; lChannel < lSetChannels; ++lChannel)
-                pnData[i * lSetChannels + lChannel] = 0xff;
-
-    vWriteSegmentData (pstCard, SEG_SYNC, dwSegmentLenSample, pvBuffer);
-
-
-    // --- ramp up
-    dwSegmentLenSample = dwFactor * 64;
-    for (i = 0; i < dwSegmentLenSample; i++)
-        for (int lChannel = 0; lChannel < lSetChannels; ++lChannel)
-            pnData[i * lSetChannels + lChannel] = (int16) (i * dwFShalf / dwSegmentLenSample);
-
-    vWriteSegmentData (pstCard, SEG_RAMPUP, dwSegmentLenSample, pvBuffer);
-
-
-    // --- ramp down
-    dwSegmentLenSample = dwFactor * 64;
-    for (i = 0; i < dwSegmentLenSample; i++)
-        for (int lChannel = 0; lChannel < lSetChannels; ++lChannel)
-            pnData[i * lSetChannels + lChannel] = (int16) (dwFS - (i * dwFShalf / dwSegmentLenSample));
-
-    vWriteSegmentData (pstCard, SEG_RAMPDOWN, dwSegmentLenSample, pvBuffer);
-
-
-    // --- sinus
-    dwSegmentLenSample = dwFactor * 512;
-    for (i = 0; i < dwSegmentLenSample; i++)
-        for (int lChannel = 0; lChannel < lSetChannels; ++lChannel)
-            pnData[i * lSetChannels + lChannel] = (int16) (dwFShalf + (dwFShalf * sin (2.0 * M_PI * i / dwSegmentLenSample) + 0.5));
-
-    // write each quadrant in a own segment
-    vWriteSegmentData (pstCard, SEG_Q1SIN, dwSegmentLenSample / 4, (void*) &pnData[lSetChannels * 0 * dwSegmentLenSample / 4]);
-    vWriteSegmentData (pstCard, SEG_Q2SIN, dwSegmentLenSample / 4, (void*) &pnData[lSetChannels * 1 * dwSegmentLenSample / 4]);
-    vWriteSegmentData (pstCard, SEG_Q3SIN, dwSegmentLenSample / 4, (void*) &pnData[lSetChannels * 2 * dwSegmentLenSample / 4]);
-    vWriteSegmentData (pstCard, SEG_Q4SIN, dwSegmentLenSample / 4, (void*) &pnData[lSetChannels * 3 * dwSegmentLenSample / 4]);
-
-
-    // --- DC level
-    dwSegmentLenSample = dwFactor * 128;
-    for (i = 0; i < dwSegmentLenSample; i++)
-        for (int lChannel = 0; lChannel < lSetChannels; ++lChannel)
-            pnData[i * lSetChannels + lChannel] = (int16) (dwFS / 2);
-
-    vWriteSegmentData (pstCard, SEG_STOP, dwSegmentLenSample, pvBuffer);
-
-
-    vFreeMemPageAligned (pvBuffer, dwSegLenByte);
-
-    return true;
-    }
-
-
-
-/*
-**************************************************************************
-vWriteStepEntry
-**************************************************************************
-*/
-
-void vWriteStepEntry (ST_SPCM_CARDINFO *pstCard, uint32 dwStepIndex,
-                      uint32 dwStepNextIndex, uint32 dwSegmentIndex, uint32 dwLoops, uint32 dwFlags)
-    {
-    uint32 dwError =         0;
-    uint64 qwSequenceEntry = 0;
-
-    // setup register value
-    qwSequenceEntry = (dwFlags & ~SPCSEQ_LOOPMASK) | (dwLoops & SPCSEQ_LOOPMASK);
-    qwSequenceEntry <<= 32;
-    qwSequenceEntry |= ((dwStepNextIndex << 16)& SPCSEQ_NEXTSTEPMASK) | (dwSegmentIndex & SPCSEQ_SEGMENTMASK);
-
-    if (!dwError) dwError = spcm_dwSetParam_i64 (pstCard->hDrv, SPC_SEQMODE_STEPMEM0 + dwStepIndex, qwSequenceEntry);
-    }
-
-
-
-/*
-**************************************************************************
-bool bConfigureSequence
-**************************************************************************
-*/
-
-bool bConfigureSequence (ST_SPCM_CARDINFO *pstCard)
-    {
-    // sequence memory
-    // four sequence loops are programmed (each with 6 steps)
-    // a keystroke or ext. trigger switched to the next sequence
-    // the loop value for the ramp increase in each sequence
-    //  0 ...  5: sync, Q1sin, Q2sin, Q3sin, Q4sin, ramp up
-    //  8 ... 13: sync, Q2sin, Q3sin, Q4sin, Q1sin, ramp down
-    // 16 ... 21: sync, Q3sin, Q4sin, Q1sin, Q2sin, ramp up
-    // 24 ... 29: sync, Q4sin, Q1sin, Q2sin, Q3sin, ramp down
-
-                            // +-- StepIndex
-                            // |   +-- StepNextIndex
-                            // |   |   +-- SegmentIndex
-                            // |   |   |              +-- Loops
-                            // |   |   |              |   +-- Flags: SPCSEQ_ENDLOOPONTRIG
-    // sin                  // |   |   |              |   |          For using this flag disable Software-Trigger above.
-    vWriteStepEntry (pstCard,  0,  1,  SEG_SYNC,      3,  0);
-    vWriteStepEntry (pstCard,  1,  2,  SEG_Q1SIN,     1,  0);
-    vWriteStepEntry (pstCard,  2,  3,  SEG_Q2SIN,     1,  0);
-    vWriteStepEntry (pstCard,  3,  4,  SEG_Q3SIN,     1,  0);
-    vWriteStepEntry (pstCard,  4,  5,  SEG_Q4SIN,     1,  0);
-    if (!USING_EXTERNAL_TRIGGER)
-    vWriteStepEntry (pstCard,  5,  1,  SEG_RAMPDOWN,  1,  0);
-    else
-    vWriteStepEntry (pstCard,  5,  8,  SEG_RAMPDOWN,  1,  SPCSEQ_ENDLOOPONTRIG);
-#define LAST_STEP_OFFSET    5
-
-    // cos
-    vWriteStepEntry (pstCard,  8,  9,  SEG_SYNC,      3,  0);
-    vWriteStepEntry (pstCard,  9, 10,  SEG_Q2SIN,     1,  0);
-    vWriteStepEntry (pstCard, 10, 11,  SEG_Q3SIN,     1,  0);
-    vWriteStepEntry (pstCard, 11, 12,  SEG_Q4SIN,     1,  0);
-    vWriteStepEntry (pstCard, 12, 13,  SEG_Q1SIN,     1,  0);
-    if (!USING_EXTERNAL_TRIGGER)
-    vWriteStepEntry (pstCard, 13,  9,  SEG_RAMPUP,    2,  0);
-    else
-    vWriteStepEntry (pstCard, 13, 16,  SEG_RAMPUP,    2,  SPCSEQ_ENDLOOPONTRIG);
-
-    // inverted sin
-    vWriteStepEntry (pstCard, 16, 17,  SEG_SYNC,      3,  0);
-    vWriteStepEntry (pstCard, 17, 18,  SEG_Q3SIN,     1,  0);
-    vWriteStepEntry (pstCard, 18, 19,  SEG_Q4SIN,     1,  0);
-    vWriteStepEntry (pstCard, 19, 20,  SEG_Q1SIN,     1,  0);
-    vWriteStepEntry (pstCard, 20, 21,  SEG_Q2SIN,     1,  0);
-    if (!USING_EXTERNAL_TRIGGER)
-    vWriteStepEntry (pstCard, 21, 17,  SEG_RAMPDOWN,  3,  0);
-    else
-    vWriteStepEntry (pstCard, 21, 24,  SEG_RAMPDOWN,  3,  SPCSEQ_ENDLOOPONTRIG);
-
-    // inverted cos
-    vWriteStepEntry (pstCard, 24, 25,  SEG_SYNC,      3,  0);
-    vWriteStepEntry (pstCard, 25, 26,  SEG_Q4SIN,     1,  0);
-    vWriteStepEntry (pstCard, 26, 27,  SEG_Q1SIN,     1,  0);
-    vWriteStepEntry (pstCard, 27, 28,  SEG_Q2SIN,     1,  0);
-    vWriteStepEntry (pstCard, 28, 29,  SEG_Q3SIN,     1,  0);
-    vWriteStepEntry (pstCard, 29, 30,  SEG_RAMPUP,    4,  0);
-    vWriteStepEntry (pstCard, 30, 30,  SEG_STOP,      1,  SPCSEQ_END);  // M2i and M2p: the complete segment is replayed
-                                                                        // M4i: only a few or none sample from this segment are replayed
-
-    // Configure the beginning (index of first seq-entry to start) of the sequence replay.
-    spcm_dwSetParam_i32 (pstCard->hDrv, SPC_SEQMODE_STARTSTEP, 0);
-
-    // dump steps if necessary
-    if (0)
-        {
-        printf ("\n");
-        for (int i = 0; i < 32; i++)
-            {
-            int64 llTemp;
-            spcm_dwGetParam_i64 (pstCard->hDrv, SPC_SEQMODE_STEPMEM0 + i, &llTemp);
-            printf ("Step %.2d: 0x%08x_%08x\n", i, (uint32) (llTemp >> 32), (uint32) llTemp);
-            }
-        printf ("\n\n");
-        }
-
-    return true;
-    }
-
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO    stCard;             // info structure of my card
-
-
-    // ------------------------------------------------------------------------
-    // init card number 0 (the first card in the system), get some information and print it
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a generatorNETBOX
-    if (bSpcMInitCardByIdx (&stCard, 0))
-    //if (bSpcMInitCardByIdx (&stCard, "192.168.1.10", 0))
-        {
-        printf (pszSpcMPrintDocumentationLink (&stCard, szBuffer, sizeof (szBuffer)));
-        printf (pszSpcMPrintCardInfo (&stCard, szBuffer, sizeof (szBuffer)));
-        }
-    else
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Could not open card\n", true);
-
-
-    // check whether we support this card type in the example
-    if ((stCard.eCardFunction != AnalogOut) && (stCard.eCardFunction != DigitalOut) && (stCard.eCardFunction != DigitalIO))
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Card function not supported by this example\n", false);
-
-    if (!(stCard.lFeatureMap & SPCM_FEAT_SEQUENCE)
-      || (stCard.bM2i && (stCard.lCtrlFwVersion < 20))
-      || (stCard.bM4i && (stCard.lCtrlFwVersion < 14))) // on M2i and M4i sequence mode has been released as update. on M2p it is available since first release
-        return nSpcMErrorMessageStdOut (&stCard, "Error: option 'sequence replay' not installed or firmware version to old\n", false);
-
-    printf ("\n");
-
-
-    // ------------------------------------------------------------------------
-    // do the card setup, error is routed in the structure so we don't care for the return values
-    if (!stCard.bSetError)
-        {
-        vDoCardSetup (&stCard);
-        }
-
-
-    // ------------------------------------------------------------------------
-    // calculate the amount of data we need and allocate memory buffer
-    if (!stCard.bSetError)
-        {
-        // calculate the data
-        if (!bDoDataCalculation (&stCard))
-            return nSpcMErrorMessageStdOut (&stCard, "Data calculation failed\n", false);
-
-        printf ("... data has been transferred to board memory\n");
-
-        // setup the the sequence
-        if (!bConfigureSequence (&stCard))
-            return nSpcMErrorMessageStdOut (&stCard, "Sequence setup failed\n", false);
-
-        printf ("... sequence configured\n");
-        }
-
-
-    // ------------------------------------------------------------------------
-    // start the generation
-    if (!stCard.bSetError)
-        {
-        // We'll start and wait until all sequences are replayed.
-        spcm_dwSetParam_i32 (stCard.hDrv, SPC_TIMEOUT, 0);
-        printf ("\nStarting the card\n");
-        if (spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER) != ERR_OK)
-            {
-            spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_STOP);
-            return nSpcMErrorMessageStdOut (&stCard, "... error", false);
-            }
-
-
-        printf ("\nsequence replay runs, switch to next sequence (3 times possible) with");
-        if (!USING_EXTERNAL_TRIGGER)
-            printf ("\n key: c ... change sequence\n\n");
-        else
-            printf ("\n a (slow) TTL signal on external trigger input connector\n\n");
-
-        int32 lCardStatus =       0;
-        uint32 dwSequenceActual = 0;    // first step in a sequence
-        uint32 dwSequenceNext;
-        do
-            {
-            if (bKbhit ())
-                {
-                char c = cGetch ();
-                switch (c)
-                    {
-                    case 27: // ESC
-                        spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_STOP);
-                        break;
-
-                    case 'c':
-                    case 'C':
-                        if (!USING_EXTERNAL_TRIGGER)
-                            {
-                            dwSequenceNext = (dwSequenceActual + 8) % 32;
-                            printf ("sequence %d\n", dwSequenceNext / 8);
-
-                            // switch to next sequence
-                            // (before it is possible to overwrite the segment data of the new used segments with new values)
-                            uint32 dwError;
-                            int64 llStep;
-
-                            // --- change the next step value from the sequence end entry in the actual sequence
-                            dwError = spcm_dwGetParam_i64 (stCard.hDrv, SPC_SEQMODE_STEPMEM0 + dwSequenceActual + LAST_STEP_OFFSET, &llStep);
-                            llStep = (llStep & ~((int64)SPCSEQ_NEXTSTEPMASK)) | dwSequenceNext << 16;
-                            dwError = spcm_dwSetParam_i64 (stCard.hDrv, SPC_SEQMODE_STEPMEM0 + dwSequenceActual + LAST_STEP_OFFSET, llStep);
-
-                            dwSequenceActual = dwSequenceNext;
-                            }
-                        break;
-                    }
-                }
-            else
-                {
-                SPCM_NAMESPACE::spcm_vSuspendThread (10); // ms
-
-                // Demonstrate the two different sequence status values at M2i and M4i / M2p cards.
-                static int32 s_lSeqStatusOld = 0;
-                int32 lSeqStatus;
-                spcm_dwGetParam_i32 (stCard.hDrv, SPC_SEQMODE_STATUS, &lSeqStatus);
-
-                // Avoid a lot of outputs in none external trigger mode.
-                if (USING_EXTERNAL_TRIGGER)
-                    {
-                    if (s_lSeqStatusOld != lSeqStatus)
-                        {
-                        s_lSeqStatusOld = lSeqStatus;
-
-                        if (stCard.bM2i)
-                            {
-                            if (lSeqStatus & SEQSTAT_STEPCHANGE)
-                                printf ("status: sequence changed\n");
-                            }
-                        if (stCard.bM4i
-                         || stCard.bM2p
-                         || stCard.bM5i)
-                            {
-                            // Valid values only available on a started card.
-                            if (lCardStatus & M2STAT_CARD_PRETRIGGER)
-                                printf ("status: actual sequence number: %d\n", lSeqStatus);
-                            }
-                        }
-                    }
-                }
-
-            spcm_dwGetParam_i32 (stCard.hDrv, SPC_M2STATUS, &lCardStatus);
-            }
-        while (!(lCardStatus & M2STAT_CARD_READY));
-
-        printf ("\n\n programm finished (press key)");
-        cGetch ();
-        }
-
-
-    // ------------------------------------------------------------------------
-    // print error information if an error occured
-    if (stCard.bSetError)
-        return nSpcMErrorMessageStdOut (&stCard, "An error occured while programming the card:\n", true);
-
-
-    // close the driver
-    vSpcMCloseCard (&stCard);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/rep_sequence/rep_sequence.sln b/Cpp/examples/c_cpp/rep_sequence/rep_sequence.sln
deleted file mode 100644
index b68a69d76110bbd943b80c50a8220c4c4ac379c1..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_sequence/rep_sequence.sln
+++ /dev/null
@@ -1,28 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-VisualStudioVersion = 14.0.25420.1
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rep_sequence", "rep_sequence.vcxproj", "{38EB7558-D630-4AEA-AA81-E80B1DB127DC}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|x64 = Debug|x64
-		Debug|x86 = Debug|x86
-		Release|x64 = Release|x64
-		Release|x86 = Release|x86
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{38EB7558-D630-4AEA-AA81-E80B1DB127DC}.Debug|x64.ActiveCfg = Debug|x64
-		{38EB7558-D630-4AEA-AA81-E80B1DB127DC}.Debug|x64.Build.0 = Debug|x64
-		{38EB7558-D630-4AEA-AA81-E80B1DB127DC}.Debug|x86.ActiveCfg = Debug|Win32
-		{38EB7558-D630-4AEA-AA81-E80B1DB127DC}.Debug|x86.Build.0 = Debug|Win32
-		{38EB7558-D630-4AEA-AA81-E80B1DB127DC}.Release|x64.ActiveCfg = Release|x64
-		{38EB7558-D630-4AEA-AA81-E80B1DB127DC}.Release|x64.Build.0 = Release|x64
-		{38EB7558-D630-4AEA-AA81-E80B1DB127DC}.Release|x86.ActiveCfg = Release|Win32
-		{38EB7558-D630-4AEA-AA81-E80B1DB127DC}.Release|x86.Build.0 = Release|Win32
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/Cpp/examples/c_cpp/rep_sequence/rep_sequence.vcproj b/Cpp/examples/c_cpp/rep_sequence/rep_sequence.vcproj
deleted file mode 100644
index 926357cca648e6abc1a96cdba450f63c073784ad..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_sequence/rep_sequence.vcproj
+++ /dev/null
@@ -1,608 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rep_sequence"
-	ProjectGUID="{38EB7558-D630-4AEA-AA81-E80B1DB127DC}"
-	RootNamespace="rep_sequence"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rep_sequence.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rep_sequence.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rep_sequence.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rep_sequence.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rep_sequence.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rep_sequence.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rep_sequence.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rep_sequence.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rep_sequence.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rep_sequence.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rep_sequence.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rep_sequence.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rep_sequence.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rep_sequence.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rep_sequence.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rep_sequence.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rep_sequence.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rep_sequence.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rep_sequence.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rep_sequence.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="header"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<File
-			RelativePath="rep_sequence.cpp"
-			>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/rep_sequence/rep_sequence.vcxproj b/Cpp/examples/c_cpp/rep_sequence/rep_sequence.vcxproj
deleted file mode 100644
index 3ea25b0034d7da7f20b6e735c47fb0b4de69283b..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_sequence/rep_sequence.vcxproj
+++ /dev/null
@@ -1,265 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{38EB7558-D630-4AEA-AA81-E80B1DB127DC}</ProjectGuid>
-    <RootNamespace>rep_sequence</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rep_sequence.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rep_sequence.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rep_sequence.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rep_sequence.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rep_sequence.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rep_sequence.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rep_sequence.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rep_sequence.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rep_sequence.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rep_sequence.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rep_sequence.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rep_sequence.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rep_sequence.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rep_sequence.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rep_sequence.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rep_sequence.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="rep_sequence.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rep_sequence/rep_sequence.vcxproj.filters b/Cpp/examples/c_cpp/rep_sequence/rep_sequence.vcxproj.filters
deleted file mode 100644
index 095e4abb4429c90ebc8c0e1760611e390a6855fa..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_sequence/rep_sequence.vcxproj.filters
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="header">
-      <UniqueIdentifier>{6791ab96-c511-46b0-95c1-6db093ea0434}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl</Extensions>
-    </Filter>
-    <Filter Include="common">
-      <UniqueIdentifier>{b9a5d846-69a2-4dd8-a7ad-ccde087d5ca9}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="rep_sequence.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rep_std_single/makefile b/Cpp/examples/c_cpp/rep_std_single/makefile
deleted file mode 100644
index cf2d2410c8f659c0cf25b734eb280a9bb35f447a..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_std_single/makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-COMPILER =   g++
-EXECUTABLE = rep_std_single
-LIBS += -lspcm_linux -lpthread -lrt
-
-OBJECTS = \
-    rep_std_single.o\
-    	../common/ostools/spcm_ostools_linux.o\
-	../common/spcm_lib_card.o\
-	../common/spcm_lib_data.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/rep_std_single/rep_std_single.bpf b/Cpp/examples/c_cpp/rep_std_single/rep_std_single.bpf
deleted file mode 100644
index 5da88241fe8e80944de42def849bf4eab8f1f666..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_std_single/rep_std_single.bpf
+++ /dev/null
@@ -1,3 +0,0 @@
-This file is used by the project manager only and should be treated like the project file
-
-
main 
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rep_std_single/rep_std_single.bpr b/Cpp/examples/c_cpp/rep_std_single/rep_std_single.bpr
deleted file mode 100644
index 2cc321f67b7e6a99241881788b1cc54c5e57475a..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_std_single/rep_std_single.bpr
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<!-- C++Builder XML Project -->
-<PROJECT>
-  <MACROS>
-    <VERSION value="BCB.06.00"/>
-    <PROJECT value="rep_std_single.exe"/>
-    <OBJFILES value="rep_std_single.obj ..\common\spcm_lib_thread.obj 
-      ..\common\spcm_lib_card.obj ..\common\spcm_lib_data.obj"/>
-    <RESFILES value=""/>
-    <DEFFILE value=""/>
-    <RESDEPEN value="$(RESFILES)"/>
-    <LIBFILES value="..\c_header\spcm_win32_bcppb.lib"/>
-    <LIBRARIES value=""/>
-    <SPARELIBS value=""/>
-    <PACKAGES value="vcl.bpi rtl.bpi vclx.bpi bcbsmp.bpi dclocx.bpi"/>
-    <PATHCPP value=".;..\common;..\common;..\common"/>
-    <PATHPAS value=".;"/>
-    <PATHRC value=".;"/>
-    <PATHASM value=".;"/>
-    <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
-    <RELEASELIBPATH value="$(BCB)\lib\release"/>
-    <LINKER value="ilink32"/>
-    <USERDEFINES value="_DEBUG"/>
-    <SYSDEFINES value="NO_STRICT;_NO_VCL;_RTLDLL;USEPACKAGES"/>
-    <MAINSOURCE value="rep_std_single.bpf"/>
-    <INCLUDEPATH value="C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rep_std_single;$(BCB)\include;$(BCB)\include\vcl"/>
-    <LIBPATH value="C:\svnwork\spcm_drv_c\common;C:\svnwork\spcm_drv_c\rep_std_single;$(BCB)\lib\obj;$(BCB)\lib"/>
-    <WARNINGS value="-w-par"/>
-    <OTHERFILES value=""/>
-  </MACROS>
-  <OPTIONS>
-    <CFLAG1 value="-tWC -tWM -Od -H=$(BCB)\lib\vcl60.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v 
-      -vi- -c"/>
-    <PFLAGS value="-$YD -$W -$O- -$A8 -v -JPHNE -M"/>
-    <RFLAGS value=""/>
-    <AFLAGS value="/mx /w2 /zd"/>
-    <LFLAGS value="-Tpe -ap -D&quot;&quot; -x -Gn -v"/>
-    <OTHERFILES value=""/>
-  </OPTIONS>
-  <LINKER>
-    <ALLOBJ value="c0x32.obj $(PACKAGES) $(OBJFILES)"/>
-    <ALLRES value="$(RESFILES)"/>
-    <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mti.lib"/>
-    <OTHERFILES value=""/>
-  </LINKER>
-  <FILELIST>
-      <FILE FILENAME="rep_std_single.bpf" FORMNAME="" UNITNAME="rep_std_single" CONTAINERID="BPF" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="rep_std_single.cpp" FORMNAME="" UNITNAME="rep_std_single" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_thread.cpp" FORMNAME="" UNITNAME="spcm_lib_thread.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_card.cpp" FORMNAME="" UNITNAME="spcm_lib_card.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\common\spcm_lib_data.cpp" FORMNAME="" UNITNAME="spcm_lib_data.cpp" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="..\c_header\spcm_win32_bcppb.lib" FORMNAME="" UNITNAME="spcm_win32_bcppb.lib" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
-  </FILELIST>
-  <BUILDTOOLS>
-  </BUILDTOOLS>
-
-  <IDEOPTIONS>
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1031
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[Debugging]
-DebugSourceDirs=$(BCB)\source\vcl
-
-[Parameters]
-RunParams=
-Launcher=
-UseLauncher=0
-DebugCWD=
-HostApplication=
-RemoteHost=
-RemotePath=
-RemoteLauncher=
-RemoteCWD=
-RemoteDebug=0
-
-[Compiler]
-ShowInfoMsgs=0
-LinkDebugVcl=0
-  </IDEOPTIONS>
-</PROJECT>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rep_std_single/rep_std_single.cpp b/Cpp/examples/c_cpp/rep_std_single/rep_std_single.cpp
deleted file mode 100644
index 858eb6cdb5b9c3489394e02a32be4b787cff2b4b..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_std_single/rep_std_single.cpp
+++ /dev/null
@@ -1,423 +0,0 @@
-/*
-**************************************************************************
-
-rep_std_single.cpp                                       (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all SpcMDrv based analog and digital generator cards.
-
-Information about the different products and their drivers can be found
-online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/platform-driver-and-series-differences
-
-Shows standard replay mode as single shot, continous or single restart
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-
-// ----- operating system dependent functions for thead, event, keyboard and mutex handling -----
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <stdlib.h>
-
-
-
-/*
-**************************************************************************
-vDoCardSetup
-**************************************************************************
-*/
-
-void vDoCardSetup (ST_SPCM_CARDINFO *pstCard, int32 lReplayMode, int64 llLoops = 0)
-    {
-    int i;
-    int64 llChannelMask;
-
-
-    // set mask for maximal channels
-    if (pstCard->lMaxChannels >= 64)
-        llChannelMask = -1; // -1 is all bits set to 1 = 0xffffffffffffffff
-    else
-        llChannelMask = ((int64) 1 << pstCard->lMaxChannels) - 1;
-
-
-    // we try to set the samplerate to 1 MHz (M2i) or 50 MHz (M4i) on internal PLL, no clock output
-    if (pstCard->bM4i || pstCard->bM5i)
-        bSpcMSetupClockPLL (pstCard, MEGA(50), false);
-    else
-        bSpcMSetupClockPLL (pstCard, MEGA(1), false);
-    printf ("Sampling rate set to %.1lf MHz\n", (double) pstCard->llSetSamplerate / 1000000);
-
-
-    // setup the replay mode and the trigger
-    switch (lReplayMode)
-        {
-
-        // with loops == 1: singleshot replay with software trigger
-        // with loops == 0: endless continuous mode with software trigger
-        case SPC_REP_STD_SINGLE:
-            bSpcMSetupModeRepStdLoops  (pstCard, llChannelMask, KILO_B(64), llLoops);
-            bSpcMSetupTrigSoftware (pstCard, true);
-
-            // on M2i starting with build 1604 we can use the trigger output as a marker for each loop start
-            // be sure to have the trigger output enabled for this
-            if (pstCard->bM2i)
-                {
-                if ((pstCard->lLibVersion & 0xFFFF) >= 1604)
-                    spcm_dwSetParam_i32 (pstCard->hDrv, SPC_CONTOUTMARK, 1);
-                }
-            break;
-
-        // single restart (one signal on every trigger edge) with ext trigger positive edge
-        case SPC_REP_STD_SINGLERESTART:
-            bSpcMSetupModeRepStdSingleRestart (pstCard, llChannelMask, KILO_B(64), 0);
-            bSpcMSetupTrigExternal (pstCard, SPC_TM_POS, false, 0);
-            break;
-        }
-
-
-
-    // type dependent card setup
-    switch (pstCard->eCardFunction)
-        {
-
-        // analog generator card setup
-        case AnalogOut:
-
-            // program all output channels to +/- 1 V with no offset
-            for (i=0; i < pstCard->lMaxChannels; i++)
-                bSpcMSetupAnalogOutputChannel (pstCard, i, 1000, 0, 0);
-            break;
-
-        // digital generator card setup
-        case DigitalOut:
-        case DigitalIO:
-            for (i=0; i < pstCard->uCfg.stDIO.lGroups; i++)
-                bSpcMSetupDigitalOutput (pstCard, i, SPCM_STOPLVL_LOW, 0, 3300);
-            break;
-        }
-    }
-
-
-
-/*
-**************************************************************************
-DoDataCalculation: calculates the output data
-**************************************************************************
-*/
-
-bool bDoDataCalculation (ST_SPCM_CARDINFO *pstCard, void* pvBuffer)
-    {
-    void*   ppvChannelData[SPCM_MAX_AOCHANNEL];
-    int     i;
-
-    printf ("Calculation of output data\n");
-
-    switch (pstCard->eCardFunction)
-        {
-
-        // analog waveform generator card, each channel gets a different waveform
-        case AnalogOut:
-            {
-            // allocate buffers for each channel
-            for (i=0; i < pstCard->lMaxChannels; i++)
-                {
-                if (pstCard->lBytesPerSample == 1)
-                    ppvChannelData[i] = new int8[(unsigned) pstCard->llSetMemsize];
-                else
-                    ppvChannelData[i] = new int16[(unsigned) pstCard->llSetMemsize];
-                if (!ppvChannelData[i])
-                    return (nSpcMErrorMessageStdOut (pstCard, "Memory allocation error\n", false) == 0);
-                }
-
-            // calculate channel data
-            for (i=0; i < pstCard->lMaxChannels; i++)
-                {
-                switch (i)
-                    {
-                    case 0: bSpcMCalcSignal (pstCard, ppvChannelData[0], (uint32) pstCard->llSetMemsize, 0, eSine);              break;
-                    case 1: bSpcMCalcSignal (pstCard, ppvChannelData[1], (uint32) pstCard->llSetMemsize, 0, eTriangle);          break;
-                    case 2: bSpcMCalcSignal (pstCard, ppvChannelData[2], (uint32) pstCard->llSetMemsize, 0, eSawtooth);          break;
-                    case 3: bSpcMCalcSignal (pstCard, ppvChannelData[3], (uint32) pstCard->llSetMemsize, 0, eRectangle);         break;
-                    case 4: bSpcMCalcSignal (pstCard, ppvChannelData[4], (uint32) pstCard->llSetMemsize, 0, eInvertedSine);      break;
-                    case 5: bSpcMCalcSignal (pstCard, ppvChannelData[5], (uint32) pstCard->llSetMemsize, 0, eInvertedTriangle);  break;
-                    case 6: bSpcMCalcSignal (pstCard, ppvChannelData[6], (uint32) pstCard->llSetMemsize, 0, eInvertedSawtooth);  break;
-                    case 7: bSpcMCalcSignal (pstCard, ppvChannelData[7], (uint32) pstCard->llSetMemsize, 0, eInvertedRectangle); break;
-                    }
-                }
-
-            // mux it into the output buffer
-            bSpcMMuxData (pstCard, pvBuffer, (uint32) pstCard->llSetMemsize, ppvChannelData);
-
-            // clean up channel buffers
-            for (i=0; i < pstCard->lMaxChannels; i++)
-                {
-                if (pstCard->lBytesPerSample == 1)
-                    delete [] (int8*)ppvChannelData[i];
-                else
-                    delete [] (int16*)ppvChannelData[i];
-                }
-
-            break;
-            }
-
-        // digital generator card: sine over all channels
-        case DigitalOut:
-        case DigitalIO:
-            {
-            // we need to tell the calc function the number of bytes for one complete word -> [channels/8]
-            bSpcMCalcSignal (pstCard, pvBuffer, (uint32) pstCard->llSetMemsize, pstCard->lSetChannels / 8, eSine);
-            break;
-            }
-        }
-
-
-    return true;
-    }
-
-/*
-**************************************************************************
-bSetMultiPurposeDigOut
-**************************************************************************
-*/
-
-bool bSetMultiPurposeDigOut (ST_SPCM_CARDINFO *pstCard, void* pvBuffer)
-    {
-    if (pstCard->uCfg.stAO.lResolution != 16)
-        return false;
-
-    int16* pnData = (int16*)pvBuffer;
-    int64 llDataLength = pstCard->lSetChannels * pstCard->llSetMemsize;
-
-    uint32 dwXMode_X0 = 0;
-    uint32 dwXMode_X1 = 0;
-    uint32 dwXMode_X2 = 0;
-    uint32 dwXMode_X3 = 0;
-
-    uint32 dwNumOfDigOutChannels = 0;
-
-    // set all available and active XIO channels to digital output mode
-    if (pstCard->lSetChannels >= 1 && pstCard->qwSetChEnableMap & 0x01)
-        {
-        dwXMode_X0 = SPCM_XMODE_DIGOUT | SPCM_XMODE_DIGOUTSRC_CH0 | SPCM_XMODE_DIGOUTSRC_BIT15;
-        if (spcm_dwSetParam_i32 (pstCard->hDrv, SPCM_X0_MODE, dwXMode_X0))
-            return false;
-        dwNumOfDigOutChannels = 1;
-        }
-
-    if (pstCard->lSetChannels >= 2 && pstCard->qwSetChEnableMap & 0x03)
-        {
-        dwXMode_X1 = SPCM_XMODE_DIGOUT | SPCM_XMODE_DIGOUTSRC_CH1 | SPCM_XMODE_DIGOUTSRC_BIT15;
-        if (spcm_dwSetParam_i32 (pstCard->hDrv, SPCM_X1_MODE, dwXMode_X1))
-            return false;
-        dwNumOfDigOutChannels = 2;
-        }
-
-    if (pstCard->lSetChannels >= 3 && pstCard->qwSetChEnableMap & 0x07)
-        {
-        dwXMode_X2 = SPCM_XMODE_DIGOUT | SPCM_XMODE_DIGOUTSRC_CH2 | SPCM_XMODE_DIGOUTSRC_BIT15;
-        if (spcm_dwSetParam_i32 (pstCard->hDrv, SPCM_X2_MODE, dwXMode_X2))
-            return false;
-        dwNumOfDigOutChannels = 3;
-        }
-
-    if (pstCard->bM2p)
-        {
-        if (pstCard->lSetChannels >= 4 && pstCard->qwSetChEnableMap & 0x0F)
-            {
-            dwXMode_X3 = SPCM_XMODE_DIGOUT | SPCM_XMODE_DIGOUTSRC_CH3 | SPCM_XMODE_DIGOUTSRC_BIT15;
-            if (spcm_dwSetParam_i32 (pstCard->hDrv, SPCM_X3_MODE, dwXMode_X3))
-                return false;
-            dwNumOfDigOutChannels = 4;
-            }
-        }
-
-    bool bDigValHigh;
-
-    for (int64 llDataIdx = 0; llDataIdx < llDataLength; llDataIdx += pstCard->lSetChannels)
-        {
-        if (llDataIdx < llDataLength / 2)
-            bDigValHigh = true;
-        else
-            bDigValHigh = false;
-
-        // digital output value is set by adjusting highest bit in sample
-        for (uint32 dwDigChIdx = 0; dwDigChIdx < dwNumOfDigOutChannels; dwDigChIdx++)
-            {
-            // shift sample by one bit
-            pnData[llDataIdx + dwDigChIdx] >>= 1;
-
-            // adjust bit 15 in sample to desired digital output value
-            if (bDigValHigh)
-                pnData[llDataIdx + dwDigChIdx] |= 0x8000;
-            else
-                pnData[llDataIdx + dwDigChIdx] &= 0x7FFF;
-            }
-        }
-
-    return true;
-    }
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO    stCard;             // info structure of my card
-    uint64              qwMemInBytes;
-    void*               pvBuffer = NULL;
-
-    bool bMultiPurposeDigOut = false;
-
-    // ------------------------------------------------------------------------
-    // init card number 0 (the first card in the system), get some information and print it
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a generatorNETBOX
-    if (bSpcMInitCardByIdx (&stCard, 0))
-    //if (bSpcMInitCardByIdx (&stCard, "192.168.1.10", 0))
-        {
-        printf (pszSpcMPrintDocumentationLink (&stCard, szBuffer, sizeof (szBuffer)));
-        printf (pszSpcMPrintCardInfo (&stCard, szBuffer, sizeof (szBuffer)));
-        }
-    else
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Could not open card\n", true);
-
-
-    // check whether we support this card type in the example
-    if ((stCard.eCardFunction != AnalogOut) && (stCard.eCardFunction != DigitalOut) && (stCard.eCardFunction != DigitalIO))
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Card function not supported by this example\n", false);
-
-
-    // ------------------------------------------------------------------------
-    // do the card setup, error is routed in the structure so we don't care for the return values
-    if (!stCard.bSetError)
-        {
-        printf ("\nPlease select the output mode:\n\n(S)ingleshot\n(C)ontinuous");
-        if (stCard.eCardFunction == AnalogOut && !stCard.bM2i)
-            printf (" + (D)igital Output (Multi Purpose IO Lines)");
-        printf ("\nSingle (R)estart\n");
-
-        switch (cGetch())
-            {
-            default:
-            case 's':
-            case 'S':
-                vDoCardSetup (&stCard, SPC_REP_STD_SINGLE, 1/*just once*/);
-                break;
-
-            case 'c':
-            case 'C':
-                vDoCardSetup (&stCard, SPC_REP_STD_SINGLE, 0/*forever*/);
-                break;
-
-            case 'r':
-            case 'R':
-                vDoCardSetup (&stCard, SPC_REP_STD_SINGLERESTART);
-                break;
-
-            case 'd':
-            case 'D':
-                vDoCardSetup (&stCard, SPC_REP_STD_SINGLE, 0/*forever*/);
-                if (stCard.eCardFunction == AnalogOut && !stCard.bM2i)
-                    bMultiPurposeDigOut = true;
-                break;
-            }
-        }
-
-
-    // ------------------------------------------------------------------------
-    // calculate the amount of data we need and allocate memory buffer
-    if (!stCard.bSetError)
-        {
-        if (stCard.eCardFunction == DigitalOut || stCard.eCardFunction == DigitalIO)
-            qwMemInBytes = stCard.llSetMemsize * stCard.lSetChannels / 8;
-        else
-            qwMemInBytes = stCard.llSetMemsize * stCard.lBytesPerSample * stCard.lSetChannels;
-
-        // buffer for data transfer, containing multiplexed data later on
-        pvBuffer = pvAllocMemPageAligned (qwMemInBytes);
-        if (!pvBuffer)
-            return nSpcMErrorMessageStdOut (&stCard, "Memory allocation error\n", false);
-
-        // calculate the data
-        if (!bDoDataCalculation (&stCard, pvBuffer))
-            return nSpcMErrorMessageStdOut (&stCard, "Data calculation failed\n", false);
-
-        if (bMultiPurposeDigOut)
-            {
-            if (!bSetMultiPurposeDigOut (&stCard, pvBuffer))
-                return nSpcMErrorMessageStdOut (&stCard, "Multi Pupose IO Lines setup failed\n", false);
-            }
-        }
-
-    // ------------------------------------------------------------------------
-    // start the generation
-    if (!stCard.bSetError)
-        {
-
-        // we define the buffer for transfer and start the DMA transfer
-        printf ("Starting the DMA transfer and waiting until data is in board memory\n");
-        spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_DATA, SPCM_DIR_PCTOCARD, 0, pvBuffer, 0, qwMemInBytes);
-        spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_DATA_STARTDMA | M2CMD_DATA_WAITDMA);
-
-        // check for error code
-        if (spcm_dwGetErrorInfo_i32 (stCard.hDrv, NULL, NULL, szBuffer))
-            {
-            vFreeMemPageAligned (pvBuffer, qwMemInBytes);
-            return nSpcMErrorMessageStdOut (&stCard, szBuffer, false);
-            }
-        printf ("... data has been transferred to board memory\n");
-
-        // We'll start and wait untill the card has finished or until a timeout occurs
-        spcm_dwSetParam_i32 (stCard.hDrv, SPC_TIMEOUT, 5000);
-        printf ("\nStarting the card and waiting for ready interrupt\n(continuous and single restart will have timeout)\n");
-        if (spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER | M2CMD_CARD_WAITREADY) == ERR_TIMEOUT)
-            {
-            vFreeMemPageAligned (pvBuffer, qwMemInBytes);
-            spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_STOP);
-            return nSpcMErrorMessageStdOut (&stCard, "... Timeout", false);
-            }
-        }
-
-
-    // ------------------------------------------------------------------------
-    // print error information if an error occured
-    if (stCard.bSetError)
-        return nSpcMErrorMessageStdOut (&stCard, "An error occured while programming the card:\n", true);
-
-    // clean up and close the driver
-    vSpcMCloseCard (&stCard);
-
-    vFreeMemPageAligned (pvBuffer, qwMemInBytes);
-
-    return EXIT_SUCCESS;
-    }
diff --git a/Cpp/examples/c_cpp/rep_std_single/rep_std_single.dsp b/Cpp/examples/c_cpp/rep_std_single/rep_std_single.dsp
deleted file mode 100644
index 13c7e5ce60d0307e6587ab6f87a8239f4586cc57..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_std_single/rep_std_single.dsp
+++ /dev/null
@@ -1,151 +0,0 @@
-# Microsoft Developer Studio Project File - Name="rep_std_single" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** NICHT BEARBEITEN **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=rep_std_single - Win32 Debug
-!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
-!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
-!MESSAGE 
-!MESSAGE NMAKE /f "rep_std_single.mak".
-!MESSAGE 
-!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
-!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
-!MESSAGE 
-!MESSAGE NMAKE /f "rep_std_single.mak" CFG="rep_std_single - Win32 Debug"
-!MESSAGE 
-!MESSAGE Für die Konfiguration stehen zur Auswahl:
-!MESSAGE 
-!MESSAGE "rep_std_single - Win32 Release" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE "rep_std_single - Win32 Debug" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "rep_std_single - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "rep_std_single - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "rep_std_single - Win32 Release"
-# Name "rep_std_single - Win32 Debug"
-# Begin Group "header"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools.h
-# End Source File
-# End Group
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools_win.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\rep_std_single.cpp
-
-!IF  "$(CFG)" == "rep_std_single - Win32 Release"
-
-# SUBTRACT CPP /YX /Yc /Yu
-
-!ELSEIF  "$(CFG)" == "rep_std_single - Win32 Debug"
-
-!ENDIF 
-
-# End Source File
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/rep_std_single/rep_std_single.dsw b/Cpp/examples/c_cpp/rep_std_single/rep_std_single.dsw
deleted file mode 100644
index 7400020287bf2965852762fc5cc67fe67ab58897..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_std_single/rep_std_single.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNUNG: DIESE ARBEITSBEREICHSDATEI DARF NICHT BEARBEITET ODER GELÖSCHT WERDEN!
-
-###############################################################################
-
-Project: "rep_std_single"=.\rep_std_single.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/Cpp/examples/c_cpp/rep_std_single/rep_std_single.vcproj b/Cpp/examples/c_cpp/rep_std_single/rep_std_single.vcproj
deleted file mode 100644
index f2a2c0cf7338806f94995fbdb106efde5694ab1b..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_std_single/rep_std_single.vcproj
+++ /dev/null
@@ -1,608 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rep_std_single"
-	ProjectGUID="{2611E26D-E32F-4AA0-A9E6-8CF3A36717C5}"
-	RootNamespace="rep_std_single"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rep_std_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rep_std_single.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rep_std_single.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rep_std_single.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rep_std_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rep_std_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rep_std_single.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rep_std_single.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rep_std_single.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rep_std_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rep_std_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rep_std_single.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rep_std_single.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rep_std_single.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rep_std_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rep_std_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rep_std_single.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rep_std_single.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rep_std_single.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rep_std_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="header"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<File
-			RelativePath="rep_std_single.cpp"
-			>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/rep_std_single/rep_std_single.vcxproj b/Cpp/examples/c_cpp/rep_std_single/rep_std_single.vcxproj
deleted file mode 100644
index 3ba32b87d61137f0cd5cb51b9ec104ace684b79c..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_std_single/rep_std_single.vcxproj
+++ /dev/null
@@ -1,265 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{2611E26D-E32F-4AA0-A9E6-8CF3A36717C5}</ProjectGuid>
-    <RootNamespace>rep_std_single</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rep_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rep_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rep_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rep_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rep_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rep_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rep_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rep_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rep_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rep_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rep_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rep_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rep_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rep_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rep_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rep_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="rep_std_single.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/rep_std_single/rep_std_single.vcxproj.filters b/Cpp/examples/c_cpp/rep_std_single/rep_std_single.vcxproj.filters
deleted file mode 100644
index 97671f77ad279587878e3f9936edfc0d5ca6bc23..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/rep_std_single/rep_std_single.vcxproj.filters
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="header">
-      <UniqueIdentifier>{5dba36b6-fb53-4c86-aada-17fc31d82ca4}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl</Extensions>
-    </Filter>
-    <Filter Include="common">
-      <UniqueIdentifier>{2cafaaa2-9f57-4348-b6aa-2d67501e0795}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="rep_std_single.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/sb5_file/sb5_file.cpp b/Cpp/examples/c_cpp/sb5_file/sb5_file.cpp
deleted file mode 100644
index 16de32a0034f300aaf2c1b7325291b662c490805..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/sb5_file/sb5_file.cpp
+++ /dev/null
@@ -1,455 +0,0 @@
-/*
-**************************************************************************
-
-sb5_file.cpp                                             (c) Spectrum GmbH
-
-**************************************************************************
-
-implements the header load and write functions
-
-Feel free to use these functions in your own programs.
-
-**************************************************************************
-*/
-
-#include "sb5_file.h"
-
-#include <string.h>
-
-
-
-/*
-****************************************************************************
-header type information
-****************************************************************************
-*/
-
-#define SH_TYP_MASK                 0xFF000000        // mask for type information
-#define SH_TYP_INT32                0x01000000        // entry is 32 bit integer
-#define SH_TYP_DOUBLE               0x02000000        // entry is 64 bit double 
-#define SH_TYP_TEXT                 0x04000000        // entry is zero terminated string
-#define SH_TYP_DATA                 0x80000000        // entry is the data area
-
-#define SH_CHX_MASK                 0x00FF0000        // mask for channel index
-#define SH_CHX_CH0                  0x00000000        // channel 0
-#define SH_CHX_CH1                  0x00010000        // channel 1
-#define SH_CHX_CH2                  0x00020000        // channel 2
-                                                      // ...
-
-
-/*
-****************************************************************************
-header information
-****************************************************************************
-*/
-
-#define SH_ID_IDMASK                0x0000FFFF      // mask for information id
-#define SH_ID_DATA                  0x80000000      // data area
-#define SH_ID_XOFFSET               0x02000001      // offset x direction (trigger)
-#define SH_ID_XRANGE                0x02000002      // scaling in x direction (1/sampling rate)
-#define SH_ID_YRANGE                0x02000003      // scaling in y direction (voltage)
-#define SH_ID_YOFFSET               0x02000004      // offset y direction
-#define SH_ID_SOURCE                0x04000005      // data source (normally name of generating card)
-#define SH_ID_SAMPLES               0x01000006      // number of samples in file
-#define SH_ID_SIGNALNAME            0x04000007      // name of signal
-#define SH_ID_SIGNALTYP             0x01000008      // type of signal as defined below
-#define SH_ID_TIMESTAMP             0x04000009      // time stamp (just system time)
-#define SH_ID_MULTISEGMENT          0x0100000C      // segment size on Multiple Recording files
-#define SH_ID_SOURCEFS              0x0200000D      // full scale range of source signal (used on FFT display)
-#define SH_ID_MUXCOUNT              0x01000015      // number of multiplexed signals in file
-#define SH_ID_MUXINDEX              0x01000016      // index of multiplexed signals as sorting may be different
-
-
-
-/*
-****************************************************************************
-SBench file identification
-****************************************************************************
-*/
-
-#define SB5DATALEN  10
-#define SB5DATA     "SB5Data___"
-#define SB5STREAM   "SB5Stream_"
-
-
-
-/*
-****************************************************************************
-Some simple read and write routines. All return true if sucessful
-****************************************************************************
-*/
-
-void vWriteHeader (bool* pbOk, FILE* hFile, int32 lId)
-    {
-    if (*pbOk)
-        (*pbOk) = (fwrite (&lId, sizeof(int32), 1, hFile) == 1);
-    }
-
-// *************************************************************************
-
-void vWriteHeader (bool* pbOk, FILE* hFile, int32 lId, int32 lValue)
-    {
-    if (*pbOk)
-        (*pbOk) = (fwrite (&lId, sizeof(int32), 1, hFile) == 1);
-    if (*pbOk)
-        (*pbOk) = (fwrite (&lValue, sizeof (int32), 1, hFile) == 1);
-    }
-
-// *************************************************************************
-
-void vWriteHeader (bool* pbOk, FILE* hFile, int32 lId, double dValue)
-    {
-    if (*pbOk)
-        (*pbOk) = (fwrite (&lId, sizeof(int32), 1, hFile) == 1);
-    if (*pbOk)
-        (*pbOk) = (fwrite (&dValue, sizeof (double), 1, hFile) == 1);
-    }
-
-// *************************************************************************
-
-void vWriteHeader (bool* pbOk, FILE* hFile, int32 lId, const char* pszValue, const char* pszDefault)
-    {
-    int32 lLen ;
-
-    if (pszValue)
-        lLen = (int32) strlen (pszValue) + 1;
-    else
-        lLen = (int32) strlen (pszDefault) + 1;
-
-    if (*pbOk)
-        (*pbOk) = (fwrite (&lId, sizeof(int32), 1, hFile) == 1);
-    if (*pbOk)
-        (*pbOk) = (fwrite (&lLen, sizeof (int32), 1, hFile) == 1);
-    if (*pbOk && pszValue)
-        (*pbOk) = (fwrite (pszValue, lLen, 1, hFile) == 1);
-    if (*pbOk && !pszValue)
-        (*pbOk) = (fwrite (pszDefault, lLen, 1, hFile) == 1);
-    }
-
-
-
-/*
-****************************************************************************
-bSB5_StoreHeader: stores the given header information to an already opened 
-file. The file pointer is afterwards directly at the beginning of the data
-section and plain binary data can be written
-****************************************************************************
-*/
-
-bool bSB5_StoreHeader (FILE* hFile, ST_SB5HEAD* pstHead)
-    {
-    bool    bOk = true;
-
-    if (!hFile)
-        return false;
-
-    // some simple header checks
-    if ((pstHead->lChannels < 0) || (pstHead->lChannels > SB5MAXMUX))
-        return false;
-
-    // go to beginning of file and write identification
-    bOk = !fseek (hFile, 0, SEEK_SET);
-    if (bOk && (pstHead->lChannels == 1))
-        bOk = (fwrite (SB5DATA, SB5DATALEN, 1, hFile) == 1);
-    if (bOk && (pstHead->lChannels > 1))
-        bOk = (fwrite (SB5STREAM, SB5DATALEN, 1, hFile) == 1);
-
-    // multiplex channels
-    if (pstHead->lChannels > 1)
-        vWriteHeader (&bOk, hFile, SH_ID_MUXCOUNT, pstHead->lChannels);
-
-    // we write samples as second as we may need to update this again
-    vWriteHeader (&bOk, hFile, SH_ID_SAMPLES, pstHead->lSumSamples);
-
-    // write data information
-    vWriteHeader (&bOk, hFile, SH_ID_SIGNALTYP, pstHead->lSignalType);
-    vWriteHeader (&bOk, hFile, SH_ID_MULTISEGMENT, pstHead->lMRSegmentsize);
-    vWriteHeader (&bOk, hFile, SH_ID_XOFFSET, pstHead->dXOffset);
-    vWriteHeader (&bOk, hFile, SH_ID_XRANGE, pstHead->dXScale);
-
-    // if strins aren't specified we took defaults
-    vWriteHeader (&bOk, hFile, SH_ID_SIGNALNAME, pstHead->pszSignalName, "SB5File");
-    vWriteHeader (&bOk, hFile, SH_ID_SOURCE, pstHead->pszSource, "<unknown>");
-    vWriteHeader (&bOk, hFile, SH_ID_TIMESTAMP, pstHead->pszTimestamp, "<not specified>");
-
-    // write channel related information
-    for (int i=0; i<pstHead->lChannels; i++)
-        {
-        vWriteHeader (&bOk, hFile, SH_ID_MUXINDEX | ((i << 16) & SH_CHX_MASK), pstHead->plMuxIdx[i]);
-        vWriteHeader (&bOk, hFile, SH_ID_YRANGE   | ((i << 16) & SH_CHX_MASK), pstHead->pdYScale[i]);
-        vWriteHeader (&bOk, hFile, SH_ID_YOFFSET  | ((i << 16) & SH_CHX_MASK), pstHead->pdYOffset[i]);
-        vWriteHeader (&bOk, hFile, SH_ID_SOURCEFS | ((i << 16) & SH_CHX_MASK), pstHead->pdSourceFS[i]);
-        }
-
-    // at last we write the data identifier
-    vWriteHeader (&bOk, hFile, SH_ID_DATA);
-
-    return bOk;
-    }
-
-
-
-/*
-****************************************************************************
-Alloc/Free Header. Allocation of header with all arrays correctly set. 
-Storage for strings need to be allocated separately
-****************************************************************************
-*/
-
-ST_SB5HEAD* pstSB5_AllocHeader (int32 lChannels)
-    {
-    ST_SB5HEAD* pstHeader;
-
-    if ((lChannels < 0) || (lChannels > SB5MAXMUX))
-        return NULL;
-
-    pstHeader = new ST_SB5HEAD;
-    memset (pstHeader, 0, sizeof (ST_SB5HEAD));
-
-    pstHeader->pdSourceFS =     new double[lChannels];
-    pstHeader->pdYOffset =      new double[lChannels];
-    pstHeader->pdYScale =       new double[lChannels];
-    pstHeader->plMuxIdx =       new int32[lChannels];
-    pstHeader->lChannels =      lChannels;
-
-    return pstHeader;
-    }
-
-// *************************************************************************
-
-void vSB5_FreeHeader (ST_SB5HEAD* pstHeader)
-    {
-    if (!pstHeader)
-        return;
-
-    delete [] (pstHeader->pdSourceFS);
-    delete [] (pstHeader->pdYOffset);
-    delete [] (pstHeader->pdYScale);
-    delete [] (pstHeader->plMuxIdx);
-    if (pstHeader->pszSignalName)
-        delete [] (pstHeader->pszSignalName);
-    if (pstHeader->pszSource)
-        delete [] (pstHeader->pszSource);
-    if (pstHeader->pszTimestamp)
-        delete [] (pstHeader->pszTimestamp);
-
-    delete (pstHeader);
-    }
-
-
-
-/*
-****************************************************************************
-bSB5_UpdateSamples: tries to update the samples settings at the end of 
-writing if this information wasn#t known when writing the header information
-as usually on streaming files.
-****************************************************************************
-*/
-    
-bool bSB5_UpdateSamples (FILE* hFile, int32 lSamples)
-    {
-    bool    bOk = true;
-    int32   lPos;
-    int32   plEntry[2];
-
-    // search for samples, it's either first or second
-    bOk = !fseek (hFile, SB5DATALEN, SEEK_SET);
-    while (bOk)
-        {
-        lPos = ftell (hFile);
-        bOk = (fread (plEntry, sizeof(int32), 2, hFile) == 2);
-        if (bOk && plEntry[0] == SH_ID_SAMPLES)
-            {
-            bOk = !fseek (hFile, lPos, SEEK_SET);
-            vWriteHeader (&bOk, hFile, SH_ID_SAMPLES, lSamples);
-            return true;
-            }
-        }
-
-    return false;
-    }
-
-
-
-/*
-****************************************************************************
-pstSB5_LoadHeader: load the header information from an already opened file. 
-The file pointer is afterwards directly at the beginning of the data
-section and plain binary data can be read
-****************************************************************************
-*/
-
-#define MAXTEXTLEN 1024
-
-ST_SB5HEAD* pstSB5_LoadHeader (FILE* hFile)
-    {
-    ST_SB5HEAD* pstHeader;
-    bool        bOk;
-    int32       lChannels = 0;
-    int32       lId, lValue, lLen, lCh;
-    double      dValue;
-    char        szBuffer[MAXTEXTLEN];
-    int         i;
-
-    if (!hFile)
-        return NULL;
-
-    // examine the identification tag
-    bOk = (fread (szBuffer, SB5DATALEN, 1, hFile) == 1);
-    if (!bOk)
-        return NULL;
-
-    // check for file type
-    if (strncmp (szBuffer, SB5STREAM, SB5DATALEN) == 0)
-        {
-        bOk = (fread (&lId, sizeof(int32), 1, hFile) == 1);
-        if (!bOk || (lId != SH_ID_MUXCOUNT))
-            return NULL;
-        bOk = (fread (&lChannels, sizeof (int32), 1, hFile) == 1);
-        }
-    else if (strncmp (szBuffer, SB5DATA, SB5DATALEN) == 0)
-        lChannels = 1;
-    else
-        return NULL;
-
-    // check number of channels
-    if (!bOk || (lChannels < 0) || (lChannels > SB5MAXMUX))
-        return NULL;
-
-    // now we know that the file type is correct and we know which tpye it is
-    pstHeader = pstSB5_AllocHeader (lChannels);
-
-    // we predefine the mux signals in case that we don't find them
-    for (i=0; i<lChannels; i++)
-        pstHeader->plMuxIdx[i] = i;
-
-    // now we loop through the complete header and fill our details
-    while (bOk)
-        {
-
-        // ----- read the entry -----
-        bOk = (fread (&lId, sizeof(int32), 1, hFile) == 1);
-        if (bOk)
-            switch (lId & SH_TYP_MASK)
-                {
-
-                // if we find the data tag, we're done
-                case SH_TYP_DATA:
-                    return pstHeader;
-
-                // int32 entry
-                case SH_TYP_INT32:
-                    bOk = (fread (&lValue, sizeof(int32), 1, hFile) == 1);
-                    break;
-
-                // double entry
-                case SH_TYP_DOUBLE:
-                    bOk = (fread (&dValue, sizeof(double), 1, hFile) == 1);
-                    break;
-
-                // text entry
-                case SH_TYP_TEXT:
-                    bOk = (fread (&lLen, sizeof(int32), 1, hFile) == 1);
-                    if (lLen > (MAXTEXTLEN - 1))
-                        bOk = false;
-                    if (bOk)
-                        {
-                        bOk = (fread (szBuffer, lLen, 1, hFile) == 1);
-                        szBuffer[lLen] = 0;
-                        }
-                    break;
-
-                // unknown entry
-                default:
-                    bOk = false;
-                    break;
-                } // switch (lId & SH_TYP_MASK)
-
-        // ----- fill entry in header -----
-        if (bOk)
-            switch (lId & ~SH_CHX_MASK)
-                {
-                case SH_ID_XOFFSET:         
-                    pstHeader->dXOffset = dValue; 
-                    break;
-
-                case SH_ID_XRANGE:          
-                    pstHeader->dXScale = dValue; 
-                    break;
-
-                case SH_ID_SAMPLES:         
-                    pstHeader->lSumSamples = lValue; 
-                    break;
-
-                case SH_ID_SIGNALTYP:
-                    pstHeader->lSignalType = lValue; 
-                    break;
-
-                case SH_ID_MULTISEGMENT:    
-                    pstHeader->lMRSegmentsize = lValue; 
-                    break;
-
-                case SH_ID_SOURCE:
-                    pstHeader->pszSource = new char[strlen(szBuffer) + 1]; 
-                    strcpy (pstHeader->pszSource, szBuffer);
-                    break;
-
-                case SH_ID_SIGNALNAME:
-                    pstHeader->pszSignalName = new char[strlen(szBuffer) + 1]; 
-                    strcpy (pstHeader->pszSignalName, szBuffer);
-                    break;
-
-                case SH_ID_TIMESTAMP:
-                    pstHeader->pszTimestamp = new char[strlen(szBuffer) + 1]; 
-                    strcpy (pstHeader->pszTimestamp, szBuffer);
-                    break;
-
-                case SH_ID_YRANGE:
-                    lCh = (lId >> 16) & 0x0f;
-                    if (lCh > (lChannels - 1))
-                        bOk = false;
-                    else
-                        pstHeader->pdYScale[lCh] = dValue;
-                    break;
-
-                case SH_ID_YOFFSET:
-                    lCh = (lId >> 16) & 0x0f;
-                    if (lCh > (lChannels - 1))
-                        bOk = false;
-                    else
-                        pstHeader->pdYOffset[lCh] = dValue;
-                    break;
-
-                case SH_ID_SOURCEFS:
-                    lCh = (lId >> 16) & 0x0f;
-                    if (lCh > (lChannels - 1))
-                        bOk = false;
-                    else
-                        pstHeader->pdSourceFS[lCh] = dValue;
-                    break;
-
-                case SH_ID_MUXINDEX:
-                    lCh = (lId >> 16) & 0x0f;
-                    if (lCh > (lChannels - 1))
-                        bOk = false;
-                    else
-                        pstHeader->plMuxIdx[lCh] = lValue;
-                    break;
-
-                default:
-                    break;
-
-                } // switch (lId)
-
-        } // while (bOk)
-
-
-    // something failed
-    if (!bOk)
-        {
-        vSB5_FreeHeader (pstHeader);
-        pstHeader = NULL;
-        }
-    return pstHeader;
-    }
-
diff --git a/Cpp/examples/c_cpp/sb5_file/sb5_file.h b/Cpp/examples/c_cpp/sb5_file/sb5_file.h
deleted file mode 100644
index 7ec1879efbd3067bc27ea78a492f7b9af85f6c9e..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/sb5_file/sb5_file.h
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
-**************************************************************************
-
-sb5_file.h                                     (c) Spectrum GmbH , 01/2006
-
-**************************************************************************
-
-offers defintions and functions to handle files of SBench5 format. The
-functions handle both *.sb5 data files for single channels and *.sbs data
-files for streaming files with multiplexed data.
-
-If using the storage functions please be sure to use the correct file 
-names if you wish to open the files under SBench5.
-
-Feel free to use these functions in your own programs.
-
-**************************************************************************
-*/
-
-#ifndef SB5_FILE_H
-#define SB5_FILE_H
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-
-
-
-/*
-****************************************************************************
-signal types
-****************************************************************************
-*/
-
-#define SIGNAL_TYP_TYPMASK            0xFF000000        // mask for signal type
-#define SIGNAL_TYP_ALL                0xFF000000
-#define SIGNAL_TYP_ANALOGTIME         0x01000000        // analog signal
-#define SIGNAL_TYP_DIGITALTIME        0x02000000        // digital signal
-#define SIGNAL_TYP_FFT                0x04000000        // fft signal
-#define SIGNAL_TYP_ANADIGTIME         0x10000000        // mixed analog/digital signal, digital bits in upper bits of analog signal
-#define SIGNAL_TYP_ANALOGSTREAM       0x20000000        // analog multiplexed stream 
-#define SIGNAL_TYP_DIGITALSTREAM      0x40000000        // digital multiplexed stream 
-#define SIGNAL_TYP_ANADIGSTREAM       0x80000000        // mixed analog/digital multiplexed stream
-
-
-
-/*
-****************************************************************************
-sample bit width (coded in signaltype)
-****************************************************************************
-*/
-
-#define SIGNAL_TYP_BITMASK          0x000000FF
-#define SIGNAL_TYP_2BIT             0x00000002
-#define SIGNAL_TYP_4BIT             0x00000004
-#define SIGNAL_TYP_6BIT             0x00000006
-#define SIGNAL_TYP_8BIT             0x00000008
-#define SIGNAL_TYP_10BIT            0x0000000A
-#define SIGNAL_TYP_12BIT            0x0000000C
-#define SIGNAL_TYP_14BIT            0x0000000E
-#define SIGNAL_TYP_16BIT            0x00000010
-#define SIGNAL_TYP_FLOAT            0x00000040
-
-
-
-/*
-****************************************************************************
-sample byte width (coded in signal type)
-****************************************************************************
-*/
-
-#define SIGNAL_TYP_BYTEMASK         0x00000F00
-#define SIGNAL_TYP_1BYTE            0x00000100
-#define SIGNAL_TYP_2BYTE            0x00000200
-#define SIGNAL_TYP_4BYTE            0x00000400
-
-
-
-
-/*
-****************************************************************************
-sb5 header information structure
-If reading header be sure to have storage space for SB5MAXMUX for all 
-channel related information.
-****************************************************************************
-*/
-
-// maximum number of multiplexed channels
-#define SB5MAXMUX   16
-
-struct ST_SB5HEAD
-    {
-    int32   lSignalType;    // signal type as defined above, be sure to include type, bit width and byte width
-    char*   pszSignalName;  // name of the signal
-    char*   pszSource;      // source (normally generating card)
-    char*   pszTimestamp;   // generating timestamp
-    int32   lChannels;      // number of channels stored
-    int32   lSumSamples;    // number of stored samples in total (SamplesPerChannel * Channels)
-    int32   lMRSegmentsize; // size of one segment in multiple reoording files
-    double  dXOffset;       // offset in x direction (trigger position)
-    double  dXScale;        // x direction scaling (1/sampling rate)
-    double* pdYScale;       // array with y scaling information for each channel
-    double* pdYOffset;      // array with y offset information for each channel
-    double* pdSourceFS;     // array with full scale ranges of source signal
-    int32*  plMuxIdx;       // array with multiplex indexes of each channel
-    };
-
-
-
-/*
-****************************************************************************
-bSB5_StoreHeader: stores the given header information to an already opened 
-file. The file pointer is afterwards directly at the beginning of the data
-section and plain binary data can be written
-****************************************************************************
-*/
-
-// allocates an empty header structure with correct arrays for channel parameters
-ST_SB5HEAD* pstSB5_AllocHeader (int32 lChannels);
-
-// frees the header structure
-void vSB5_FreeHeader (ST_SB5HEAD* pstHeader);
-
-// the store function
-bool bSB5_StoreHeader (             // returns true if storage succeeded
-    FILE*           hFile,          // file handle of an already opened empty file
-    ST_SB5HEAD*     pstHeader);     // pointer to a filled header structure, be sure to fill all values correctly
-
-
-
-/*
-****************************************************************************
-bSB5_UpdateSamples: tries to update the samples settings at the end of 
-writing if this information wasn#t known when writing the header information
-as usually on streaming files.
-****************************************************************************
-*/
-    
-bool bSB5_UpdateSamples (           // returns true if update succeeded
-    FILE*           hFile,          // file handle of an already opened empty file
-    int32           lSamples);      // samples value to update
-
-
-
-/*
-****************************************************************************
-bSB5_LoadHeader: load the header information from an already opened file. 
-The file pointer is afterwards directly at the beginning of the data
-section and plain binary data can be read
-****************************************************************************
-*/
-
-ST_SB5HEAD* pstSB5_LoadHeader (     // returns pointer to new allocated and filled header or NULL if an error occurs
-    FILE*           hFile);         // file handle of an already opened empty file
-
-
-#endif
diff --git a/Cpp/examples/c_cpp/sb6_read_purebinary/main.cpp b/Cpp/examples/c_cpp/sb6_read_purebinary/main.cpp
deleted file mode 100644
index b4223e4d4a0db5960f1ae35de8bc7ee1683309a5..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/sb6_read_purebinary/main.cpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
-**************************************************************************
-
-sb6_read_purebinary.cpp                                      (c) Spectrum GmbH
-
-**************************************************************************
-
-Example shows how to read a SBench6 pure binary export file
-  
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-#include "sb6_read_purebinary.h"
-#include <iostream>
-#include <iomanip>
-
-#define FILE_ANLOG   0
-#define FILE_DIGITAL 1 
-
-using namespace std;
-
-int main ()
-    {
-    HeaderInfo stHeaderInfo;
-    vector <float*> vpfChData;
-    vector <unsigned char*> vpbyChData;
-
-    // set path to pure binary file
-    string sPureBinaryFilePath = "export.bin";
-
-    // create path to header file
-    string sHeaderFilePath = sPureBinaryFilePath;
-    sHeaderFilePath = sHeaderFilePath.erase (sHeaderFilePath.find_last_of (".")) + "_binheader.txt"; 
-
-    // read infos from header file and store them in header info struct
-    if (SB6_bReadPureBinaryHeaderInfos (sHeaderFilePath, stHeaderInfo))
-        {
-        // this example reads only pure analog or pure digital files
-        if (stHeaderInfo.dwNumAChannels > 0 && stHeaderInfo.dwNumDChannels > 0)
-            return 0;
-
-        int lFileType = FILE_ANLOG;
-        if (stHeaderInfo.dwNumDChannels > 0)
-            lFileType = FILE_DIGITAL;
-
-        switch (lFileType)
-            {
-            case FILE_ANLOG:
-                // read data from binary file.
-                // data is stored in vector:
-                // vector[0] => data for channel 0
-                // vector[1] => data for channel 1
-                // ...
-                // vector[n] => data for channel n
-                vpfChData = SB6_ReadPureBinaryFileAnalog (sPureBinaryFilePath, stHeaderInfo);
-        
-                if (vpfChData.size ())
-                    {
-                    // plot first 32 samples for each channel
-                    for (uint32 dwChIdx = 0; dwChIdx < vpfChData.size (); dwChIdx++)
-                        {
-                        cout << "Plot first 32 samples of " + stHeaderInfo.vstChInfos[dwChIdx].sName + ":" << endl;
-                        for (uint64 qwDataIdx = 0; qwDataIdx < stHeaderInfo.qwLen && qwDataIdx < 32; qwDataIdx++)
-                            cout << vpfChData[dwChIdx][qwDataIdx] << " mV\n";
-
-                        cout << endl;
-                        }
-
-                    // free memory
-                    SB6_vClearChData (vpfChData);
-                    }
-                break;
-
-            case FILE_DIGITAL:
-                // read data from binary file.
-                // data is stored in vector:
-                // vector[0] => data for digital channel group D07-D00
-                // vector[1] => data for digital channel group D15-D08
-                // vector[2] => data for digital channel group D23-D16
-                // vector[3] => data for digital channel group D31-D24
-                // ... 
-
-                vpbyChData = SB6_ReadPureBinaryFileDigital (sPureBinaryFilePath, stHeaderInfo);
-
-                if (vpbyChData.size ())
-                    {
-                    int lMaxDigChIndex = 8 * vpbyChData.size () - 1;
-
-                    cout << "Plot first 128 samples for each channel:\n";
-
-                    for (uint64 qwDataIdx = 0; qwDataIdx < stHeaderInfo.qwLen && qwDataIdx < 128; qwDataIdx++)
-                        {
-                        cout << "[D" << dec << lMaxDigChIndex << "-D0]: 0x";
-                        for (int32 lChGroupIdx = vpbyChData.size () - 1; lChGroupIdx >= 0; lChGroupIdx--)
-                            cout << hex << setfill ('0') << setw (2) << (uint16)vpbyChData[lChGroupIdx][qwDataIdx];
-                           
-                        cout << endl;
-                        }
-
-                    // free memory
-                    SB6_vClearChData (vpbyChData);
-                    }
-                break;
-            }
-        }
-    
-    return 0;
-    }
diff --git a/Cpp/examples/c_cpp/sb6_read_purebinary/makefile b/Cpp/examples/c_cpp/sb6_read_purebinary/makefile
deleted file mode 100644
index 990b925f1c06deb67a58fc0a3f7757c0d69f3c90..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/sb6_read_purebinary/makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-COMPILER =   	g++
-EXECUTABLE = 	sb6_read_purebinary
-LIBS += 	-lpthread -lrt
-
-OBJECTS = 	main.o\
-            sb6_read_purebinary.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS) 
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/sb6_read_purebinary/sb6_read_purebinary.cpp b/Cpp/examples/c_cpp/sb6_read_purebinary/sb6_read_purebinary.cpp
deleted file mode 100644
index b580d04abb9337188903da67b8f4e608cb33df2e..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/sb6_read_purebinary/sb6_read_purebinary.cpp
+++ /dev/null
@@ -1,522 +0,0 @@
-/*
-**************************************************************************
-
-sb6_read_purebinary.cpp                                      (c) Spectrum GmbH
-
-**************************************************************************
-
-Example shows how to read a SBench6 pure binary export file
-  
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-#include "sb6_read_purebinary.h"
-#include <fstream>
-#include <cstring>
-
-using namespace std;
-
-/*
-**************************************************************************
-SB6_bReadPureBinaryHeaderInfos
-**************************************************************************
-*/
-
-bool SB6_bReadPureBinaryHeaderInfos (string sHeaderFilePath, HeaderInfo &stHeaderInfo)
-    {
-    string sLine, sValue; 
-
-    ifstream oFileStream (sHeaderFilePath);
-    if (!oFileStream.is_open ())
-        return false;
-
-    memset (&stHeaderInfo, 0, sizeof (stHeaderInfo));
-
-    int32 lCurrentChIndex = -1;
-    
-    while (getline (oFileStream, sLine))
-        {
-        if (sLine.find ("[Ch") == 0)
-            {
-            lCurrentChIndex = -1;
-
-            uint32 dwDigitStart = 3;
-            uint32 dwDigitEnd   = sLine.find_last_of ("]");
-
-            if (dwDigitEnd < string::npos)
-                {
-                sValue = sLine.substr (dwDigitStart, dwDigitEnd - dwDigitStart);
-                lCurrentChIndex = stol (sValue.c_str ());
-                for (int32 lIdx = stHeaderInfo.vstChInfos.size (); lIdx < lCurrentChIndex + 1; lIdx++)
-                    stHeaderInfo.vstChInfos.push_back (ChannelInfo ());
-                }
-            }
-           
-        if (sLine.find ("Name") == 0 && lCurrentChIndex >= 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 2);
-            stHeaderInfo.vstChInfos[lCurrentChIndex].sName = sValue;
-            }
-
-        if (sLine.find ("XUnit") == 0 && lCurrentChIndex >= 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 2);
-            stHeaderInfo.vstChInfos[lCurrentChIndex].sXUnit = sValue;
-            }
-
-        if (sLine.find ("YUnit") == 0 && lCurrentChIndex >= 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 2);
-            stHeaderInfo.vstChInfos[lCurrentChIndex].sYUnit = sValue;
-            }
-
-        if (sLine.find ("Description") == 0 && lCurrentChIndex >= 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 2);
-            stHeaderInfo.vstChInfos[lCurrentChIndex].sDescription = sValue;
-            }
-
-        if (sLine.find ("MaxRange") == 0 && lCurrentChIndex >= 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.vstChInfos[lCurrentChIndex].dMaxRange = stod (sValue.c_str ());
-            }
-
-        if (sLine.find ("MinRange") == 0 && lCurrentChIndex >= 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.vstChInfos[lCurrentChIndex].dMinRange = stod (sValue.c_str ());
-            }
-            
-         if (sLine.find ("OrigMaxRange") == 0 && lCurrentChIndex >= 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.vstChInfos[lCurrentChIndex].lOrigMaxRange = stol (sValue.c_str ());
-            }
-
-          if (sLine.find ("OrigMinRange") == 0 && lCurrentChIndex >= 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.vstChInfos[lCurrentChIndex].lOrigMinRange = stol (sValue.c_str ());
-            }
-
-           if (sLine.find ("UserOffset") == 0 && lCurrentChIndex >= 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.vstChInfos[lCurrentChIndex].lUserOffset = stol (sValue.c_str ());
-            }
-
-        if (sLine.find ("NumAChannels") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.dwNumAChannels = stoul (sValue.c_str ());
-            continue;
-            }
-
-        if (sLine.find ("NumDChannels") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.dwNumDChannels = stoul (sValue.c_str ());
-            continue;
-            }
-
-        if (sLine.find ("FileFlags") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.dwFileFlags = stoul (sValue.c_str ());
-            continue;
-            }
-
-        if (sLine.find ("DataEncoding") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.dwDataEncoding = stoul (sValue.c_str ());
-            continue;
-            }
-
-        if (sLine.find ("ChannelSorting") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.dwChannelSorting = stoul (sValue.c_str ());
-            continue;
-            }
-
-        if (sLine.find ("TSSize") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.dwTSSize = stoul (sValue.c_str ());
-            continue;
-            }
-
-        if (sLine.find ("RawDataFormat") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.dwRawDataFormat = stoul (sValue.c_str ());
-            continue;
-            }
-
-        if (sLine.find ("StoreDate") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.dwStoreDate = stoul (sValue.c_str ());
-            continue;
-            }
-
-        if (sLine.find ("StoreTime") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.dwStoreTime = stoul (sValue.c_str ());
-            continue;
-            }
-
-        if (sLine.find ("LenH") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.qwLen = (static_cast <uint64> (stoul (sValue.c_str ())) << 32) | (stHeaderInfo.qwLen & 0xFFFFFFFF);
-            continue;
-            }
-
-        if (sLine.find ("LenL") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.qwLen = (stHeaderInfo.qwLen & 0xFFFFFFFF00000000) | static_cast <uint64> (stoul (sValue.c_str ()));
-            continue;
-            }
-
-        if (sLine.find ("PostH") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.qwPost = (static_cast <uint64> (stoul (sValue.c_str ())) << 32) | (stHeaderInfo.qwPost & 0xFFFFFFFF);
-            continue;
-            }
-
-        if (sLine.find ("PostL") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.qwPost = (stHeaderInfo.qwPost & 0xFFFFFFFF00000000) | static_cast <uint64> (stoul (sValue.c_str ()));
-            continue;
-            }
-
-        if (sLine.find ("SegmentH") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.qwSegment = (static_cast <uint64> (stoul (sValue.c_str ())) << 32) | (stHeaderInfo.qwSegment & 0xFFFFFFFF);
-            continue;
-            }
-
-        if (sLine.find ("SegmentL") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.qwSegment = (stHeaderInfo.qwSegment & 0xFFFFFFFF00000000) | static_cast <uint64> (stoul (sValue.c_str ()));
-            continue;
-            }
-
-        if (sLine.find ("Pretrigger") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.dwPretrigger = stoul (sValue.c_str ());
-            continue;
-            }
-
-        if (sLine.find ("Resolution") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.dwResolution = stoul (sValue.c_str ());
-            continue;
-            }
-
-        if (sLine.find ("Samplerate") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.qwSamplerate = stoull (sValue.c_str ());
-            continue;
-            }
-
-        if (sLine.find ("TrigPosH") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.qwTrigPos = (static_cast <uint64> (stoul (sValue.c_str ())) << 32) | (stHeaderInfo.qwTrigPos & 0xFFFFFFFF);
-            continue;
-            }
-
-        if (sLine.find ("TrigPosL") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.qwTrigPos = (stHeaderInfo.qwTrigPos & 0xFFFFFFFF00000000) | static_cast <uint64> (stoul (sValue.c_str ()));
-            continue;
-            }
-
-        if (sLine.find ("TrigDelayH") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.qwTrigDelay = (static_cast <uint64> (stoul (sValue.c_str ())) << 32) | (stHeaderInfo.qwTrigDelay & 0xFFFFFFFF);
-            continue;
-            }
-
-        if (sLine.find ("TrigDelayL") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.qwTrigDelay = (stHeaderInfo.qwTrigDelay & 0xFFFFFFFF00000000) | static_cast <uint64> (stoul (sValue.c_str ()));
-            continue;
-            }
-
-        if (sLine.find ("OffsetH") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.qwOffset = (static_cast <uint64> (stoul (sValue.c_str ())) << 32) | (stHeaderInfo.qwOffset & 0xFFFFFFFF);
-            continue;
-            }
-
-        if (sLine.find ("OffsetL") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.qwOffset = (stHeaderInfo.qwOffset & 0xFFFFFFFF00000000) | static_cast <uint64> (stoul (sValue.c_str ()));
-            continue;
-            }
-
-        if (sLine.find ("Flags") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.dwFlags = stoul (sValue.c_str ());
-            continue;
-            }
-
-        if (sLine.find ("ABADivider") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.dwABADivider = stoul (sValue.c_str ());
-            continue;
-            }
-
-        if (sLine.find ("SlowABALenH") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.qwSlowABALen = (static_cast <uint64> (stoul (sValue.c_str ())) << 32) | (stHeaderInfo.qwSlowABALen & 0xFFFFFFFF);
-            continue;
-            }
-
-        if (sLine.find ("SlowABALenL") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.qwSlowABALen = (stHeaderInfo.qwSlowABALen & 0xFFFFFFFF00000000) | static_cast <uint64> (stoul (sValue.c_str ()));
-            continue;
-            }
-
-        if (sLine.find ("MaxADCValue") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.dwMaxADCValue = stoul (sValue.c_str ());
-            continue;
-            }
-
-        if (sLine.find ("TSRefClock") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.dwTSRefClock = stoul (sValue.c_str ());
-            continue;
-            }
-
-        if (sLine.find ("OversamplingFactor") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.dwOversamplingFactor = stoul (sValue.c_str ());
-            continue;
-            }
-
-        if (sLine.find ("TSSamplerate") == 0)
-            {
-            sValue = sLine.substr (sLine.find_last_of ("=") + 1);
-            stHeaderInfo.qwTSSamplerate = stoull (sValue.c_str ());
-            continue;
-            }
-        }
-
-    return true;
-    }
-
-/*
-**************************************************************************
-SB6_ReadPureBinaryFileAnalog
-**************************************************************************
-*/
-
-vector <float*> SB6_ReadPureBinaryFileAnalog (string sFilePath, HeaderInfo stHeaderInfo, uint64 qwLengthSamples, uint64 qwOffsetSamples)
-    {
-    char *pbyDataBuffer = NULL;
-    int16 *pnDataBuffer = NULL;
-    uint64 qwLengthPerCh = 0;
-    
-    vector <float*> vpfChData;
-
-    ifstream oFileStream (sFilePath, ios::binary);
-    if (oFileStream.is_open ())
-        {
-        // get number of channels from header file
-        uint32 dwNumCh = stHeaderInfo.dwNumAChannels;
-           
-        // check number of available channel infos
-        if (dwNumCh > stHeaderInfo.vstChInfos.size ())
-            return vpfChData;
-
-        // get resolution info from header file
-        uint32 dwBytesPerSample = 1;
-        if (stHeaderInfo.dwResolution > 8)
-            dwBytesPerSample = 2;
-
-        // if length parameter is not set read complete data
-        if (qwLengthSamples > 0)
-            qwLengthPerCh = qwLengthSamples;
-        else
-            qwLengthPerCh = stHeaderInfo.qwLen;
-
-        // adjust MaxADCValue if this is not set
-        if (!stHeaderInfo.dwMaxADCValue)
-            stHeaderInfo.dwMaxADCValue = 1;
-
-        // calculate buffer size in bytes
-        uint64 qwBufferLength = dwNumCh * dwBytesPerSample * qwLengthPerCh;
-
-        // allocate buffer memory
-        pbyDataBuffer = new char[(size_t)qwBufferLength];
-    
-        // allocate memory for each channel
-        for (uint32 dwChIdx = 0; dwChIdx < dwNumCh; dwChIdx++)
-            vpfChData.push_back (new float[(size_t)qwLengthPerCh]);
-
-        // set data offset
-        if (qwOffsetSamples > 0)
-            {
-            // calculate offset in bytes
-            uint64 qwOffsetBytes = dwBytesPerSample * dwNumCh * qwOffsetSamples;
-            oFileStream.seekg (qwOffsetBytes, ios::beg);
-            }
-
-        // read data from file
-        oFileStream.read (pbyDataBuffer, qwBufferLength);
-
-        uint64 qwDataIdx = 0;
-        
-        pnDataBuffer = (int16*)pbyDataBuffer;
-        for (uint64 qwBufferIdx = 0; qwBufferIdx < qwBufferLength / (uint64)dwBytesPerSample; qwBufferIdx += dwNumCh)
-            {
-            // calculate voltage values for each channel
-            for (uint32 dwChIdx = 0; dwChIdx < dwNumCh; dwChIdx++)
-                {
-                if (dwBytesPerSample == 2)
-                    vpfChData[dwChIdx][qwDataIdx] = (float)(pnDataBuffer[qwBufferIdx + dwChIdx] * stHeaderInfo.vstChInfos[dwChIdx].lOrigMaxRange) / (float)stHeaderInfo.dwMaxADCValue;
-                else
-                    vpfChData[dwChIdx][qwDataIdx] = (float)(pbyDataBuffer[qwBufferIdx + dwChIdx] * stHeaderInfo.vstChInfos[dwChIdx].lOrigMaxRange) / (float)stHeaderInfo.dwMaxADCValue;
-                }
-                    
-            qwDataIdx++;
-            }
-          
-        // free buffer memory
-        delete[] pbyDataBuffer;
-        }
-    
-    return vpfChData;
-    }
-
-/*
-**************************************************************************
-SB6_ReadPureBinaryFileDigital
-**************************************************************************
-*/
-
-vector <unsigned char*> SB6_ReadPureBinaryFileDigital (string sFilePath, HeaderInfo stHeaderInfo, uint64 qwLengthSamples, uint64 qwOffsetSamples)
-    {
-    char *pbyDataBuffer = NULL;
-    uint64 qwLengthPerCh = 0;
-    uint32 dwNumCh = 0;
-    uint32 dwDigitalGroup = 0;
-    
-    vector <unsigned char*> vpbyChData;
-
-    ifstream oFileStream (sFilePath, ios::binary);
-    if (oFileStream.is_open ())
-        {
-        // get number of channels from header file
-        dwNumCh = stHeaderInfo.dwNumDChannels;
-        dwDigitalGroup = dwNumCh / 8;
-
-        // check number of available channel infos
-        if (dwNumCh > stHeaderInfo.vstChInfos.size ())
-            return vpbyChData;
-
-        // if length parameter is not set read complete data
-        if (qwLengthSamples > 0)
-            qwLengthPerCh = qwLengthSamples;
-        else
-            qwLengthPerCh = stHeaderInfo.qwLen;
-
-        // calculate buffer size in bytes
-        uint64 qwBufferLength = dwDigitalGroup * qwLengthPerCh;
-        
-        // allocate buffer memory
-        pbyDataBuffer = new char[(size_t)qwBufferLength];
-    
-        // allocate memory for each digital channel group
-        for (uint32 dwGroupIdx = 0; dwGroupIdx < dwDigitalGroup; dwGroupIdx++)
-            vpbyChData.push_back (new unsigned char[(size_t)qwLengthPerCh]);
-
-        // set data offset
-        if (qwOffsetSamples > 0)
-            {
-            // calculate offset in bytes
-            uint64 qwOffsetBytes = dwDigitalGroup * qwOffsetSamples;
-            oFileStream.seekg (qwOffsetBytes, ios::beg);
-            }
-
-        // read data from file
-        oFileStream.read (pbyDataBuffer, qwBufferLength);
-
-        uint64 qwDataIdx = 0;
-
-        for (uint64 qwBufferIdx = 0; qwBufferIdx < qwBufferLength; qwBufferIdx += dwDigitalGroup)
-            {
-            for (uint32 dwGroupIdx = 0; dwGroupIdx < dwDigitalGroup; dwGroupIdx++)
-                vpbyChData[dwGroupIdx][qwDataIdx] = pbyDataBuffer[qwBufferIdx + dwGroupIdx];
-            
-            qwDataIdx++;
-            }
-
-        // free buffer memory
-        delete[] pbyDataBuffer;
-        }
-
-    return vpbyChData;
-    }
-
-/*
-**************************************************************************
-SB6_vClearChData
-**************************************************************************
-*/
-
-void SB6_vClearChData (vector <float*> &vpfChData)
-    {
-    // free memory for each channel
-    for (uint32 dwChIdx = 0; dwChIdx < vpfChData.size (); dwChIdx++)
-        delete[] vpfChData[dwChIdx];
-
-    vpfChData.clear ();
-    }
-
-void SB6_vClearChData (vector <unsigned char*> &vpbyChData)
-    {
-    // free memory for each channel
-    for (uint32 dwChIdx = 0; dwChIdx < vpbyChData.size (); dwChIdx++)
-        delete[] vpbyChData[dwChIdx];
-
-    vpbyChData.clear ();
-    }
diff --git a/Cpp/examples/c_cpp/sb6_read_purebinary/sb6_read_purebinary.h b/Cpp/examples/c_cpp/sb6_read_purebinary/sb6_read_purebinary.h
deleted file mode 100644
index a52a01759342b33b122cfe7a659ae4e52ab5aa13..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/sb6_read_purebinary/sb6_read_purebinary.h
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef SB6_READ_PUREBINARY_H
-#define SB6_READ_PUREBINARY_H
-
-#include "../c_header/dlltyp.h"
-#include <string>
-#include <vector>
-
-struct ChannelInfo
-    {
-    std::string sName;
-    std::string sXUnit;
-    std::string sYUnit;
-    std::string sDescription;
-    double dMaxRange;
-    double dMinRange;
-    int32 lOrigMaxRange;
-    int32 lOrigMinRange;
-    int32 lUserOffset;
-    };
-
-struct HeaderInfo 
-    {
-    uint32 dwNumAChannels;
-    uint32 dwNumDChannels;
-    uint32 dwFileFlags;
-    uint32 dwDataEncoding;
-    uint32 dwChannelSorting;
-    uint32 dwTSSize;
-    uint32 dwRawDataFormat;
-    uint32 dwStoreDate;
-    uint32 dwStoreTime;
-    uint64 qwLen;
-    uint64 qwPost;
-    uint64 qwSegment;
-    uint32 dwPretrigger;
-    uint32 dwResolution;
-    int64  qwSamplerate;
-    uint64 qwTrigPos;
-    uint64 qwTrigDelay;
-    uint64 qwOffset;
-    uint32 dwFlags;
-    uint32 dwABADivider;
-    uint64 qwSlowABALen;
-    uint32 dwMaxADCValue;
-    uint32 dwTSRefClock;
-    uint32 dwOversamplingFactor;
-    int64  qwTSSamplerate;
-    std::vector <ChannelInfo> vstChInfos;
-    };
-
-bool SB6_bReadPureBinaryHeaderInfos (std::string sHeaderFilePath, HeaderInfo &stHeaderInfo);
-std::vector <float*> SB6_ReadPureBinaryFileAnalog (std::string sFilePath, HeaderInfo stHeaderInfo, uint64 qwLength = 0, uint64 qwOffset = 0);
-std::vector <unsigned char*> SB6_ReadPureBinaryFileDigital (std::string sFilePath, HeaderInfo stHeaderInfo, uint64 qwLength = 0, uint64 qwOffset = 0);
-void SB6_vClearChData (std::vector <float*> &vpfChData);
-void SB6_vClearChData (std::vector <unsigned char*> &vpbyChData);
-
-#endif // SB6_READ_PUREBINARY_H
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/sb6_read_purebinary/sb6_read_purebinary.vcxproj b/Cpp/examples/c_cpp/sb6_read_purebinary/sb6_read_purebinary.vcxproj
deleted file mode 100644
index ce6eb3118c4f36bb0a4c4efc2fc4d8aea8ca370e..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/sb6_read_purebinary/sb6_read_purebinary.vcxproj
+++ /dev/null
@@ -1,159 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{9DACF3ED-C24B-4358-B7F9-EC1F743B3254}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-    <RootNamespace>sb6_read_purebinary</RootNamespace>
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v140</PlatformToolset>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v140</PlatformToolset>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v140</PlatformToolset>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v140</PlatformToolset>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Label="Shared">
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-    </ClCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <ClCompile>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-    </ClCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-    </ClCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-    </ClCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="sb6_read_purebinary.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="main.cpp" />
-    <ClCompile Include="sb6_read_purebinary.cpp" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/sb6_read_purebinary/sb6_read_purebinary.vcxproj.filters b/Cpp/examples/c_cpp/sb6_read_purebinary/sb6_read_purebinary.vcxproj.filters
deleted file mode 100644
index bccbfadcb78ca33f44796d70a14538ef7f1409bc..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/sb6_read_purebinary/sb6_read_purebinary.vcxproj.filters
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="Header Files">
-      <UniqueIdentifier>{1d2a8ca8-ca05-4109-80da-f4b36ee0b5e6}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Source Files">
-      <UniqueIdentifier>{69ed0e95-4cc3-4fe7-89d2-328fdb97a9d3}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="sb6_read_purebinary.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="sb6_read_purebinary.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="main.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/simple_rec_fifo/makefile b/Cpp/examples/c_cpp/simple_rec_fifo/makefile
deleted file mode 100644
index 484d8a5a75f526c1e3635cd977f798446bd073ce..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_fifo/makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-COMPILER =   	g++
-EXECUTABLE = 	simple_rec_fifo
-LIBS += 	-lspcm_linux -lpthread -lrt
-
-OBJECTS = 	simple_rec_fifo.o\
-		../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS) 
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/simple_rec_fifo/simple_rec_fifo.cpp b/Cpp/examples/c_cpp/simple_rec_fifo/simple_rec_fifo.cpp
deleted file mode 100644
index bbc96b86283b0471d781f7b525d0b7757a409d86..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_fifo/simple_rec_fifo.cpp
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
-**************************************************************************
-
-simple_rec_fifo.cpp                                      (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all SpcMDrv based analog acquisition cards.
-
-Information about the different products and their drivers can be found
-online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/platform-driver-and-series-differences
-
-Shows a simple FIFO mode example using only the few necessary commands
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <stdlib.h>
-
-
-/*
-**************************************************************************
-szTypeToName: doing name translation
-**************************************************************************
-*/
-
-char* szTypeToName (int32 lCardType)
-    {
-    static char szName[50];
-    switch (lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M2ISERIES:     sprintf (szName, "M2i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2IEXPSERIES:  sprintf (szName, "M2i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3ISERIES:     sprintf (szName, "M3i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3IEXPSERIES:  sprintf (szName, "M3i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4IEXPSERIES:  sprintf (szName, "M4i.%04x-x8",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4XEXPSERIES:  sprintf (szName, "M4x.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2PEXPSERIES:  sprintf (szName, "M2p.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M5IEXPSERIES:  sprintf (szName, "M5i.%04x-x16", lCardType & TYP_VERSIONMASK);  break;
-        default:                sprintf (szName, "unknown type");                               break;
-        }
-    return szName;
-    }
-
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    drv_handle  hCard;
-    int32       lCardType, lSerialNumber, lFncType;
-    int16*      pnData;
-    char        szErrorTextBuffer[ERRORTEXTLEN];
-    uint32      dwError;
-    int32       lStatus;
-    int64       llAvailUser, llPCPos;
-    uint64      qwTotalMem = 0;
-    uint64      qwToTransfer = MEGA_B(64);
-
-    // settings for the FIFO mode buffer handling
-    int64       llBufferSize =   MEGA_B(4);
-    int32       lNotifySize =   KILO_B(16);
-
-
-    // open card
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    hCard = spcm_hOpen ("/dev/spcm0");
-    // hCard = spcm_hOpen ("TCPIP::192.168.1.10::inst0::INSTR");
-    if (!hCard)
-        {
-        printf ("no card found...\n");
-        return 0;
-        }
-
-
-    // read type, function and sn and check for A/D card
-    spcm_dwGetParam_i32 (hCard, SPC_PCITYP,         &lCardType);
-    spcm_dwGetParam_i32 (hCard, SPC_PCISERIALNO,    &lSerialNumber);
-    spcm_dwGetParam_i32 (hCard, SPC_FNCTYPE,        &lFncType);
-
-    switch (lFncType)
-        {
-        case SPCM_TYPE_AI:
-            printf ("Found: %s sn %05d\n", szTypeToName (lCardType), lSerialNumber);
-            break;
-
-        default:
-            printf ("Card: %s sn %05d not supported by example\n", szTypeToName (lCardType), lSerialNumber);
-            return 0;
-        }
-
-
-    // do a simple standard setup
-    spcm_dwSetParam_i32 (hCard, SPC_CHENABLE,       CHANNEL0);              // just 1 channel enabled
-    spcm_dwSetParam_i32 (hCard, SPC_PRETRIGGER,     1024);                  // 1k of pretrigger data at start of FIFO mode
-    spcm_dwSetParam_i32 (hCard, SPC_CARDMODE,       SPC_REC_FIFO_SINGLE);   // single FIFO mode
-    spcm_dwSetParam_i32 (hCard, SPC_TIMEOUT,        5000);                  // timeout 5 s
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_ORMASK,    SPC_TMASK_SOFTWARE);    // trigger set to software
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_ANDMASK,   0);                     // ...
-    spcm_dwSetParam_i32 (hCard, SPC_CLOCKMODE,      SPC_CM_INTPLL);         // clock mode internal PLL
-
-    // we try to set the samplerate to 100 kHz (M2i) or 20 MHz (M3i and M4i) on internal PLL, no clock output
-    if (((lCardType & TYP_SERIESMASK) == TYP_M2ISERIES) || ((lCardType & TYP_SERIESMASK) == TYP_M2IEXPSERIES))
-        spcm_dwSetParam_i64 (hCard, SPC_SAMPLERATE, KILO(100));
-    if ((lCardType & TYP_SERIESMASK) == TYP_M2PEXPSERIES)
-        spcm_dwSetParam_i64 (hCard, SPC_SAMPLERATE, MEGA(10));
-    else
-        spcm_dwSetParam_i64 (hCard, SPC_SAMPLERATE, MEGA(20));
-
-    spcm_dwSetParam_i32 (hCard, SPC_CLOCKOUT,       0);                     // no clock output
-
-
-    // define the data buffer
-    pnData = (int16*) pvAllocMemPageAligned ((uint64) llBufferSize);
-    if (!pnData)
-        {
-        printf ("memory allocation failed\n");
-        spcm_vClose (hCard);
-        return 0;
-        }
-
-    spcm_dwDefTransfer_i64 (hCard, SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, lNotifySize, pnData, 0, llBufferSize);
-
-    // start everything
-    dwError = spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER | M2CMD_DATA_STARTDMA);
-
-
-    // check for error
-    if (dwError != ERR_OK)
-        {
-        spcm_dwGetErrorInfo_i32 (hCard, NULL, NULL, szErrorTextBuffer);
-        printf ("%s\n", szErrorTextBuffer);
-        vFreeMemPageAligned (pnData, (uint64) llBufferSize);
-        spcm_vClose (hCard);
-        return 0;
-        }
-
-
-    // run the FIFO mode and loop through the data
-    else
-        {
-        while (qwTotalMem < qwToTransfer)
-            {
-            if ((dwError = spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_DATA_WAITDMA)) != ERR_OK)
-                {
-                if (dwError == ERR_TIMEOUT)
-                    printf ("... Timeout\n");
-                else
-                    printf ("... Error: %d\n", dwError);
-                break;
-                }
-
-            else
-                {
-                spcm_dwGetParam_i32 (hCard, SPC_M2STATUS,             &lStatus);
-                spcm_dwGetParam_i64 (hCard, SPC_DATA_AVAIL_USER_LEN,  &llAvailUser);
-                spcm_dwGetParam_i64 (hCard, SPC_DATA_AVAIL_USER_POS,  &llPCPos);
-
-                if (llAvailUser >= lNotifySize)
-                    {
-                    qwTotalMem += lNotifySize;
-                    printf ("Stat:%08x Pos:%016llx Avail:%016llx Total:%.2fMB\n", lStatus, llPCPos, llAvailUser, (double) (int64) qwTotalMem / MEGA_B(1));
-
-                    // this is the point to do anything with the data
-
-                    spcm_dwSetParam_i32 (hCard, SPC_DATA_AVAIL_CARD_LEN,  lNotifySize);
-                    }
-
-                // check for esape = abort
-                if (bKbhit ())
-                    if (cGetch () == 27)
-                        break;
-                }
-            }
-        }
-
-
-    // send the stop command
-    dwError = spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_CARD_STOP | M2CMD_DATA_STOPDMA);
-
-    // clean up
-    printf ("Finished...\n");
-    vFreeMemPageAligned (pnData, (uint64) llBufferSize);
-    spcm_vClose (hCard);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/simple_rec_fifo/simple_rec_fifo.sln b/Cpp/examples/c_cpp/simple_rec_fifo/simple_rec_fifo.sln
deleted file mode 100644
index 4553684ea7d101f72bab59558f293ab329cf89ea..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_fifo/simple_rec_fifo.sln
+++ /dev/null
@@ -1,26 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple_rec_fifo", "simple_rec_fifo.vcproj", "{AB068386-BB5C-4442-ACFF-B5D9A79C311A}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Win32 = Debug|Win32
-		Debug|x64 = Debug|x64
-		Release|Win32 = Release|Win32
-		Release|x64 = Release|x64
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|Win32.ActiveCfg = Debug|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|Win32.Build.0 = Debug|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|x64.ActiveCfg = Debug|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|x64.Build.0 = Debug|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|Win32.ActiveCfg = Release|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|Win32.Build.0 = Release|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|x64.ActiveCfg = Release|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|x64.Build.0 = Release|x64
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/Cpp/examples/c_cpp/simple_rec_fifo/simple_rec_fifo.vcproj b/Cpp/examples/c_cpp/simple_rec_fifo/simple_rec_fifo.vcproj
deleted file mode 100644
index 6706887f7cc4d194ecf81a3c4072f26a0b39be4c..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_fifo/simple_rec_fifo.vcproj
+++ /dev/null
@@ -1,496 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="simple_rec_fifo"
-	ProjectGUID="{AB068386-BB5C-4442-ACFF-B5D9A79C311A}"
-	RootNamespace="simple_rec_fifo"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/simple_rec_fifo.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/simple_rec_fifo.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/simple_rec_fifo.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/simple_rec_fifo.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/simple_rec_fifo.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/simple_rec_fifo.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/simple_rec_fifo.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/simple_rec_fifo.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/simple_rec_fifo.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/simple_rec_fifo.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/simple_rec_fifo.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/simple_rec_fifo.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/simple_rec_fifo.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/simple_rec_fifo.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/simple_rec_fifo.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/simple_rec_fifo.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/simple_rec_fifo.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/simple_rec_fifo.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/simple_rec_fifo.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/simple_rec_fifo.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="header"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath="simple_rec_fifo.cpp"
-			>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-		<File
-			RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-			>
-		</File>
-		<File
-			RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-			>
-			<FileConfiguration
-				Name="Release|x64"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-		</File>
-		<File
-			RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-			>
-			<FileConfiguration
-				Name="Release|Win32"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|Win32"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/simple_rec_fifo/simple_rec_fifo.vcxproj b/Cpp/examples/c_cpp/simple_rec_fifo/simple_rec_fifo.vcxproj
deleted file mode 100644
index 4761a2306226f60213bff7fa1aa596496225dccc..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_fifo/simple_rec_fifo.vcxproj
+++ /dev/null
@@ -1,262 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{AB068386-BB5C-4442-ACFF-B5D9A79C311A}</ProjectGuid>
-    <RootNamespace>simple_rec_fifo</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/simple_rec_fifo.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/simple_rec_fifo.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/simple_rec_fifo.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/simple_rec_fifo.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/simple_rec_fifo.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/simple_rec_fifo.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/simple_rec_fifo.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/simple_rec_fifo.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/simple_rec_fifo.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/simple_rec_fifo.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/simple_rec_fifo.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/simple_rec_fifo.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/simple_rec_fifo.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/simple_rec_fifo.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/simple_rec_fifo.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/simple_rec_fifo.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="simple_rec_fifo.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/simple_rec_fifo/simple_rec_fifo.vcxproj.filters b/Cpp/examples/c_cpp/simple_rec_fifo/simple_rec_fifo.vcxproj.filters
deleted file mode 100644
index dcec4bbd4f27276ec712c33e2e77c5ed566e939f..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_fifo/simple_rec_fifo.vcxproj.filters
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="header">
-      <UniqueIdentifier>{f679fc55-3bd3-4f11-b75f-80c27acab2b4}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="simple_rec_fifo.cpp" />
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib" />
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/simple_rec_fifo_software_average/makefile b/Cpp/examples/c_cpp/simple_rec_fifo_software_average/makefile
deleted file mode 100644
index ca4295fc98a1a00f5e0c12c0eac9760ca37096a7..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_fifo_software_average/makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-COMPILER =   	g++
-EXECUTABLE = 	simple_rec_fifo_software_average
-LIBS += 	-lspcm_linux -lpthread -lrt
-
-OBJECTS = 	simple_rec_fifo_software_average.o\
-		../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS) 
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/simple_rec_fifo_software_average/simple_rec_fifo_software_average.cpp b/Cpp/examples/c_cpp/simple_rec_fifo_software_average/simple_rec_fifo_software_average.cpp
deleted file mode 100644
index 918baf0dfc3090d7940d5eef0c719eba951ca18c..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_fifo_software_average/simple_rec_fifo_software_average.cpp
+++ /dev/null
@@ -1,392 +0,0 @@
-/*
-**************************************************************************
-
-simple_rec_fifo_software_average                         (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for Spectrum M4i analog acquisition cards to show software based
-block average. The example is build for a M4i.2230-x8, a 1 channel
-5 GS/s 8 Bit digitizer.
-
-The test parameter section allows to define the different test settings
-and handles multi-thread averaging as well as single-thread averaging
-For running this example an external trigger source in the region of
-1 to 2 kHz is needed.
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-
-/*
-**************************************************************************
-Test Parameters
-**************************************************************************
-*/
-
-const bool        bThreads =      true;               // test the thread based version
-const int32       lThreads =      4;                  // number of threads to split the average to
-const int32       lSegmentsize =  KILO_B(1024);       // segment size per trigger
-const int32       lNumSegments =  1;                  // number of segments per interrupt
-const int32       lAverageLoop =  1000;               // number of averages (summations)
-
-
-
-
-/*
-**************************************************************************
-szTypeToName: doing name translation
-**************************************************************************
-*/
-
-char* szTypeToName (int32 lCardType)
-    {
-    static char szName[50];
-    switch (lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M2ISERIES:     sprintf (szName, "M2i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2IEXPSERIES:  sprintf (szName, "M2i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3ISERIES:     sprintf (szName, "M3i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3IEXPSERIES:  sprintf (szName, "M3i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4IEXPSERIES:  sprintf (szName, "M4i.%04x-x8",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4XEXPSERIES:  sprintf (szName, "M4x.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2PEXPSERIES:  sprintf (szName, "M2p.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M5IEXPSERIES:  sprintf (szName, "M5i.%04x-x16", lCardType & TYP_VERSIONMASK);  break;
-        default:                sprintf (szName, "unknown type");                               break;
-        }
-    return szName;
-    }
-
-
-/*
-**************************************************************************
-bKeyCheckAsync: faster than kbhit()
-**************************************************************************
-*/
-int g_nKeyPress;
-bool bKeyCheckAsync ()
-    {
-#ifdef WIN32
-    return (g_nKeyPress != GetAsyncKeyState(VK_ESCAPE));
-#endif
-    }
-
-
-/*
-**************************************************************************
-thread structúre and thread for average
-**************************************************************************
-*/
-
-typedef struct
-    {
-    bool                bRunNotQuit;        // controls whether the thread is running or should stop
-    int8*               pbyData;            // pointer to the data buffer
-    int64               llCurDataPos;       // current position of next available data inside the buffer
-    int32*              plAverageData;      // pointer to average (summation) buffer
-    int32               lSegmentsize;       // size of complete average segment
-    int32               lStartOffset;       // start position inside segment that the thread is handling
-    int32               lAveragesize;       // size of average data that is handled by this thread
-    int32               lNumSegments;       // number of sequencing segments that should be handled in one run
-    SPCM_EVENT_HANDLE   hStart;             // received event to start calculation
-    SPCM_EVENT_HANDLE   hEnd;               // transmitted event after end of calculation
-    SPCM_THREAD_HANDLE  hThread;            // thread handle
-    } SPCM_AVERAGE_DATA;
-
-// ***********************************************************************
-
-SPCM_THREAD_RETURN SPCM_THREAD_CALLTYPE pvAverageSegmentPart (void* pvArguments)
-    {
-    SPCM_AVERAGE_DATA* pstData = (SPCM_AVERAGE_DATA*) pvArguments;
-    int32  i, j;
-    int32  lStart;
-    int32  lEnd;
-    int32  lNumSegments =    pstData->lNumSegments;
-    int32* plAverageData =   pstData->plAverageData;
-    int8*  pbyData =         pstData->pbyData;
-
-    while (pstData->bRunNotQuit)
-        {
-        spcm_vWaitEvent (&pstData->hStart);
-
-        for (j=0; j<lNumSegments; j++)
-            {
-            lStart =    j * pstData->lSegmentsize + pstData->lStartOffset;
-            lEnd =      pstData->lStartOffset + pstData->lAveragesize;
-
-            for (i=lStart; i < lEnd; i++)
-                plAverageData[i] += (int32) pbyData[i];
-            }
-
-        spcm_vSignalEvent (&pstData->hEnd);
-        }
-
-    return 0;
-    }
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    drv_handle  hCard;
-    int32       lCardType, lSerialNumber, lFncType;
-    int8*       pbyData;
-    int32*      plAverageData;
-    int32*      plStorageData;
-    char        szErrorTextBuffer[ERRORTEXTLEN];
-    uint32      dwError;
-    int32       lStatus;
-    int64       llAvailUser, llPCPos;
-    int32       lFillsize;
-    uint64      qwTotalMem = 0;
-    int32       i, j;
-
-    // FIFO mode buffer handling
-    int32       lNotifySize =   lSegmentsize * lNumSegments;
-    int64       llBufferSize =   lNotifySize * 16;   // software (DMA) buffer size
-    int32       lSegmentCount = 0;                  // number of segments acquired so far
-    int32       lAverageCount = 0;                  // current average
-
-    // settings for the average threads
-    SPCM_AVERAGE_DATA   stAverageData[lThreads];
-
-    // -------------------------------------------------
-    // open card
-    hCard = spcm_hOpen ("/dev/spcm0");
-    if (!hCard)
-        {
-        printf ("no card found...\n");
-        return 0;
-        }
-
-    // read type, function and sn and check for correct /D card
-    spcm_dwGetParam_i32 (hCard, SPC_PCITYP,         &lCardType);
-    spcm_dwGetParam_i32 (hCard, SPC_PCISERIALNO,    &lSerialNumber);
-    spcm_dwGetParam_i32 (hCard, SPC_FNCTYPE,        &lFncType);
-
-    switch (lFncType)
-        {
-        case SPCM_TYPE_AI:
-            printf ("Found: %s sn %05d\n", szTypeToName (lCardType), lSerialNumber);
-            switch (lCardType & TYP_VERSIONMASK)
-                {
-                case 0x2230:
-                case 0x2233:
-                case 0x2234:
-                    break;
-
-                default:
-                    printf ("The example is set up for the M4i.223x cards and runs with 1 channel 5 GS/s 8 bit. For other digitizers the example settings have to be adopted\n");
-                    return 0;
-                }
-            break;
-
-        default:
-            printf ("Card: %s sn %05d not supported by example\n", szTypeToName (lCardType), lSerialNumber);
-            return 0;
-        }
-
-
-    // -------------------------------------------------
-    // define the data buffers
-    pbyData =       (int8*)  pvAllocMemPageAligned ((uint64) llBufferSize);
-    plAverageData = (int32*) pvAllocMemPageAligned ((uint64) lSegmentsize * sizeof(int32));
-    plStorageData = (int32*) pvAllocMemPageAligned ((uint64) lSegmentsize * sizeof(int32));
-    if (!pbyData || !plAverageData || !plStorageData)
-        {
-        printf ("memory allocation failed\n");
-        spcm_vClose (hCard);
-        return 0;
-        }
-    memset ((void*) plAverageData, 0, lSegmentsize * sizeof(int32));
-
-    // -------------------------------------------------
-    // set up the average threads
-    for (i=0; i<lThreads; i++)
-        {
-        stAverageData[i].bRunNotQuit =         true;
-        stAverageData[i].lNumSegments =        lNumSegments;
-        stAverageData[i].lAveragesize =        lSegmentsize / lThreads;
-        stAverageData[i].lSegmentsize =        lSegmentsize;
-        stAverageData[i].lStartOffset =        i * stAverageData[i].lAveragesize;
-        stAverageData[i].pbyData =             pbyData;
-        stAverageData[i].plAverageData =       plAverageData;
-        spcm_bCreateEvent (&stAverageData[i].hStart);
-        spcm_bCreateEvent (&stAverageData[i].hEnd);
-        spcm_bCreateThread (pvAverageSegmentPart, &stAverageData[i].hThread, (void*) &stAverageData[i]);
-        }
-
-
-    // -------------------------------------------------
-    // do a simple standard setup
-    spcm_dwSetParam_i32 (hCard, SPC_CHENABLE,           CHANNEL0);              // just 1 channel enabled
-
-    spcm_dwSetParam_i32 (hCard, SPC_CARDMODE,           SPC_REC_FIFO_MULTI);    // single FIFO mode
-    spcm_dwSetParam_i32 (hCard, SPC_LOOPS,              0);                     // endless
-    spcm_dwSetParam_i32 (hCard, SPC_SEGMENTSIZE,        lSegmentsize);          // 1k of pretrigger data at start of FIFO mode
-    spcm_dwSetParam_i32 (hCard, SPC_POSTTRIGGER,        lSegmentsize - 32);     // 32 samples pretrigger data for each segment
-    spcm_dwSetParam_i32 (hCard, SPC_TIMEOUT,            5000);                  // timeout 5 s
-
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_ORMASK,        SPC_TMASK_EXT0);        // trigger set to external input Ext0
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_ANDMASK,       0);                     // ...
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_EXT0_MODE,     SPC_TM_POS);            // ...
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_EXT0_LEVEL0,   1000);                  // level set to 1000 mV
-
-    spcm_dwSetParam_i32 (hCard, SPC_CLOCKMODE,          SPC_CM_INTPLL);         // clock mode internal PLL
-    spcm_dwSetParam_i64 (hCard, SPC_SAMPLERATE,         MEGA (2500));           // 5 GS/s
-    spcm_dwSetParam_i32 (hCard, SPC_CLOCKOUT,           0);                     // no clock output
-
-    spcm_dwDefTransfer_i64 (hCard, SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, lNotifySize, pbyData, 0, llBufferSize);
-
-    // start everything
-    dwError = spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER | M2CMD_DATA_STARTDMA);
-
-
-    // check for error
-    if (dwError != ERR_OK)
-        {
-        spcm_dwGetErrorInfo_i32 (hCard, NULL, NULL, szErrorTextBuffer);
-        printf ("%s\n", szErrorTextBuffer);
-        vFreeMemPageAligned (pbyData, (uint64) llBufferSize);
-        spcm_vClose (hCard);
-        return 0;
-        }
-
-
-    // -------------------------------------------------
-    // run the FIFO mode and loop through the data
-    while (1)
-        {
-
-        // wait for interrupt and check on error
-        if ((dwError = spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_DATA_WAITDMA)) != ERR_OK)
-            {
-            if (dwError == ERR_TIMEOUT)
-                printf ("... Timeout\n");
-            else
-                printf ("... Error: %d\n", dwError);
-            break;
-            }
-
-        // --------------------------------------------------------------------------
-        // we have new data available
-        else
-            {
-            spcm_dwGetParam_i32 (hCard, SPC_M2STATUS,             &lStatus);
-            spcm_dwGetParam_i64 (hCard, SPC_DATA_AVAIL_USER_LEN,  &llAvailUser);
-            spcm_dwGetParam_i64 (hCard, SPC_DATA_AVAIL_USER_POS,  &llPCPos);
-            if (lStatus & M2STAT_DATA_OVERRUN)
-                {
-                printf ("\nOverrun!!!\n");
-                break;
-                }
-
-            if (llAvailUser >= lNotifySize)
-                {
-                qwTotalMem += lNotifySize;
-                lSegmentCount += lNumSegments;
-                lAverageCount += lNumSegments;
-
-
-                // --------------------------------------------------------------------------
-                // summation loop inline
-                if (!bThreads)
-                    {
-                    for (j=0; j < lNumSegments; j++)
-                        for (i=0; i < lSegmentsize; i++)
-                            plAverageData[i] += (int32) pbyData[llPCPos + i];
-                    }
-
-                // summation loop thread based
-                else
-                    {
-                    for (i=0; i < lThreads; i++)
-                        {
-                        stAverageData[i].llCurDataPos = llPCPos;
-                        spcm_vSignalEvent (&stAverageData[i].hStart);
-                        }
-                    for (i=0; i<lThreads; i++)
-                        spcm_vWaitEvent (&stAverageData[i].hEnd);
-                    }
-
-                // --------------------------------------------------------------------------
-                // avarage loop reached loop: store data
-                if (lAverageCount >= lAverageLoop)
-                    {
-
-                    // copy average buffer and clear it for next loop
-                    lAverageCount = 0;
-                    memcpy ((void*) plStorageData, (void*) plAverageData, lSegmentsize * sizeof(int32));
-                    memset ((void*) plAverageData, 0, lSegmentsize * sizeof(int32));
-
-                    // read out buffer fillsize and print it
-                    spcm_dwGetParam_i32 (hCard, SPC_FILLSIZEPROMILLE, &lFillsize);
-                    printf ("Stat:%08x Segments:%d Fillesize = %4d%%%% Total:%.2fMB\n", lStatus, lSegmentCount, lFillsize, (double) (int64) qwTotalMem / MEGA_B(1));
-                    }
-
-                // free the buffer
-                spcm_dwSetParam_i32 (hCard, SPC_DATA_AVAIL_CARD_LEN,  lNotifySize);
-                }
-
-            // check for esape = abort
-#ifdef WIN32
-            if (bKeyCheckAsync())
-#else
-            if (bKbhit ())
-#endif
-                if (cGetch () == 27)
-                    break;
-            }
-        }
-
-    // send the stop command
-    dwError = spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_CARD_STOP | M2CMD_DATA_STOPDMA);
-
-    // clean up the average threads
-    for (i=0; i<lThreads; i++)
-        {
-        stAverageData[i].bRunNotQuit = false;
-        spcm_vSignalEvent (&stAverageData[i].hStart);
-        spcm_vWaitEvent (&stAverageData[i].hEnd);
-        spcm_vJoinThread (&stAverageData[i].hThread, 100);
-        spcm_vCloseThread (&stAverageData[i].hThread);
-        }
-
-    // clean up memory
-    printf ("Finished...\n");
-    vFreeMemPageAligned (pbyData,       (uint64) llBufferSize);
-    vFreeMemPageAligned (plAverageData, (uint64) lSegmentsize * sizeof(int32));
-    vFreeMemPageAligned (plStorageData, (uint64) lSegmentsize * sizeof(int32));
-    spcm_vClose (hCard);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/simple_rec_fifo_software_average/simple_rec_fifo_software_average.sln b/Cpp/examples/c_cpp/simple_rec_fifo_software_average/simple_rec_fifo_software_average.sln
deleted file mode 100644
index b00ed70497755c81f7a3728295a32326892b90a8..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_fifo_software_average/simple_rec_fifo_software_average.sln
+++ /dev/null
@@ -1,26 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple_rec_fifo_software_average", "simple_rec_fifo_software_average.vcproj", "{AB068386-BB5C-4442-ACFF-B5D9A79C311A}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Win32 = Debug|Win32
-		Debug|x64 = Debug|x64
-		Release|Win32 = Release|Win32
-		Release|x64 = Release|x64
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|Win32.ActiveCfg = Debug|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|Win32.Build.0 = Debug|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|x64.ActiveCfg = Debug|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|x64.Build.0 = Debug|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|Win32.ActiveCfg = Release|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|Win32.Build.0 = Release|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|x64.ActiveCfg = Release|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|x64.Build.0 = Release|x64
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/Cpp/examples/c_cpp/simple_rec_fifo_software_average/simple_rec_fifo_software_average.vcproj b/Cpp/examples/c_cpp/simple_rec_fifo_software_average/simple_rec_fifo_software_average.vcproj
deleted file mode 100644
index 8ada8cbb0909a4236cb3cc2db64c04381e989e68..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_fifo_software_average/simple_rec_fifo_software_average.vcproj
+++ /dev/null
@@ -1,502 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="simple_rec_fifo_software_average"
-	ProjectGUID="{AB068386-BB5C-4442-ACFF-B5D9A79C311A}"
-	RootNamespace="simple_rec_fifo_software_average"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/simple_rec_fifo_software_average.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				EnableIntrinsicFunctions="true"
-				FavorSizeOrSpeed="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				EnableEnhancedInstructionSet="2"
-				PrecompiledHeaderFile=".\Release/simple_rec_fifo_software_average.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/simple_rec_fifo_software_average.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/simple_rec_fifo_software_average.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/simple_rec_fifo_software_average.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/simple_rec_fifo_software_average.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/simple_rec_fifo_software_average.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/simple_rec_fifo_software_average.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/simple_rec_fifo_software_average.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/simple_rec_fifo_software_average.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/simple_rec_fifo_software_average.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				EnableIntrinsicFunctions="true"
-				FavorSizeOrSpeed="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				EnableEnhancedInstructionSet="2"
-				PrecompiledHeaderFile=".\Release/simple_rec_fifo_software_average.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/simple_rec_fifo_software_average.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/simple_rec_fifo_software_average.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/simple_rec_fifo_software_average.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/simple_rec_fifo_software_average.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/simple_rec_fifo_software_average.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/simple_rec_fifo_software_average.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/simple_rec_fifo_software_average.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/simple_rec_fifo_software_average.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="header"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath="simple_rec_fifo_software_average.cpp"
-			>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-		<File
-			RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-			>
-		</File>
-		<File
-			RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-			>
-			<FileConfiguration
-				Name="Release|x64"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-		</File>
-		<File
-			RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-			>
-			<FileConfiguration
-				Name="Release|Win32"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|Win32"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/simple_rec_fifo_software_average/simple_rec_fifo_software_average.vcxproj b/Cpp/examples/c_cpp/simple_rec_fifo_software_average/simple_rec_fifo_software_average.vcxproj
deleted file mode 100644
index 9be497314be5fa1700b38c016f4b152653792d7f..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_fifo_software_average/simple_rec_fifo_software_average.vcxproj
+++ /dev/null
@@ -1,268 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{AB068386-BB5C-4442-ACFF-B5D9A79C311A}</ProjectGuid>
-    <RootNamespace>simple_rec_fifo_software_average</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/simple_rec_fifo_software_average.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
-      <PrecompiledHeaderOutputFile>.\Release/simple_rec_fifo_software_average.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/simple_rec_fifo_software_average.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/simple_rec_fifo_software_average.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/simple_rec_fifo_software_average.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/simple_rec_fifo_software_average.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/simple_rec_fifo_software_average.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/simple_rec_fifo_software_average.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/simple_rec_fifo_software_average.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
-      <PrecompiledHeaderOutputFile>.\Release/simple_rec_fifo_software_average.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/simple_rec_fifo_software_average.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/simple_rec_fifo_software_average.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/simple_rec_fifo_software_average.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/simple_rec_fifo_software_average.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/simple_rec_fifo_software_average.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/simple_rec_fifo_software_average.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="simple_rec_fifo_software_average.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/simple_rec_fifo_software_average/simple_rec_fifo_software_average.vcxproj.filters b/Cpp/examples/c_cpp/simple_rec_fifo_software_average/simple_rec_fifo_software_average.vcxproj.filters
deleted file mode 100644
index c9e7945491d6fe549c1ec90b11ee7769db44222d..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_fifo_software_average/simple_rec_fifo_software_average.vcxproj.filters
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="header">
-      <UniqueIdentifier>{f1800eee-469d-4d52-88fc-c8aabc57fd31}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="simple_rec_fifo_software_average.cpp" />
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib" />
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/simple_rec_segment_statistic/makefile b/Cpp/examples/c_cpp/simple_rec_segment_statistic/makefile
deleted file mode 100644
index 82d3a3690805966d31bbcd7b8e98d79e42994407..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_segment_statistic/makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-COMPILER =   	g++
-EXECUTABLE = 	simple_rec_segment_statistic
-LIBS += 	-lspcm_linux -lpthread -lrt
-
-OBJECTS = 	simple_rec_segment_statistic.o\
-		../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS) 
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/simple_rec_segment_statistic/simple_rec_segment_statistic.cpp b/Cpp/examples/c_cpp/simple_rec_segment_statistic/simple_rec_segment_statistic.cpp
deleted file mode 100644
index 402deb44f9c98eb0b388b59eb17d7cb92e84c69c..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_segment_statistic/simple_rec_segment_statistic.cpp
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
-**************************************************************************
-
-simple_rec_segment_statistic.cpp                         (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all M4i analog acquisition cards.
-Shows a simple segment statistic example
-using only a few necessary commands.
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <stdlib.h>
-
-
-/*
-**************************************************************************
-szTypeToName: doing name translation
-**************************************************************************
-*/
-
-char* szTypeToName (int32 lCardType)
-    {
-    static char szName[50];
-    switch (lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M2ISERIES:     sprintf (szName, "M2i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2IEXPSERIES:  sprintf (szName, "M2i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3ISERIES:     sprintf (szName, "M3i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3IEXPSERIES:  sprintf (szName, "M3i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4IEXPSERIES:  sprintf (szName, "M4i.%04x-x8",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4XEXPSERIES:  sprintf (szName, "M4x.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2PEXPSERIES:  sprintf (szName, "M2p.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M5IEXPSERIES:  sprintf (szName, "M5i.%04x-x16", lCardType & TYP_VERSIONMASK);  break;
-        default:                sprintf (szName, "unknown type");                               break;
-        }
-    return szName;
-    }
-
-
-// define structures for more easy data access
-typedef struct
-    {
-    SPCM_SEGSTAT_STRUCT_CHx pst_Channel[4];
-    } SPCM_SEGSTAT_STRUCT_4CH;
-
-typedef struct
-    {
-    SPCM_SEGSTAT_STRUCT_CHx pst_Channel[2];
-    } SPCM_SEGSTAT_STRUCT_2CH;
-
-typedef struct
-    {
-    SPCM_SEGSTAT_STRUCT_CHx pst_Channel[1];
-    } SPCM_SEGSTAT_STRUCT_1CH;
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    drv_handle  hCard;
-    int32       lCardType, lSerialNumber, lFncType, lFeatMask;
-    int32       lMaxChannels, lChannelMask;
-    int64       llMaxSamplerate;
-    char        szErrorTextBuffer[ERRORTEXTLEN];
-    uint32      dwError;
-
-    // open card
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    hCard = spcm_hOpen ("/dev/spcm0");
-    // hCard = spcm_hOpen ("TCPIP::192.168.1.10::inst0::INSTR");
-    if (!hCard)
-        {
-        printf ("no card found...\n");
-        return 0;
-        }
-
-    // read type, function and sn and check for A/D card
-    spcm_dwGetParam_i32 (hCard, SPC_PCITYP,         &lCardType);
-    spcm_dwGetParam_i32 (hCard, SPC_PCISERIALNO,    &lSerialNumber);
-    spcm_dwGetParam_i32 (hCard, SPC_FNCTYPE,        &lFncType);
-
-    switch (lFncType)
-        {
-        case SPCM_TYPE_AI:
-            printf ("Found: %s sn %05d\n", szTypeToName (lCardType), lSerialNumber);
-            break;
-
-        default:
-            printf ("Card: %s sn %05d not supported by example\n", szTypeToName (lCardType), lSerialNumber);
-            return 0;
-        }
-
-    // check for necessary segment statistic feature
-    spcm_dwGetParam_i32 (hCard, SPC_PCIEXTFEATURES, &lFeatMask);
-    if ((lFeatMask & SPCM_FEAT_EXTFW_SEGSTAT) == 0)
-        {
-        printf ("This example requires segment statistic feature installed \n");
-        spcm_vClose (hCard);
-        return 0;
-        }
-
-
-    // do a simple standard setup
-    uint32 dwSegmentsize =   KILO_B(4); // define length of each segment
-    uint32 dwPosttrigger =   KILO_B(2); // define samples as posttrigger
-    uint32 dwNumOfSegments = 16;        // number of segments to record
-
-    spcm_dwSetParam_i32 (hCard, SPC_SEGMENTSIZE,   dwSegmentsize);
-    spcm_dwSetParam_i32 (hCard, SPC_POSTTRIGGER,   dwPosttrigger);
-
-    // (all data resides in on-board memory, no streaming)
-    spcm_dwSetParam_i32 (hCard, SPC_MEMSIZE,       dwSegmentsize * dwNumOfSegments);
-
-    // enable all available channels
-    spcm_dwGetParam_i32 (hCard, SPC_MIINST_CHPERMODULE, &lMaxChannels);
-    lChannelMask = ((int32) 1 << lMaxChannels) - 1;
-    spcm_dwSetParam_i32 (hCard, SPC_CHENABLE, lChannelMask);
-
-    // use segment statistic mode, timeout set to 5s
-    spcm_dwSetParam_i32 (hCard, SPC_CARDMODE,     SPC_REC_STD_SEGSTATS);
-    spcm_dwSetParam_i32 (hCard, SPC_TIMEOUT,      5000);
-
-    // disable external triggers
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_ORMASK,  0);
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_ANDMASK, 0);
-
-    // enable channel trigger
-    int32 lTriggerChannel = 0;
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_CH_ORMASK0, (SPC_TMASK0_CH0 << lTriggerChannel));
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_CH_ANDMASK0, 0);
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_CH0_MODE + lTriggerChannel, SPC_TM_NEG);
-
-    // set up maximum available sample rate, no clock output
-    spcm_dwGetParam_i64 (hCard, SPC_MIINST_MAXADCLOCK, &llMaxSamplerate);
-    spcm_dwSetParam_i32 (hCard, SPC_CLOCKMODE,  SPC_CM_INTPLL);
-    spcm_dwSetParam_i64 (hCard, SPC_SAMPLERATE, llMaxSamplerate);
-    spcm_dwSetParam_i32 (hCard, SPC_CLOCKOUT,   0);
-
-    // set timestamp to start reset
-    spcm_dwSetParam_i32 (hCard, SPC_TIMESTAMP_CMD, SPC_TSMODE_STARTRESET);
-
-
-
-    // settings for the buffer handling
-    int64 llBufferSize = sizeof (SPCM_SEGSTAT_STRUCT_CHx) * lMaxChannels * dwNumOfSegments;
-
-    // define the data buffer
-    void* pvData = (void*) pvAllocMemPageAligned ((uint64) llBufferSize);
-
-    // check for memory allocation errors
-    if (!pvData)
-        {
-        printf ("memory allocation failed\n");
-        spcm_vClose (hCard);
-        return 0;
-        }
-
-
-
-    // start the acquisition
-    dwError = spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER | M2CMD_CARD_WAITREADY);
-
-    // check for error
-    if (dwError != ERR_OK)
-        {
-        spcm_dwGetErrorInfo_i32 (hCard, NULL, NULL, szErrorTextBuffer);
-        printf ("%s\n", szErrorTextBuffer);
-        vFreeMemPageAligned (pvData, (uint64) llBufferSize);
-        spcm_vClose (hCard);
-        return 0;
-        }
-
-
-
-    // set up and start data transfer
-    spcm_dwDefTransfer_i64 (hCard, SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, 0, pvData , 0, llBufferSize);
-    spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_DATA_STARTDMA | M2CMD_DATA_WAITDMA);
-
-
-    // cast and printout data (depending on active channels to structure to get more easy access)
-    if (lMaxChannels == 1)
-        {
-        SPCM_SEGSTAT_STRUCT_1CH* ppstData = (SPCM_SEGSTAT_STRUCT_1CH*) pvData;
-
-        // read out data of every segment (one channel only to keep things simple)
-        for (uint32 dwSegment = 0; dwSegment < dwNumOfSegments; dwSegment++)
-            {
-            printf("\nSegment %.2d: Min: %7.d  Max:%7.d, Avrg; %f",
-                dwSegment,
-                ppstData[dwSegment].pst_Channel[lTriggerChannel].nMin,
-                ppstData[dwSegment].pst_Channel[lTriggerChannel].nMax,
-                ((double) (ppstData[dwSegment].pst_Channel[lTriggerChannel].llAvrg) / (double) dwSegmentsize));
-            }
-        }
-    else if (lMaxChannels == 2)
-        {
-        SPCM_SEGSTAT_STRUCT_2CH* ppstData = (SPCM_SEGSTAT_STRUCT_2CH*) pvData;
-
-        // read out data of every segment (one channel only to keep things simple)
-        for (uint32 dwSegment = 0; dwSegment < dwNumOfSegments; dwSegment++)
-            {
-            printf("\nSegment %.2d: Min: %7.4d  Max:%7.4d, Avrg; %f",
-                dwSegment,
-                ppstData[dwSegment].pst_Channel[lTriggerChannel].nMin,
-                ppstData[dwSegment].pst_Channel[lTriggerChannel].nMax,
-                ((double) (ppstData[dwSegment].pst_Channel[lTriggerChannel].llAvrg) / (double) dwSegmentsize));
-            }
-        }
-    else
-        {
-        SPCM_SEGSTAT_STRUCT_4CH* ppstData = (SPCM_SEGSTAT_STRUCT_4CH*) pvData;
-
-        // read out data of every segment (one channel only to keep things simple)
-        for (uint32 dwSegment = 0; dwSegment < dwNumOfSegments; dwSegment++)
-            {
-            printf("\nSegment %.2d: Min: %7.4d  Max:%7.4d, Avrg; %f",
-                dwSegment,
-                ppstData[dwSegment].pst_Channel[lTriggerChannel].nMin,
-                ppstData[dwSegment].pst_Channel[lTriggerChannel].nMax,
-                ((double) (ppstData[dwSegment].pst_Channel[lTriggerChannel].llAvrg) / (double) dwSegmentsize));
-            }
-        }
-
-
-    // clean up
-    printf ("\n\nFinished...\n");
-
-    vFreeMemPageAligned (pvData, (uint64) llBufferSize);
-    spcm_vClose (hCard);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/simple_rec_segment_statistic/simple_rec_segment_statistic.sln b/Cpp/examples/c_cpp/simple_rec_segment_statistic/simple_rec_segment_statistic.sln
deleted file mode 100644
index fab2e56b7c8497484a974c236f00d89724a4d1f1..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_segment_statistic/simple_rec_segment_statistic.sln
+++ /dev/null
@@ -1,26 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple_rec_segment_statistic", "simple_rec_segment_statistic.vcproj", "{AB068386-BB5C-4442-ACFF-B5D9A79C311A}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Win32 = Debug|Win32
-		Debug|x64 = Debug|x64
-		Release|Win32 = Release|Win32
-		Release|x64 = Release|x64
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|Win32.ActiveCfg = Debug|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|Win32.Build.0 = Debug|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|x64.ActiveCfg = Debug|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|x64.Build.0 = Debug|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|Win32.ActiveCfg = Release|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|Win32.Build.0 = Release|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|x64.ActiveCfg = Release|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|x64.Build.0 = Release|x64
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/Cpp/examples/c_cpp/simple_rec_segment_statistic/simple_rec_segment_statistic.vcproj b/Cpp/examples/c_cpp/simple_rec_segment_statistic/simple_rec_segment_statistic.vcproj
deleted file mode 100644
index 36d31defeb003d316f0a296cae09c63366cf23f9..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_segment_statistic/simple_rec_segment_statistic.vcproj
+++ /dev/null
@@ -1,496 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="simple_rec_segment_statistic"
-	ProjectGUID="{AB068386-BB5C-4442-ACFF-B5D9A79C311A}"
-	RootNamespace="simple_rec_segment_statistic"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/simple_rec_segment_statistic.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/simple_rec_segment_statistic.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/simple_rec_segment_statistic.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/simple_rec_segment_statistic.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/simple_rec_segment_statistic.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/simple_rec_segment_statistic.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/simple_rec_segment_statistic.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/simple_rec_segment_statistic.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/simple_rec_segment_statistic.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/simple_rec_segment_statistic.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/simple_rec_segment_statistic.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/simple_rec_segment_statistic.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/simple_rec_segment_statistic.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/simple_rec_segment_statistic.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/simple_rec_segment_statistic.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/simple_rec_segment_statistic.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/simple_rec_segment_statistic.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/simple_rec_segment_statistic.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/simple_rec_segment_statistic.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/simple_rec_segment_statistic.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="header"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath="simple_rec_segment_statistic.cpp"
-			>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-		<File
-			RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-			>
-		</File>
-		<File
-			RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-			>
-			<FileConfiguration
-				Name="Release|x64"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-		</File>
-		<File
-			RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-			>
-			<FileConfiguration
-				Name="Release|Win32"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|Win32"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/simple_rec_segment_statistic/simple_rec_segment_statistic.vcxproj b/Cpp/examples/c_cpp/simple_rec_segment_statistic/simple_rec_segment_statistic.vcxproj
deleted file mode 100644
index 45931f22380e777e342807ee44b9e95ceac4ee91..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_segment_statistic/simple_rec_segment_statistic.vcxproj
+++ /dev/null
@@ -1,262 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{AB068386-BB5C-4442-ACFF-B5D9A79C311A}</ProjectGuid>
-    <RootNamespace>simple_rec_segment_statistic</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/simple_rec_segment_statistic.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/simple_rec_segment_statistic.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/simple_rec_segment_statistic.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/simple_rec_segment_statistic.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/simple_rec_segment_statistic.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/simple_rec_segment_statistic.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/simple_rec_segment_statistic.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/simple_rec_segment_statistic.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/simple_rec_segment_statistic.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/simple_rec_segment_statistic.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/simple_rec_segment_statistic.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/simple_rec_segment_statistic.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/simple_rec_segment_statistic.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/simple_rec_segment_statistic.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/simple_rec_segment_statistic.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/simple_rec_segment_statistic.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="simple_rec_segment_statistic.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/simple_rec_segment_statistic/simple_rec_segment_statistic.vcxproj.filters b/Cpp/examples/c_cpp/simple_rec_segment_statistic/simple_rec_segment_statistic.vcxproj.filters
deleted file mode 100644
index aece530dd654481a90609c4f61e069f4362f0a23..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_segment_statistic/simple_rec_segment_statistic.vcxproj.filters
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="header">
-      <UniqueIdentifier>{53a0b7b5-f642-485e-a02b-61852e91b463}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="simple_rec_segment_statistic.cpp" />
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib" />
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/simple_rec_std/makefile b/Cpp/examples/c_cpp/simple_rec_std/makefile
deleted file mode 100644
index 4910a597a8f759555002961af54618beb304e05b..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_std/makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-COMPILER =   	g++
-EXECUTABLE = 	simple_rec_std
-LIBS += 	-lspcm_linux -lpthread -lrt
-
-OBJECTS = 	simple_rec_std.o\
-		../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS) 
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/simple_rec_std/simple_rec_std.cpp b/Cpp/examples/c_cpp/simple_rec_std/simple_rec_std.cpp
deleted file mode 100644
index 94428ec87a3db62cacbf6242a9bc64e2e35edf65..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_std/simple_rec_std.cpp
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
-**************************************************************************
-
-simple_rec_std.cpp                                      (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all SpcMDrv based analog acquisition cards.
-
-Information about the different products and their drivers can be found
-online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/platform-driver-and-series-difference
-
-Shows a simple standard mode example using only the few necessary commands
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <stdlib.h>
-
-
-/*
-**************************************************************************
-szTypeToName: doing name translation
-**************************************************************************
-*/
-
-char* szTypeToName (int32 lCardType)
-    {
-    static char szName[50];
-    switch (lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M2ISERIES:     sprintf (szName, "M2i.%04x", lCardType & TYP_VERSIONMASK);      break;
-        case TYP_M2IEXPSERIES:  sprintf (szName, "M2i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3ISERIES:     sprintf (szName, "M3i.%04x", lCardType & TYP_VERSIONMASK);      break;
-        case TYP_M3IEXPSERIES:  sprintf (szName, "M3i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4IEXPSERIES:  sprintf (szName, "M4i.%04x-x8", lCardType & TYP_VERSIONMASK);   break;
-        case TYP_M4XEXPSERIES:  sprintf (szName, "M4x.%04x-x4", lCardType & TYP_VERSIONMASK);   break;
-        case TYP_M2PEXPSERIES:  sprintf (szName, "M2p.%04x-x4", lCardType & TYP_VERSIONMASK);   break;
-        case TYP_M5IEXPSERIES:  sprintf (szName, "M5i.%04x-x16", lCardType & TYP_VERSIONMASK);  break;
-        default:                sprintf (szName, "unknown type");                               break;
-        }
-    return szName;
-    }
-
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    drv_handle  hCard;
-    int32       lCardType, lSerialNumber, lFncType;
-    int16*      pnData = NULL;
-    int8*       pbyData = NULL;
-    char        szErrorTextBuffer[ERRORTEXTLEN];
-    uint32      dwError;
-
-    // open card
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    hCard = spcm_hOpen ("/dev/spcm0");
-    // hCard = spcm_hOpen ("TCPIP::192.168.1.10::inst0::INSTR");
-    if (!hCard)
-        {
-        printf ("no card found...\n");
-        return 0;
-        }
-
-
-    // read type, function and sn and check for A/D card
-    spcm_dwGetParam_i32 (hCard, SPC_PCITYP,         &lCardType);
-    spcm_dwGetParam_i32 (hCard, SPC_PCISERIALNO,    &lSerialNumber);
-    spcm_dwGetParam_i32 (hCard, SPC_FNCTYPE,        &lFncType);
-
-    switch (lFncType)
-        {
-        case SPCM_TYPE_AI:
-            printf ("Found: %s sn %05d\n", szTypeToName (lCardType), lSerialNumber);
-            break;
-
-        default:
-            printf ("Card: %s sn %05d not supported by example\n", szTypeToName (lCardType), lSerialNumber);
-            return 0;
-        }
-
-    int64 llMemsize = 16384; // set memsize to 16 kS
-
-    // do a simple standard setup
-    spcm_dwSetParam_i32 (hCard, SPC_CARDMODE,        SPC_REC_STD_SINGLE);    // single standard mode
-    spcm_dwSetParam_i32 (hCard, SPC_CHENABLE,        CHANNEL0);              // just 1 channel enabled
-    spcm_dwSetParam_i64 (hCard, SPC_MEMSIZE,         llMemsize);             // acquire 16 kS in total
-    spcm_dwSetParam_i64 (hCard, SPC_POSTTRIGGER,     llMemsize / 2);         // half of the total number of samples after trigger event
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_ORMASK,     SPC_TMASK_SOFTWARE);    // trigger set to software
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_ANDMASK,    0);                     // ...
-    spcm_dwSetParam_i32 (hCard, SPC_CLOCKMODE,       SPC_CM_INTPLL);         // clock mode internal PLL
-    spcm_dwSetParam_i32 (hCard, SPC_CLOCKOUT,        0);                     // no clock output
-    spcm_dwSetParam_i32 (hCard, SPC_TIMEOUT,         5000);                  // timeout 5 s
-
-    // set card to maximum sampling rate
-    int64 llMaxSamplingrate = 0;
-    spcm_dwGetParam_i64 (hCard, SPC_PCISAMPLERATE, &llMaxSamplingrate);
-    spcm_dwSetParam_i64 (hCard, SPC_SAMPLERATE, llMaxSamplingrate);
-
-
-    // start card and wait for card ready
-    dwError = spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER | M2CMD_CARD_WAITREADY);
-
-    // check for error
-    if (dwError != ERR_OK)
-        {
-        spcm_dwGetErrorInfo_i32 (hCard, NULL, NULL, szErrorTextBuffer);
-        printf ("%s\n", szErrorTextBuffer);
-        spcm_vClose (hCard);
-        return 0;
-        }
-
-
-    // setup transfer buffer and start DMA to transfer data from card to pc memory
-
-    // read bytes per sample value (8 bit cards = 1 bytes, 12, 14, 16 bit cards = 2 bytes)
-    int32 lBytesPerSample = 0;
-    spcm_dwGetParam_i32 (hCard, SPC_MIINST_BYTESPERSAMPLE, &lBytesPerSample);
-
-    // define data buffer
-    int64 llBufferSize = llMemsize * lBytesPerSample;
-
-    switch (lBytesPerSample)
-        {
-        case 1:
-            pbyData = (int8*) pvAllocMemPageAligned (llBufferSize);
-            if (pbyData)
-                spcm_dwDefTransfer_i64 (hCard, SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, 0, pbyData, 0, llBufferSize);
-            break;
-
-        case 2:
-            pnData = (int16*) pvAllocMemPageAligned (llBufferSize);
-            if (pnData)
-                spcm_dwDefTransfer_i64 (hCard, SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, 0, pnData, 0, llBufferSize);
-            break;
-        }
-
-    if (!pbyData && !pnData)
-        {
-        printf ("memory allocation failed\n");
-        spcm_vClose (hCard);
-        return 0;
-        }
-
-    // start DMA and wait for DMA transfer ready state
-    dwError = spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_DATA_STARTDMA | M2CMD_DATA_WAITDMA);
-
-
-    // get minimum and maximum values from data
-    int32 lMin = 32767;
-    int32 lMax = -32767;
-
-    for (int64 llDataIdx = 0; llDataIdx < llMemsize; llDataIdx++)
-        {
-        switch (lBytesPerSample)
-            {
-            case 1:
-                if (pbyData[llDataIdx] < lMin) lMin = pbyData[llDataIdx];
-                if (pbyData[llDataIdx] > lMax) lMax = pbyData[llDataIdx];
-                break;
-            case 2:
-                if (pnData[llDataIdx] < lMin) lMin = pnData[llDataIdx];
-                if (pnData[llDataIdx] > lMax) lMax = pnData[llDataIdx];
-                break;
-            }
-        }
-
-    printf ("\nMinimum: %d\n", lMin);
-    printf ("Maximum: %d\n\n", lMax);
-
-    // close card
-    spcm_vClose (hCard);
-
-    switch (lBytesPerSample)
-        {
-        case 1: vFreeMemPageAligned (pbyData, llBufferSize); break;
-        case 2: vFreeMemPageAligned (pnData,  llBufferSize); break;
-        }
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/simple_rec_std/simple_rec_std.vcproj b/Cpp/examples/c_cpp/simple_rec_std/simple_rec_std.vcproj
deleted file mode 100644
index 4f025dfb2ecedc0bd2aa644c7b4105640ff38d31..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_std/simple_rec_std.vcproj
+++ /dev/null
@@ -1,496 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="simple_rec_fifo"
-	ProjectGUID="{AB068386-BB5C-4442-ACFF-B5D9A79C311A}"
-	RootNamespace="simple_rec_fifo"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/simple_rec_fifo.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/simple_rec_fifo.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/simple_rec_fifo.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/simple_rec_fifo.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/simple_rec_fifo.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/simple_rec_fifo.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/simple_rec_fifo.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/simple_rec_fifo.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/simple_rec_fifo.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/simple_rec_fifo.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/simple_rec_fifo.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/simple_rec_fifo.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/simple_rec_fifo.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/simple_rec_fifo.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/simple_rec_fifo.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/simple_rec_fifo.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/simple_rec_fifo.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/simple_rec_fifo.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/simple_rec_fifo.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/simple_rec_fifo.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="header"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath=".\simple_rec_std.cpp"
-			>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-		<File
-			RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-			>
-		</File>
-		<File
-			RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-			>
-			<FileConfiguration
-				Name="Release|x64"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-		</File>
-		<File
-			RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-			>
-			<FileConfiguration
-				Name="Release|Win32"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|Win32"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/simple_rec_std/simple_rec_std.vcxproj b/Cpp/examples/c_cpp/simple_rec_std/simple_rec_std.vcxproj
deleted file mode 100644
index 51712a4c797119e4f07a1b1f7a3120239b7927ac..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_std/simple_rec_std.vcxproj
+++ /dev/null
@@ -1,246 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectName>simple_rec_std</ProjectName>
-    <ProjectGuid>{C35D57FE-8A46-4BC1-9CF6-CF8DE8767C0A}</ProjectGuid>
-    <RootNamespace>simple_rec_fifo</RootNamespace>
-    <WindowsTargetPlatformVersion>
-    </WindowsTargetPlatformVersion>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/simple_rec_fifo.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/simple_rec_fifo.pch</PrecompiledHeaderOutputFile>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/simple_rec_fifo.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/simple_rec_fifo.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/simple_rec_fifo.pch</PrecompiledHeaderOutputFile>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/simple_rec_fifo.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/simple_rec_fifo.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/simple_rec_fifo.pch</PrecompiledHeaderOutputFile>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/simple_rec_fifo.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/simple_rec_fifo.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/simple_rec_fifo.pch</PrecompiledHeaderOutputFile>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/simple_rec_fifo.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="simple_rec_std.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/simple_rec_std/simple_rec_std.vcxproj.filters b/Cpp/examples/c_cpp/simple_rec_std/simple_rec_std.vcxproj.filters
deleted file mode 100644
index 9895c61fd0a2230abcb354275823296763be8e1a..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rec_std/simple_rec_std.vcxproj.filters
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <ClCompile Include="simple_rec_std.cpp" />
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>Libs</Filter>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>Header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>Header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>Header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>Header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>Header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>Header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <Filter Include="Header">
-      <UniqueIdentifier>{da0e9b67-353f-4c16-8aba-40f0dffd6413}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Libs">
-      <UniqueIdentifier>{4a792919-840e-4d23-b721-64c9f6fd94db}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>Libs</Filter>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>Libs</Filter>
-    </Library>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/simple_rep_fifo/makefile b/Cpp/examples/c_cpp/simple_rep_fifo/makefile
deleted file mode 100644
index 40fa2bf633e157ece6a9ccdf8815630469f517e7..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rep_fifo/makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-COMPILER =   	g++
-EXECUTABLE = 	simple_rep_fifo
-LIBS += 	-lspcm_linux -lpthread -lrt
-
-OBJECTS = 	simple_rep_fifo.o\
-		../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/simple_rep_fifo/simple_rep_fifo.cpp b/Cpp/examples/c_cpp/simple_rep_fifo/simple_rep_fifo.cpp
deleted file mode 100644
index 64b5f7b0924f0f809e9519f00e83a01d5b68cccc..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rep_fifo/simple_rep_fifo.cpp
+++ /dev/null
@@ -1,359 +0,0 @@
-/*
-**************************************************************************
-
-simple_rep_fifo.cpp                                      (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all SpcMDrv based analog generation cards.
-
-Information about the different products and their drivers can be found
-online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/platform-driver-and-series-differences
-
-Shows a FIFO mode example using only the few necessary commands
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-// ----- standard c include files -----
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-
-#define _USE_MATH_DEFINES // for M_PI
-#include <cmath>
-
-#define MAX_WAVEFORMS 3
-#define WAVEFORM_LENGTH (1024*1024)
-
-/*
-**************************************************************************
-szTypeToName: doing name translation
-**************************************************************************
-*/
-
-char* szTypeToName (int32 lCardType)
-    {
-    static char szName[50];
-    switch (lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M2ISERIES:     sprintf (szName, "M2i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2IEXPSERIES:  sprintf (szName, "M2i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3ISERIES:     sprintf (szName, "M3i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3IEXPSERIES:  sprintf (szName, "M3i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4IEXPSERIES:  sprintf (szName, "M4i.%04x-x8",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4XEXPSERIES:  sprintf (szName, "M4x.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2PEXPSERIES:  sprintf (szName, "M2p.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M5IEXPSERIES:  sprintf (szName, "M5i.%04x-x16", lCardType & TYP_VERSIONMASK);  break;
-        default:                sprintf (szName, "unknown type");                               break;
-        }
-    return szName;
-    }
-
-void vCalcWaveforms (int16** ppnWaveforms, uint32 dwNumWaveforms, uint32 dwLength, int32 lMaxADCValue)
-    {
-    double dMulti = (double)(2.*lMaxADCValue-1) / (double)dwLength;
-
-    for (uint32 dwWaveformIdx = 0; dwWaveformIdx < dwNumWaveforms; dwWaveformIdx++)
-        {
-        for (uint32 lDataIdx = 0; lDataIdx < dwLength; lDataIdx++)
-            {
-            switch (dwWaveformIdx)
-                {
-                // rectangle
-                case 1:
-                    if (lDataIdx < dwLength / 2)
-                        ppnWaveforms[dwWaveformIdx][lDataIdx] = (int16)(lMaxADCValue - 1);
-                    else
-                        ppnWaveforms[dwWaveformIdx][lDataIdx] = (int16)(lMaxADCValue * -1);
-                    break;
-
-                // ramp
-                case 2:
-                    ppnWaveforms[dwWaveformIdx][lDataIdx] = -lMaxADCValue + (int16)(lDataIdx * dMulti);
-                    break;
-
-                // sine
-                default:
-                    ppnWaveforms[dwWaveformIdx][lDataIdx] = (int16)((lMaxADCValue - 1) * sin ((2.0 * M_PI * lDataIdx) / dwLength));
-                    break;
-                }
-            }
-        }
-    }
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    drv_handle  hCard = NULL_HANDLE;
-    bool        bError = false;
-    int32       lCardType, lSerialNumber, lFncType, lDataIdx, lWaveformIdx;
-    int16*      pnDataBuffer = NULL;
-    int16*      ppnWaveforms[MAX_WAVEFORMS];
-    char        szErrorTextBuffer[ERRORTEXTLEN], szName[50];
-
-    // settings for the FIFO mode buffer handling
-    int64       llSamplerate =  MEGA(50);
-    
-    // setup for the FIFO mode (HW buffer size can be programmed starting with firmware V9)
-    int64       llBufferSize =  64 * sizeof (int16) * WAVEFORM_LENGTH;
-    int64       llHWBufSize =   MEGA_B(1024);
-    uint32      dwNotifySize =  sizeof (int16) * WAVEFORM_LENGTH;
-
-    // some example checks
-    if (llBufferSize % dwNotifySize)
-        {
-        printf ("In our example we can only handle sw buffers that are a whole numbered multiple of the notify size\n");
-        return 1;
-        }
-
-    // ------------------------------------------------------------------------
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a generatorNETBOX
-    int32 lCardIdx = 0;
-    sprintf (szName, "/dev/spcm%d", lCardIdx);
-    // sprintf (szName, "TCPIP::192.168.1.10::inst%d::INSTR", lCardIdx);
-    hCard = spcm_hOpen (szName);
-
-    // no card found
-    if (!hCard)
-        {
-        printf ("no card found...\n");
-        return 0;
-        }
-
-    // read out some info and print it
-    spcm_dwGetParam_i32 (hCard, SPC_PCITYP,            &lCardType);
-    spcm_dwGetParam_i32 (hCard, SPC_PCISERIALNO,       &lSerialNumber);
-    spcm_dwGetParam_i32 (hCard, SPC_FNCTYPE,           &lFncType);
-
-    switch (lFncType)
-        {
-        case SPCM_TYPE_AO:
-            printf ("Found: %s sn %05d\n", szTypeToName (lCardType), lSerialNumber);
-            break;
-
-        // only D/A cards allowed in example
-        default:
-            printf ("Card: %s sn %05d not supported by example\n", szTypeToName (lCardType), lSerialNumber);
-            bError = true;
-            break;
-        }
-
-    int32 lMaxADCValue = 0;
-    spcm_dwGetParam_i32 (hCard, SPC_MIINST_MAXADCVALUE, &lMaxADCValue);
-
-    // ------------------------------------------------------------------------
-    // do a simple standard setup for all cards
-    spcm_dwSetParam_i32 (hCard, SPC_CHENABLE,        CHANNEL0);              // just 1 channel enabled
-    spcm_dwSetParam_i32 (hCard, SPC_CARDMODE,        SPC_REP_FIFO_SINGLE);   // single FIFO mode
-    spcm_dwSetParam_i32 (hCard, SPC_TIMEOUT,         5000);                  // timeout 5 s
-    spcm_dwSetParam_i32 (hCard, SPC_CLOCKMODE,       SPC_CM_INTPLL);         // clock mode internal PLL
-    spcm_dwSetParam_i64 (hCard, SPC_SAMPLERATE,      llSamplerate);          // sampling clock (used default for this example is 50 MHz)
-    spcm_dwSetParam_i32 (hCard, SPC_CLOCKOUT,        0);                     // no clock output
-    spcm_dwSetParam_i32 (hCard, SPC_AMP0,            1000);                  // 1V output amplitude
-    spcm_dwSetParam_i32 (hCard, SPC_LOOPS,           0);                     // loop continuously
-    spcm_dwSetParam_i32 (hCard, SPC_ENABLEOUT0,      1);                     // enable output of ch0
-
-    // trigger mode definition (in our example it is software trigger)
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_ORMASK,     0);
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_ANDMASK,    0);
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_ORMASK,     SPC_TMASK_SOFTWARE);
-
-    // starting with firmware version V9 we can program the hardware buffer size to reduce the latency
-    int32 lHWFWVersion = 0;
-    spcm_dwGetParam_i32 (hCard, SPC_PCIVERSION, &lHWFWVersion);
-    if ((lHWFWVersion & 0xFFFF) >= 9)
-        {
-        spcm_dwSetParam_i64 (hCard, SPC_DATA_OUTBUFSIZE, llHWBufSize);
-        spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_CARD_WRITESETUP);
-        }
-
-    // ------------------------------------------------------------------------
-    // calculate waveforms
-    for (uint32 dwIdx = 0; dwIdx < MAX_WAVEFORMS; dwIdx++)
-        ppnWaveforms[dwIdx] = (int16*)pvAllocMemPageAligned (sizeof (int16) * (uint64)WAVEFORM_LENGTH);
-
-    vCalcWaveforms (ppnWaveforms, MAX_WAVEFORMS, WAVEFORM_LENGTH, lMaxADCValue);
-
-    // ------------------------------------------------------------------------
-    // define and allocate the data buffers
-    pnDataBuffer = (int16*) pvAllocMemPageAligned ((uint64) llBufferSize);
-    if (!pnDataBuffer)
-        {
-        printf ("memory allocation failed\n");
-        bError = true;
-        }
-    else
-        {
-        spcm_dwDefTransfer_i64 (hCard, SPCM_BUF_DATA, SPCM_DIR_PCTOCARD, dwNotifySize, pnDataBuffer, 0, llBufferSize);
-
-        // ------------------------------------------------------------------------
-        // copy waveform data to buffer
-        lWaveformIdx = 0;
-        lDataIdx = 0;
-        for (int64 llPos = 0; llPos < llBufferSize / 2; ++llPos) // llBufferSize / 2 gives the number of samples in the buffer
-            {
-            pnDataBuffer[llPos] = ppnWaveforms[lWaveformIdx][lDataIdx];
-            ++lDataIdx %= WAVEFORM_LENGTH;
-            }
-        }
-
-    // ------------------------------------------------------------------------
-    // do start and check for error
-    if (!bError)
-        {
-        // transfer data in buffer to card memory
-        spcm_dwSetParam_i64 (hCard, SPC_DATA_AVAIL_CARD_LEN, llBufferSize);
-
-        spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_DATA_STARTDMA | M2CMD_DATA_WAITDMA);
-        }
-
-
-    // ------------------------------------------------------------------------
-    // this is the main data loop: we wait for all cards to have space available
-    // in a loop. This may be put into threads to have one thread controlling data of
-    // one card. In our example we simply put it in the main loop as each card is
-    // configured similar and will have space available at the same time
-    if (!bError)
-        {
-        int64 llTransferredBytes   = 0;
-        int64 llAvailUser          = 0;
-        int64 llBufferFillPromille = 0;
-        int64 llUserPos            = 0;
-        bool  bStarted = false;
-        bool  bAbort   = false;
-
-        // run the FIFO loop
-        uint32 dwNumCardsFilled = 0; // count number of cards whose memory has been filled (only pre-start)
-        while (!bError && !bAbort)
-            {
-            // get available space in DMA buffer
-            spcm_dwGetParam_i64 (hCard, SPC_DATA_AVAIL_USER_LEN, &llAvailUser);
-            spcm_dwGetParam_i64 (hCard, SPC_FILLSIZEPROMILLE,    &llBufferFillPromille);
-            printf ("\rSW-Buffer: %3.0f%%   HW-Buffer:%3d%%, Total Bytes so far: %6.2f MB", (float) 100.0 * (llBufferSize - llAvailUser) / llBufferSize, (uint32) llBufferFillPromille / 10, (float) llTransferredBytes / MEGA_B(1));
-
-            if (llAvailUser >= dwNotifySize)
-                {
-                // get position of free space in DMA buffer
-                spcm_dwGetParam_i64 (hCard, SPC_DATA_AVAIL_USER_POS, &llUserPos);
-
-                // avoid buffer wrap-around
-                int64 llDataToWrite = dwNotifySize;
-                if (llUserPos + dwNotifySize > llBufferSize)
-                    llDataToWrite = llBufferSize - llUserPos;
-
-                // copy new data to buffer
-                memcpy (pnDataBuffer + (llUserPos/2), ppnWaveforms[lWaveformIdx], (size_t)llDataToWrite);
-
-                // set data available for transfer
-                spcm_dwSetParam_i64 (hCard, SPC_DATA_AVAIL_CARD_LEN, llDataToWrite);
-                llTransferredBytes += llDataToWrite;
-                
-                // switch waveform after 1 GB has been transferred
-                if (!(llTransferredBytes % (1024*1024*1024)))
-                    ++lWaveformIdx %= MAX_WAVEFORMS;
-                }
-
-            // we start the output as soon as we have a sufficient amount of data on card
-            // inhere we start if the hardware buffer is completely full
-            if (!bStarted && !bError && (llBufferFillPromille == 1000))
-                {
-                printf ("\nStart the output\n");
-
-                // start command including enable of trigger engine -> error check
-                if (spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER) != ERR_OK)
-                    {
-                    spcm_dwGetErrorInfo_i32 (hCard, NULL, NULL, szErrorTextBuffer);
-                    printf ("%s\n", szErrorTextBuffer);
-                    bError = true;
-                    }
-                bStarted = true;
-                }
-
-            // wait for the next buffer to be free
-            switch (spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_DATA_WAITDMA))
-                {
-                case ERR_TIMEOUT:
-                    printf ("... timeout\n");
-                    bError = true;
-                    break;
-
-                case ERR_FIFOHWOVERRUN:
-                case ERR_FIFOBUFOVERRUN:
-                    printf ("... buffer underrun\n");
-                    bError = true;
-                    break;
-
-                case ERR_OK:
-                    break;
-
-                default:
-                    bError = true;
-                    break;
-                }
-
-            /*
-            // check for escape = abort
-            if (bKbhit ())
-                {
-                if (cGetch () == 27)
-                    bAbort = true;
-                }
-            */
-            }
-        }
-
-
-    // ------------------------------------------------------------------------
-    // check for errors
-    if (bError)
-        {
-        spcm_dwGetErrorInfo_i32 (hCard, NULL, NULL, szErrorTextBuffer);
-        printf ("Error: %s\n", szErrorTextBuffer);
-        }
-
-    // no error: we managed to run through completely
-    else
-        printf ("\nfinished ...\n");
-
-    // send the stop command
-    spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_CARD_STOP | M2CMD_DATA_STOPDMA);
-
-    // clean up
-    if (pnDataBuffer)
-        vFreeMemPageAligned (pnDataBuffer, (uint64) llBufferSize);
-
-    for (uint32 dwIdx = 0; dwIdx < MAX_WAVEFORMS; dwIdx++)
-        vFreeMemPageAligned (ppnWaveforms[dwIdx], sizeof (int16) * (uint64)WAVEFORM_LENGTH);
-        
-    spcm_vClose (hCard);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/simple_rep_fifo/simple_rep_fifo.vcproj b/Cpp/examples/c_cpp/simple_rep_fifo/simple_rep_fifo.vcproj
deleted file mode 100644
index 4d7c92535ff04517dafc756eee4c537d10c8e0c3..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rep_fifo/simple_rep_fifo.vcproj
+++ /dev/null
@@ -1,464 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="simple_rep_fifo"
-	ProjectGUID="{AB068386-BB5C-4442-ACFF-B5D9A79C311A}"
-	RootNamespace="rec_std_single"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rec_std_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_std_single.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_std_single.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_std_single.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_std_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rec_std_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_std_single.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_std_single.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_std_single.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_std_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rec_std_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_std_single.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_std_single.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_std_single.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_std_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rec_std_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_std_single.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_std_single.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_std_single.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_std_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="header"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath=".\simple_rep_fifo.cpp"
-			>
-		</File>
-		<File
-			RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-			>
-		</File>
-		<File
-			RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-			>
-			<FileConfiguration
-				Name="Release|x64"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-		</File>
-		<File
-			RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-			>
-			<FileConfiguration
-				Name="Release|Win32"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|Win32"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/simple_rep_fifo/simple_rep_fifo.vcxproj b/Cpp/examples/c_cpp/simple_rep_fifo/simple_rep_fifo.vcxproj
deleted file mode 100644
index 5af4ee7208ef7d47272e3391769fee6ec49f4b22..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rep_fifo/simple_rep_fifo.vcxproj
+++ /dev/null
@@ -1,262 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{AB068386-BB5C-4442-ACFF-B5D9A79C311A}</ProjectGuid>
-    <RootNamespace>rec_std_single</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="simple_rep_fifo.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
diff --git a/Cpp/examples/c_cpp/simple_rep_fifo/simple_rep_fifo.vcxproj.filters b/Cpp/examples/c_cpp/simple_rep_fifo/simple_rep_fifo.vcxproj.filters
deleted file mode 100644
index 285a6f45917c70d1220d00291cd6b38fa7efec16..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rep_fifo/simple_rep_fifo.vcxproj.filters
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="header">
-      <UniqueIdentifier>{5bf2a4db-dd6c-4a11-9913-f9987cf4e5a2}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="simple_rep_fifo.cpp" />
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib" />
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib" />
-  </ItemGroup>
-</Project>
diff --git a/Cpp/examples/c_cpp/simple_rep_std/makefile b/Cpp/examples/c_cpp/simple_rep_std/makefile
deleted file mode 100644
index 01807cdab74419d336c9c8865eb74df557f4e6cc..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rep_std/makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-COMPILER =   	g++
-EXECUTABLE = 	simple_rep_std
-LIBS += 	-lspcm_linux -lpthread -lrt
-
-OBJECTS = 	simple_rep_std.o\
-		../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/simple_rep_std/simple_rep_std.cpp b/Cpp/examples/c_cpp/simple_rep_std/simple_rep_std.cpp
deleted file mode 100644
index 8cfced0d9ba10b88374f66bf0725605d8e860f23..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rep_std/simple_rep_std.cpp
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
-**************************************************************************
-
-simple_rep_std.cpp                                       (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all SpcMDrv based analog generation cards.
-
-Information about the different products and their drivers can be found
-online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/platform-driver-and-series-differences
-
-Shows a standard mode example using only the few necessary commands
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-// ----- standard c include files -----
-#include <cstdio>
-#include <cstdlib>
-#define _USE_MATH_DEFINES
-#include <cmath>
-
-#define WAVEFORM_LENGTH (1024*1024)
-
-/*
-**************************************************************************
-szTypeToName: doing name translation
-**************************************************************************
-*/
-
-char* szTypeToName (int32 lCardType)
-    {
-    static char szName[50];
-    switch (lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M2ISERIES:     sprintf (szName, "M2i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2IEXPSERIES:  sprintf (szName, "M2i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3ISERIES:     sprintf (szName, "M3i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3IEXPSERIES:  sprintf (szName, "M3i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4IEXPSERIES:  sprintf (szName, "M4i.%04x-x8",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4XEXPSERIES:  sprintf (szName, "M4x.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2PEXPSERIES:  sprintf (szName, "M2p.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M5IEXPSERIES:  sprintf (szName, "M5i.%04x-x16", lCardType & TYP_VERSIONMASK);  break;
-        default:                sprintf (szName, "unknown type");                               break;
-        }
-    return szName;
-    }
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    drv_handle  hCard = NULL_HANDLE;
-    bool        bError = false;
-    char        szErrorTextBuffer[ERRORTEXTLEN], szName[50];
-
-    int64       llSamplerate =  MEGA(50);
-
-    // ------------------------------------------------------------------------
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a generatorNETBOX
-    int32 lCardIdx = 0;
-    sprintf (szName, "/dev/spcm%d", lCardIdx);
-    // sprintf (szName, "TCPIP::192.168.1.10::inst%d::INSTR", lCardIdx);
-    hCard = spcm_hOpen (szName);
-
-    // no card found
-    if (!hCard)
-        {
-        printf ("no card found...\n");
-        return 0;
-        }
-
-    // read out some info and print it
-    int32 lCardType = 0;
-    spcm_dwGetParam_i32 (hCard, SPC_PCITYP,            &lCardType);
-    int32 lSerialNumber = 0;
-    spcm_dwGetParam_i32 (hCard, SPC_PCISERIALNO,       &lSerialNumber);
-    int32 lFncType = 0;
-    spcm_dwGetParam_i32 (hCard, SPC_FNCTYPE,           &lFncType);
-
-    switch (lFncType)
-        {
-        case SPCM_TYPE_AO:
-            printf ("Found: %s sn %05d\n", szTypeToName (lCardType), lSerialNumber);
-            break;
-
-        // only D/A cards allowed in example
-        default:
-            printf ("Card: %s sn %05d not supported by example\n", szTypeToName (lCardType), lSerialNumber);
-            bError = true;
-            break;
-        }
-
-    int32 lMaxDACValue = 0;
-    spcm_dwGetParam_i32 (hCard, SPC_MIINST_MAXADCVALUE, &lMaxDACValue);
-
-    int32 lNumModules = 0;
-    spcm_dwGetParam_i32 (hCard, SPC_MIINST_MODULES, &lNumModules);
-    int32 lNumChPerModule = 0;
-    spcm_dwGetParam_i32 (hCard, SPC_MIINST_CHPERMODULE, &lNumChPerModule);
-    int32 lNumCh = lNumModules * lNumChPerModule;
-
-    // ------------------------------------------------------------------------
-    // do a simple standard setup for all cards
-    spcm_dwSetParam_i32 (hCard, SPC_CHENABLE,        (0x1 << lNumCh) - 1);   // enable all channels
-    spcm_dwSetParam_i32 (hCard, SPC_CARDMODE,        SPC_REP_STD_SINGLE);    // standard single mode
-    spcm_dwSetParam_i32 (hCard, SPC_CLOCKMODE,       SPC_CM_INTPLL);         // clock mode internal PLL
-    spcm_dwSetParam_i64 (hCard, SPC_SAMPLERATE,      llSamplerate);          // sampling clock
-    spcm_dwSetParam_i32 (hCard, SPC_CLOCKOUT,        0);                     // no clock output
-    spcm_dwSetParam_i32 (hCard, SPC_MEMSIZE,         WAVEFORM_LENGTH);       // number of samples per channel
-    spcm_dwSetParam_i32 (hCard, SPC_LOOPS,           0);                     // loop continuous
-
-    // trigger mode definition (in our example it is software trigger)
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_ORMASK,     SPC_TMASK_SOFTWARE);
-    spcm_dwSetParam_i32 (hCard, SPC_TRIG_ANDMASK,    0);
-
-    // setup the channels
-    for (int lChIdx = 0; lChIdx < lNumCh; ++lChIdx)
-        {
-        spcm_dwSetParam_i32 (hCard, SPC_AMP0       + 100 * lChIdx,   1000); // +-1V output amplitude
-        spcm_dwSetParam_i32 (hCard, SPC_ENABLEOUT0 + 100 * lChIdx,      1); // enable output of channel
-        }
-
-    // ------------------------------------------------------------------------
-    // calculate waveforms
-    int64 llBufferSize = sizeof (int16) * lNumCh * (uint64)WAVEFORM_LENGTH;
-    int16* anDMABuffer = (int16*)pvAllocMemPageAligned (llBufferSize);
-    for (int lChIdx = 0; lChIdx < lNumCh; ++lChIdx)
-        {
-        // calculate each sample and put it into the DMA buffer (multiplexed)
-        for (int i = 0; i < WAVEFORM_LENGTH; ++i)
-            {
-            int16 nValue = 0;
-            switch (lChIdx)
-                {
-                default:
-                case 0:
-                    // sine
-                    nValue = (int16)(lMaxDACValue * sin (2. * M_PI * i / (WAVEFORM_LENGTH / (lChIdx + 1)))); // for channel zero we generate one period. for channels higher than 3 a faster sine is generated
-                    break;
-                case 1:
-                    // one rectangle period (max amplitude)
-                    if (i < WAVEFORM_LENGTH / 2)
-                        nValue = (int16)lMaxDACValue - 1;
-                    else
-                        nValue = (int16)-lMaxDACValue;
-                    break;
-                case 2:
-                    // rising ramp
-                    nValue = (int16)(-lMaxDACValue + 2*lMaxDACValue * ((double)i / WAVEFORM_LENGTH));
-                    break;
-                case 3:
-                    {
-                    // sinc function in the interval -4pi to +4pi
-                    double dX = -4. * M_PI + 8. * M_PI * ((double)i / WAVEFORM_LENGTH);
-                    nValue = (int16)(lMaxDACValue * sin (dX) / dX);
-                    break;
-                    }
-                }
-
-            anDMABuffer[lNumCh * i + lChIdx] = nValue;
-            }
-        }
-
-    printf ("Starting the DMA transfer and waiting until data is in board memory\n");
-    spcm_dwDefTransfer_i64 (hCard, SPCM_BUF_DATA, SPCM_DIR_PCTOCARD, 0, anDMABuffer, 0, llBufferSize);
-    spcm_dwSetParam_i64 (hCard, SPC_DATA_AVAIL_CARD_LEN, llBufferSize);
-    spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_DATA_STARTDMA | M2CMD_DATA_WAITDMA);
-    printf ("... data has been transferred to board memory\n");
-
-    // We'll start and wait until the card has finished or until a timeout occurs
-    spcm_dwSetParam_i32 (hCard, SPC_TIMEOUT, 10 * 1000); // 10 seconds timeout
-    printf ("\nStarting the card and waiting for ready interrupt\n(continuous and single restart will have timeout)\n");
-    // start command including enable of trigger engine -> error check
-    if (spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER | M2CMD_CARD_WAITREADY) != ERR_OK)
-        {
-        spcm_dwGetErrorInfo_i32 (hCard, NULL, NULL, szErrorTextBuffer);
-        printf ("Error: %s\n", szErrorTextBuffer);
-        }
-
-    printf ("\nFinished ...\n");
-
-    // send the stop command
-    spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_CARD_STOP | M2CMD_DATA_STOPDMA);
-
-    // clean up
-    vFreeMemPageAligned (anDMABuffer, llBufferSize);
-        
-    spcm_vClose (hCard);
-
-    return EXIT_SUCCESS;
-    }
diff --git a/Cpp/examples/c_cpp/simple_rep_std/simple_rep_std.vcxproj b/Cpp/examples/c_cpp/simple_rep_std/simple_rep_std.vcxproj
deleted file mode 100644
index 2788fc2347d5d0ffb0323575e06680422fec4a4e..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rep_std/simple_rep_std.vcxproj
+++ /dev/null
@@ -1,262 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{AB068386-BB5C-4442-ACFF-B5D9A79C311A}</ProjectGuid>
-    <RootNamespace>rec_std_single</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="simple_rep_std.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
diff --git a/Cpp/examples/c_cpp/simple_rep_std/simple_rep_std.vcxproj.filters b/Cpp/examples/c_cpp/simple_rep_std/simple_rep_std.vcxproj.filters
deleted file mode 100644
index 54592eef12bc2bbfdd483c5f2ce3c4510f907580..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_rep_std/simple_rep_std.vcxproj.filters
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="header">
-      <UniqueIdentifier>{5bf2a4db-dd6c-4a11-9913-f9987cf4e5a2}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="simple_rep_std.cpp" />
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib" />
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib" />
-  </ItemGroup>
-</Project>
diff --git a/Cpp/examples/c_cpp/simple_sync_io_fifo/simple_sync_io_fifo.cpp b/Cpp/examples/c_cpp/simple_sync_io_fifo/simple_sync_io_fifo.cpp
deleted file mode 100644
index 0b6ad48657a804084e8c24f7285e5778ee00c1e7..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_sync_io_fifo/simple_sync_io_fifo.cpp
+++ /dev/null
@@ -1,481 +0,0 @@
-/*
-**************************************************************************
-
-simple_sync_io_fifo.cpp                                 (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all SpcMDrv based cards.
-
-Information about the different products and their drivers can be found
-online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/platform-driver-and-series-differences
-
-Shows a synchronized FIFO mode example using only the few necessary commands
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-#define MAXCARDS 16
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <stdlib.h>
-
-#define _USE_MATH_DEFINES // for M_PI
-#include <math.h>
-
-typedef struct
-    {
-    drv_handle hCard;
-    bool       bDMAStarted;
-    int32      lFncType;
-    int32      lMaxADCValue;
-    int16*     pnData;
-    } ST_CARD;
-
-/*
-**************************************************************************
-szTypeToName: doing name translation
-**************************************************************************
-*/
-
-char* szTypeToName (int32 lCardType)
-    {
-    static char szName[50];
-    switch (lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M2ISERIES:     sprintf (szName, "M2i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2IEXPSERIES:  sprintf (szName, "M2i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3ISERIES:     sprintf (szName, "M3i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3IEXPSERIES:  sprintf (szName, "M3i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4IEXPSERIES:  sprintf (szName, "M4i.%04x-x8",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4XEXPSERIES:  sprintf (szName, "M4x.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2PEXPSERIES:  sprintf (szName, "M2p.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M5IEXPSERIES:  sprintf (szName, "M5i.%04x-x16", lCardType & TYP_VERSIONMASK);  break;
-        default:                sprintf (szName, "unknown type");                               break;
-        }
-    return szName;
-    }
-
-/*
-**************************************************************************
-bSetupAICard: doing simple setup for AD cards
-**************************************************************************
-*/
-
-bool bSetupAICard (drv_handle hCard)
-    {
-    int32 lCardType;
-
-    uint32 dwError = 0;
-
-    dwError += spcm_dwSetParam_i32 (hCard, SPC_CHENABLE,     CHANNEL0);              // just 1 channel enabled
-    dwError += spcm_dwSetParam_i32 (hCard, SPC_CARDMODE,     SPC_REC_FIFO_SINGLE);   // single FIFO mode
-    dwError += spcm_dwSetParam_i32 (hCard, SPC_PRETRIGGER,   1024);                  // 1k of pretrigger data at start of FIFO mode
-    dwError += spcm_dwSetParam_i32 (hCard, SPC_TIMEOUT,      5000);                  // timeout 5 s
-    dwError += spcm_dwSetParam_i32 (hCard, SPC_AMP0,         1000);                  // 1V input range
-    dwError += spcm_dwSetParam_i32 (hCard, SPC_CLOCKMODE,    SPC_CM_INTPLL);         // clock mode internal PLL
-    dwError += spcm_dwSetParam_i32 (hCard, SPC_CLOCKOUT,     0);                     // no clock output
-    dwError += spcm_dwSetParam_i32 (hCard, SPC_TRIG_ORMASK,  0);
-    dwError += spcm_dwSetParam_i32 (hCard, SPC_TRIG_ANDMASK, 0);
-    dwError += spcm_dwSetParam_i32 (hCard, SPC_TRIG_ORMASK,  SPC_TMASK_SOFTWARE);
-
-    dwError += spcm_dwGetParam_i32 (hCard, SPC_PCITYP, &lCardType);
-
-    // we try to set the samplerate to 100 kHz (M2i) or 10 MHz
-    if (((lCardType & TYP_SERIESMASK) == TYP_M2ISERIES) || ((lCardType & TYP_SERIESMASK) == TYP_M2IEXPSERIES))
-        dwError += spcm_dwSetParam_i64 (hCard, SPC_SAMPLERATE, KILO(100));
-    else
-        dwError += spcm_dwSetParam_i64 (hCard, SPC_SAMPLERATE, MEGA(10));
-
-    if (!dwError)
-        return false;
-    else
-        return true;
-    }
-
-/*
-**************************************************************************
-bSetupAOCard: doing simple setup for DA cards
-**************************************************************************
-*/
-
-bool bSetupAOCard (drv_handle hCard)
-    {
-    int32 lCardType;
-
-    uint32 dwError = 0;
-
-    dwError += spcm_dwSetParam_i32 (hCard, SPC_CHENABLE,     CHANNEL0);              // just 1 channel enabled
-    dwError += spcm_dwSetParam_i32 (hCard, SPC_CARDMODE,     SPC_REP_FIFO_SINGLE);   // single FIFO mode
-    dwError += spcm_dwSetParam_i32 (hCard, SPC_TIMEOUT,      5000);                  // timeout 5 s
-    dwError += spcm_dwSetParam_i32 (hCard, SPC_CLOCKMODE,    SPC_CM_INTPLL);         // clock mode internal PLL
-    dwError += spcm_dwSetParam_i32 (hCard, SPC_CLOCKOUT,     0);                     // no clock output
-    dwError += spcm_dwSetParam_i32 (hCard, SPC_AMP0,         1000);                  // 1V output amplitude
-    dwError += spcm_dwSetParam_i32 (hCard, SPC_LOOPS,        0);                     // loop continuous
-    dwError += spcm_dwSetParam_i32 (hCard, SPC_ENABLEOUT0,   1);
-    dwError += spcm_dwSetParam_i32 (hCard, SPC_TRIG_ORMASK,  0);
-    dwError += spcm_dwSetParam_i32 (hCard, SPC_TRIG_ANDMASK, 0);
-    dwError += spcm_dwSetParam_i32 (hCard, SPC_TRIG_ORMASK,  SPC_TMASK_SOFTWARE);
-
-    dwError += spcm_dwGetParam_i32 (hCard, SPC_PCITYP, &lCardType);
-
-    // we try to set the samplerate to 100 kHz (M2i) or 10 MHz
-    if (((lCardType & TYP_SERIESMASK) == TYP_M2ISERIES) || ((lCardType & TYP_SERIESMASK) == TYP_M2IEXPSERIES))
-        dwError += spcm_dwSetParam_i64 (hCard, SPC_SAMPLERATE, KILO(100));
-    else
-        dwError += spcm_dwSetParam_i64 (hCard, SPC_SAMPLERATE, MEGA(10));
-
-    if (!dwError)
-        return false;
-    else
-        return true;
-    }
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    ST_CARD astCards[MAXCARDS];
-    drv_handle  hSync = 0;
-    bool        bError = false;
-    int32       lCardType, lSerialNumber, lFncType, lFeatures, lMaxADCValue, lStatus;
-    int64       llAvailUser, llPCPos;
-    char        szErrorTextBuffer[ERRORTEXTLEN], szName[50];
-
-    int32  lCardsCount = 0;
-    int32  lFirstAICardIdx = -1;
-    bool   bStarHubAvailable = false;
-
-    uint64 qwBytesToTransfer = MEGA_B(256);
-    int32  lFillSizePercentStart = 50;
-    uint32 dwNumPeriodsInBuffer = 128;
-
-    // settings for the FIFO mode buffer handling
-    int64 llBufferSize = MEGA_B(16);
-    int32 lNotifySize = KILO_B(128);
-
-    // clear card structs
-    for (int32 lIdx = 0; lIdx < MAXCARDS; lIdx++)
-        memset (&astCards[lIdx], 0, sizeof (ST_CARD));
-
-    // we try to open all cards and printout some information on them
-    for (int32 lCardIdx = 0; !bError && (lCardIdx < MAXCARDS); lCardIdx++)
-        {
-        // uncomment the second line and replace the IP address to use remote cards
-        sprintf (szName, "/dev/spcm%d", lCardIdx);
-        // sprintf (szName, "TCPIP::192.168.1.10::inst%d::INSTR", lCardIdx);
-        drv_handle hCard = spcm_hOpen (szName);
-
-        // not one card found
-        if (!lCardIdx && !hCard)
-            {
-            printf ("no card found...\n");
-            return 0;
-            }
-
-        // no more cards found in system
-        if (!hCard)
-            break;
-
-        // read out some info and print it
-        spcm_dwGetParam_i32 (hCard, SPC_PCITYP,      &lCardType);
-        spcm_dwGetParam_i32 (hCard, SPC_PCISERIALNO, &lSerialNumber);
-        spcm_dwGetParam_i32 (hCard, SPC_FNCTYPE,     &lFncType);
-        spcm_dwGetParam_i32 (hCard, SPC_MIINST_MAXADCVALUE, &lMaxADCValue);
-
-        // we check if StarHub is available
-        spcm_dwGetParam_i32 (hCard, SPC_PCIFEATURES, &lFeatures);
-        if (lFeatures & (SPCM_FEAT_STARHUB4 | SPCM_FEAT_STARHUB16))
-            bStarHubAvailable = true;
-
-        if ((lFncType != SPCM_TYPE_AI) && (lFncType != SPCM_TYPE_AO))
-            {
-            printf ("Card: %s sn %05d not supported by example\n", szTypeToName (lCardType), lSerialNumber);
-            bError = true;
-            }
-        else
-            {
-            printf ("Found: %s sn %05d\n", szTypeToName (lCardType), lSerialNumber);
-
-            ST_CARD stCard;
-            stCard.hCard = hCard;
-            stCard.lFncType = lFncType;
-            stCard.lMaxADCValue = lMaxADCValue;
-
-            if ((lFirstAICardIdx < 0) && (lFncType == SPCM_TYPE_AI))
-                lFirstAICardIdx = lCardsCount;
-
-            astCards[lCardsCount++] = stCard;
-            }
-        }
-
-    // try to open the star-hub
-    if (!bError && bStarHubAvailable)
-        {
-        hSync = spcm_hOpen ("sync0");
-        if (!hSync)
-            {
-            printf ("no star-hub found. This is essential for the example ...\n");
-            bError = true;
-            }
-        else
-            printf ("Found Star-Hub ...\n");
-        }
-
-    // define the data buffer
-    for (int32 lCardIdx = 0; !bError && (lCardIdx < lCardsCount); lCardIdx++)
-        {
-        astCards[lCardIdx].pnData = (int16*) pvAllocMemPageAligned ((uint64) llBufferSize);
-        if (!astCards[lCardIdx].pnData)
-            {
-            printf ("memory allocation failed\n");
-            bError = true;
-            }
-
-        if (!bError)
-            {
-            switch (astCards[lCardIdx].lFncType)
-                {
-                case SPCM_TYPE_AI:
-                    bError = bSetupAICard (astCards[lCardIdx].hCard);
-                    spcm_dwDefTransfer_i64 (astCards[lCardIdx].hCard, SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, lNotifySize, astCards[lCardIdx].pnData, 0, llBufferSize);
-                    break;
-
-                case SPCM_TYPE_AO:
-                    bError = bSetupAOCard (astCards[lCardIdx].hCard);
-                    spcm_dwDefTransfer_i64 (astCards[lCardIdx].hCard, SPCM_BUF_DATA, SPCM_DIR_PCTOCARD, lNotifySize, astCards[lCardIdx].pnData, 0, llBufferSize);
-
-                    // calculate data for output (a sine in this case)
-                    for (int64 llPos = 0; llPos < llBufferSize; ++llPos)
-                        astCards[lCardIdx].pnData[llPos / sizeof (int16)] = static_cast < int16 > (astCards[lCardIdx].lMaxADCValue * sin (((2.0 * M_PI * llPos) / llBufferSize) * dwNumPeriodsInBuffer));
-                    break;
-                }
-            }
-        }
-
-    // do the sync setup
-    if (!bError)
-        {
-        spcm_dwSetParam_i32 (hSync, SPC_SYNC_ENABLEMASK, (1 << lCardsCount) - 1);
-
-        // transfer data in buffer to DA cards memory
-        for (int32 lCardIdx = 0; !bError && (lCardIdx < lCardsCount); lCardIdx++)
-            {
-            astCards[lCardIdx].bDMAStarted = false;
-
-            if (astCards[lCardIdx].lFncType == SPCM_TYPE_AO)
-                {
-                spcm_dwSetParam_i64 (astCards[lCardIdx].hCard, SPC_DATA_AVAIL_CARD_LEN, llBufferSize);
-                spcm_dwSetParam_i32 (astCards[lCardIdx].hCard, SPC_M2CMD, M2CMD_DATA_STARTDMA | M2CMD_DATA_WAITDMA);
-                astCards[lCardIdx].bDMAStarted = true;
-                }
-            }
-        }
-
-    // ------------------------------------------------------------------------
-    // this is the main data loop: we wait for all cards having data available
-    // in a loop. This may be put into threads to have one thread controlling data of
-    // one card.
-    uint64 qwTotalMem = 0;
-
-    int64  llBufferFillPromille = 0;
-
-    bool bStartCards = false;
-    bool bStarted = false;
-
-    if (!bError)
-        {
-        printf ("\n***** Before all cards are started the DA cards buffers are filled to %d%% *****\n", lFillSizePercentStart);
-
-        // run the FIFO loop
-        bool bAbort = false;
-        while ((qwTotalMem < qwBytesToTransfer) && !bError && !bAbort)
-            {
-            if (bStartCards)
-                {
-                printf ("\n\n***** Start Cards *****\n");
-
-                // start DMA transfer for all AD cards
-                for (int32 lCardIdx = 0; lCardIdx < lCardsCount; lCardIdx++)
-                    {
-                    if (astCards[lCardIdx].lFncType == SPCM_TYPE_AI)
-                        {
-                        spcm_dwSetParam_i32 (astCards[lCardIdx].hCard, SPC_M2CMD, M2CMD_DATA_STARTDMA);
-                        astCards[lCardIdx].bDMAStarted = true;
-                        }
-                    }
-
-                // start command including enable of trigger engine -> error check
-                if (spcm_dwSetParam_i32 (hSync, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER) != ERR_OK)
-                    {
-                    spcm_dwGetErrorInfo_i32 (hSync, NULL, NULL, szErrorTextBuffer);
-                    printf ("%s\n", szErrorTextBuffer);
-                    bError = true;
-                    }
-                bStarted = true;
-                bStartCards = false;
-                }
-
-
-            for (int32 lCardIdx = 0; !bError && (lCardIdx < lCardsCount); lCardIdx++)
-                {
-                // wait for new data to be available and check return value
-                if (astCards[lCardIdx].bDMAStarted)
-                    {
-                    switch (spcm_dwSetParam_i32 (astCards[lCardIdx].hCard, SPC_M2CMD, M2CMD_DATA_WAITDMA))
-                        {
-                        case ERR_TIMEOUT:
-                            printf ("... timeout\n");
-                            bError = true;
-                            break;
-
-                        case ERR_FIFOHWOVERRUN:
-                        case ERR_FIFOBUFOVERRUN:
-                            printf ("... buffer overrun\n");
-                            bError = true;
-                            break;
-
-                        case ERR_OK:
-                            break;
-
-                        default:
-                            bError = true;
-                            break;
-                        }
-                    }
-
-                // ***** AD Card *****
-                if (bStarted && (astCards[lCardIdx].lFncType == SPCM_TYPE_AI))
-                    {
-                    // read out status information, available data and do something with the data
-                    if (!bError)
-                        {
-                        spcm_dwGetParam_i32 (astCards[lCardIdx].hCard, SPC_M2STATUS,             &lStatus);
-                        spcm_dwGetParam_i64 (astCards[lCardIdx].hCard, SPC_DATA_AVAIL_USER_LEN,  &llAvailUser);
-                        spcm_dwGetParam_i64 (astCards[lCardIdx].hCard, SPC_DATA_AVAIL_USER_POS,  &llPCPos);
-
-                        if (llAvailUser >= lNotifySize)
-                            {
-                            // we count data only on first card
-                            if (lCardIdx == lFirstAICardIdx)
-                                qwTotalMem += lNotifySize;
-
-                            printf ("AD: Card:%d: Stat:%08x Pos:%016llx Avail:%016llx Total:%.2fMB\r", lCardIdx, lStatus, llPCPos, llAvailUser, (double) (int64) qwTotalMem / MEGA_B(1));
-
-                            // !!!!!!!!!! this is the point to do anything with the data !!!!!!!!!!
-                            // in the example we set all data to zero to show how to access the buffer
-                            // Please note that SPC_DATA_AVAIL_USER_POS and SPC_DATA_AVAIL_USER_LEN give position
-                            // and length in bytes. To acces int16 array we therefore use lPCPos/2
-                            memset ((void*) &astCards[lCardIdx].pnData[llPCPos/2], 0, lNotifySize);
-
-                            // buffer is free for DMA transfer again
-                            spcm_dwSetParam_i32 (astCards[lCardIdx].hCard, SPC_DATA_AVAIL_CARD_LEN,  lNotifySize);
-                            }
-                        }
-                    }
-
-                // ***** DA Card *****
-                if (astCards[lCardIdx].lFncType == SPCM_TYPE_AO)
-                    {
-                    // get available space in DMA buffer
-                    spcm_dwGetParam_i64 (astCards[lCardIdx].hCard, SPC_DATA_AVAIL_USER_LEN, &llAvailUser);
-                    spcm_dwGetParam_i64 (astCards[lCardIdx].hCard, SPC_FILLSIZEPROMILLE,    &llBufferFillPromille);
-
-                    if (!bStarted)
-                        printf ("DA: Card: %d   SW-Buffer: %3.0f%%   HW-Buffer:%3d%%\r", lCardIdx, (float) 100.0 * (llBufferSize - llAvailUser) / llBufferSize, (uint32) llBufferFillPromille / 10);
-
-                    if (llAvailUser >= lNotifySize)
-                        {
-                        // get position of free space in DMA buffer
-                        spcm_dwGetParam_i64 (astCards[lCardIdx].hCard, SPC_DATA_AVAIL_USER_POS, &llPCPos);
-
-                        // avoid buffer wrap-around
-                        int64 llDataToWrite = lNotifySize;
-                        if (llPCPos + lNotifySize > llBufferSize)
-                            llDataToWrite = llBufferSize - llPCPos;
-
-                        // calculate new data
-                        for (int64 llPos = llPCPos; llPos < llPCPos + llDataToWrite; ++llPos)
-                            astCards[lCardIdx].pnData[llPos / sizeof (int16)] = static_cast < int16 > (lMaxADCValue * sin (((2.0 * M_PI * llPos) / llBufferSize) * dwNumPeriodsInBuffer));
-
-                        // set data available for transfer
-                        spcm_dwSetParam_i64 (astCards[lCardIdx].hCard, SPC_DATA_AVAIL_CARD_LEN, llDataToWrite);
-                        }
-
-                    // we start the output as soon as we have a sufficient amount of data on card
-                    // inhere we start if the hardware buffer is 50% filled
-                    if (!bStarted && !bError && (llBufferFillPromille >= 10*lFillSizePercentStart))
-                        bStartCards = true;
-                    }
-                }
-
-            // check for esape = abort
-            if (bKbhit())
-                {
-                if (cGetch() == 27)
-                    {
-                    bAbort = true;
-                    break;
-                    }
-                }
-            }
-
-        printf ("\n\n");
-        }
-
-    // stop card
-    spcm_dwSetParam_i32 (hSync, SPC_M2CMD, M2CMD_CARD_STOP);
-
-    // check for errors
-    if (bError)
-        {
-        for (int32 lCardIdx = 0; lCardIdx < lCardsCount; lCardIdx++)
-            {
-            spcm_dwGetErrorInfo_i32 (astCards[lCardIdx].hCard, NULL, NULL, szErrorTextBuffer);
-            printf ("Error card %d: %s\n", lCardIdx, szErrorTextBuffer);
-            }
-        }
-
-    for (int32 lCardIdx = 0; lCardIdx < lCardsCount; lCardIdx++)
-        {
-        // stop DMA
-        spcm_dwSetParam_i32 (astCards[lCardIdx].hCard, SPC_M2CMD, M2CMD_DATA_STOPDMA);
-
-        // clean up
-        if (astCards[lCardIdx].pnData)
-            vFreeMemPageAligned (astCards[lCardIdx].pnData, (uint64) llBufferSize);
-        }
-
-    if (hSync)
-        spcm_vClose (hSync);
-
-     for (int32 lCardIdx = 0; lCardIdx < lCardsCount; lCardIdx++)
-        spcm_vClose (astCards[lCardIdx].hCard);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/simple_sync_io_fifo/simple_sync_io_fifo.vcxproj b/Cpp/examples/c_cpp/simple_sync_io_fifo/simple_sync_io_fifo.vcxproj
deleted file mode 100644
index d4d109e990444e9e42272f8365d29fa9f45b6a99..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_sync_io_fifo/simple_sync_io_fifo.vcxproj
+++ /dev/null
@@ -1,262 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{AB068386-BB5C-4442-ACFF-B5D9A79C311A}</ProjectGuid>
-    <RootNamespace>rec_std_single</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="simple_sync_io_fifo.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/simple_sync_io_fifo/simple_sync_io_fifo.vcxproj.filters b/Cpp/examples/c_cpp/simple_sync_io_fifo/simple_sync_io_fifo.vcxproj.filters
deleted file mode 100644
index 3212da2fb1cfefcc82f95c15281fbd1223932c48..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_sync_io_fifo/simple_sync_io_fifo.vcxproj.filters
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="simple_sync_io_fifo.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib" />
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib" />
-  </ItemGroup>
-  <ItemGroup>
-    <Filter Include="header">
-      <UniqueIdentifier>{bf578d6c-ab53-47b4-8ae9-071cf05640c7}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/simple_sync_rec_fifo/makefile b/Cpp/examples/c_cpp/simple_sync_rec_fifo/makefile
deleted file mode 100644
index faf1c8b57f63f272ea8fd7891e3d424cf44df4cf..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_sync_rec_fifo/makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-COMPILER =   	g++
-EXECUTABLE = 	simple_sync_rec_fifo
-LIBS += 	-lspcm_linux -lpthread -lrt
-
-OBJECTS = 	simple_sync_rec_fifo.o\
-		../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/simple_sync_rec_fifo/simple_sync_rec_fifo.cpp b/Cpp/examples/c_cpp/simple_sync_rec_fifo/simple_sync_rec_fifo.cpp
deleted file mode 100644
index 474513f5cd732cd357ad5bf92410a50e2e19b67f..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_sync_rec_fifo/simple_sync_rec_fifo.cpp
+++ /dev/null
@@ -1,334 +0,0 @@
-/*
-**************************************************************************
-
-simple_sync_rec_fifo.cpp                                 (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all SpcMDrv based analog acquisition cards.
-
-Information about the different products and their drivers can be found
-online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/platform-driver-and-series-differences
-
-Shows a synchronized FIFO mode example using only the few necessary commands.
-
-Feel free to use this source for own projects and modify it in any kind.
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-
-/*
-**************************************************************************
-szTypeToName: doing name translation
-**************************************************************************
-*/
-
-char* szTypeToName (int32 lCardType)
-    {
-    static char szName[50];
-    switch (lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M2ISERIES:     sprintf (szName, "M2i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2IEXPSERIES:  sprintf (szName, "M2i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3ISERIES:     sprintf (szName, "M3i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3IEXPSERIES:  sprintf (szName, "M3i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4IEXPSERIES:  sprintf (szName, "M4i.%04x-x8",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4XEXPSERIES:  sprintf (szName, "M4x.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2PEXPSERIES:  sprintf (szName, "M2p.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M5IEXPSERIES:  sprintf (szName, "M5i.%04x-x16", lCardType & TYP_VERSIONMASK);  break;
-        default:                sprintf (szName, "unknown type");                               break;
-        }
-    return szName;
-    }
-
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    drv_handle  ahCard[16];
-    drv_handle  hSync = 0;
-    bool        bError = false;
-    int32       lIdx, lCardCount;
-    int32       lCardType, lSerialNumber, lFncType, lFeatures, lStarHubCarrierIdx = 0;
-    int64       llTmp;
-    int16*      apnData[16];
-    char        szErrorTextBuffer[ERRORTEXTLEN], szName[50];
-    int32       lStatus;
-    int64       llAvailUser, llPCPos;
-    uint64      qwTotalMem = 0;
-    uint64      qwToTransfer = MEGA_B(512);
-
-    // settings for the FIFO mode buffer handling
-    uint64      qwBufferSize =  MEGA_B(16);
-    int32       lNotifySize =   KILO_B(128);
-    int64       llSamplerate =  KILO(100);
-
-    // ------------------------------------------------------------------------
-    // we try to open all cards and printout some information on them
-    for (lCardCount = 0; !bError && (lCardCount < 16); lCardCount++)
-        {
-        // uncomment the second line and replace the IP address to use remote
-        // cards like in a digitizerNETBOX
-        sprintf (szName, "/dev/spcm%d", lCardCount);
-        // sprintf (szName, "TCPIP::192.168.1.10::inst%d::INSTR", lCardCount);
-        ahCard[lCardCount] = spcm_hOpen (szName);
-        apnData[lCardCount] = NULL;
-
-        // not one card found
-        if (!lCardCount && !ahCard[lCardCount])
-            {
-            printf ("no card found...\n");
-            return 0;
-            }
-
-        // no more cards found in system
-        if (!ahCard[lCardCount])
-            break;
-
-        // read out some info and print it
-        spcm_dwGetParam_i32 (ahCard[lCardCount], SPC_PCITYP,            &lCardType);
-        spcm_dwGetParam_i32 (ahCard[lCardCount], SPC_PCISERIALNO,       &lSerialNumber);
-        spcm_dwGetParam_i32 (ahCard[lCardCount], SPC_FNCTYPE,           &lFncType);
-
-        // we check for minimum samplerate (on first series of M3i sync only works with min samplerate * 2)
-        spcm_dwGetParam_i64 (ahCard[lCardCount], SPC_MIINST_MINADCLOCK, &llTmp);
-        if ((2*llTmp) > llSamplerate)
-            llSamplerate = (2*llTmp);
-
-        // we check which card carries the StarHub
-        spcm_dwGetParam_i32 (ahCard[lCardCount], SPC_PCIFEATURES,       &lFeatures);
-        if (lFeatures & (SPCM_FEAT_STARHUB4 | SPCM_FEAT_STARHUB16))
-            lStarHubCarrierIdx = lCardCount;
-
-        switch (lFncType)
-            {
-            case SPCM_TYPE_AI:
-                printf ("Found: %s sn %05d\n", szTypeToName (lCardType), lSerialNumber);
-                break;
-
-            // only A/D cards allowed in example
-            default:
-                printf ("Card: %s sn %05d not supported by example\n", szTypeToName (lCardType), lSerialNumber);
-                bError = true;
-                break;
-            }
-        }
-
-
-    // ------------------------------------------------------------------------
-    // try to open the star-hub
-    if (!bError)
-        {
-        hSync = spcm_hOpen ("sync0");
-        if (!hSync)
-            {
-            printf ("no star-hub found. This is essential for the example ...\n");
-            bError = true;
-            }
-        else
-            printf ("Found Star-Hub ...\n");
-        }
-
-
-    // ------------------------------------------------------------------------
-    // do a simple standard setup for all cards
-    for (lIdx = 0; !bError && (lIdx < lCardCount); lIdx++)
-        {
-        spcm_dwSetParam_i32 (ahCard[lIdx], SPC_CHENABLE,        CHANNEL0);              // just 1 channel enabled
-        spcm_dwSetParam_i32 (ahCard[lIdx], SPC_PRETRIGGER,      1024);                  // 1k of pretrigger data at start of FIFO mode
-        spcm_dwSetParam_i32 (ahCard[lIdx], SPC_CARDMODE,        SPC_REC_FIFO_SINGLE);   // single FIFO mode
-        spcm_dwSetParam_i32 (ahCard[lIdx], SPC_TIMEOUT,         5000);                  // timeout 5 s
-        spcm_dwSetParam_i32 (ahCard[lIdx], SPC_CLOCKMODE,       SPC_CM_INTPLL);         // clock mode internal PLL
-        spcm_dwSetParam_i64 (ahCard[lIdx], SPC_SAMPLERATE,      llSamplerate);          // sampling clock (100k or smallest possible)
-        spcm_dwSetParam_i32 (ahCard[lIdx], SPC_CLOCKOUT,        0);                     // no clock output
-
-        // trigger mode definition (in our example it is software trigger)
-        spcm_dwSetParam_i32 (ahCard[lIdx], SPC_TRIG_ORMASK,     0);
-        spcm_dwSetParam_i32 (ahCard[lIdx], SPC_TRIG_ANDMASK,    0);
-        spcm_dwSetParam_i32 (ahCard[lIdx], SPC_TRIG_ORMASK,     SPC_TMASK_SOFTWARE);
-        }
-
-    // ------------------------------------------------------------------------
-    // define and allocate the data buffers
-    for (lIdx = 0; !bError && (lIdx < lCardCount); lIdx++)
-        {
-        void* pvContBuf     = NULL;
-        uint64 qwContBufLen = 0;
-        spcm_dwGetContBuf_i64 (ahCard[lIdx], SPCM_BUF_DATA, &pvContBuf, &qwContBufLen);
-        if (qwContBufLen >= qwBufferSize)
-            {
-            printf ("using continuous memory\n");
-            apnData[lIdx] = (int16*)pvContBuf;
-            }
-        else
-            apnData[lIdx] = (int16*) pvAllocMemPageAligned (qwBufferSize);
-
-        if (!apnData[lIdx])
-            {
-            printf ("memory allocation failed\n");
-            bError = true;
-            }
-        else
-            spcm_dwDefTransfer_i64 (ahCard[lIdx], SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, lNotifySize, apnData[lIdx], 0, qwBufferSize);
-        }
-
-
-    // ------------------------------------------------------------------------
-    // do the sync setup, start and check for error
-    if (!bError)
-        {
-        spcm_dwSetParam_i32 (hSync, SPC_SYNC_ENABLEMASK, (1 << lCardCount) - 1);
-
-        // clock mask only used for M2i series. Ignored on M3i series
-        spcm_dwSetParam_i32 (hSync, SPC_SYNC_CLKMASK, (1 << lStarHubCarrierIdx));
-
-        // start DMA on each card (prior to card start to have DMA armed if first data is coming)
-        for (lIdx = 0; !bError && (lIdx < lCardCount); lIdx++)
-            spcm_dwSetParam_i32 (ahCard[lIdx], SPC_M2CMD, M2CMD_DATA_STARTDMA);
-
-        // start command including enable of trigger engine -> error check
-        if (spcm_dwSetParam_i32 (hSync, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER) != ERR_OK)
-            {
-            spcm_dwGetErrorInfo_i32 (hSync, NULL, NULL, szErrorTextBuffer);
-            printf ("%s\n", szErrorTextBuffer);
-            bError = true;
-            }
-        }
-
-
-    // ------------------------------------------------------------------------
-    // this is the main data loop: we wait for all cards having data available
-    // in a loop. This may be put into threads to have one thread controlling data of
-    // one card. In our example we simply put it in the main loop as each card is
-    // configured similar and will have data available at the same time
-    if (!bError)
-        {
-
-        // run the FIFO loop
-        bool bAbort = false;
-        while ((qwTotalMem < qwToTransfer) && !bError && !bAbort)
-            {
-            for (lIdx = 0; !bError && (lIdx < lCardCount); lIdx++)
-                {
-
-                // wait for new data to be available and check return value
-                switch (spcm_dwSetParam_i32 (ahCard[lIdx], SPC_M2CMD, M2CMD_DATA_WAITDMA))
-                    {
-                    case ERR_TIMEOUT:
-                        printf ("... timeout\n");
-                        bError = true;
-                        break;
-
-                    case ERR_FIFOHWOVERRUN:
-                    case ERR_FIFOBUFOVERRUN:
-                        printf ("... buffer overrun\n");
-                        bError = true;
-                        break;
-
-                    case ERR_OK:
-                        break;
-
-                    default:
-                        bError = true;
-                        break;
-                    }
-
-                // read out status information, available data and do something with the data
-                if (!bError)
-                    {
-                    spcm_dwGetParam_i32 (ahCard[lIdx], SPC_M2STATUS,             &lStatus);
-                    spcm_dwGetParam_i64 (ahCard[lIdx], SPC_DATA_AVAIL_USER_LEN,  &llAvailUser);
-                    spcm_dwGetParam_i64 (ahCard[lIdx], SPC_DATA_AVAIL_USER_POS,  &llPCPos);
-
-                    if (llAvailUser >= lNotifySize)
-                        {
-                        // we count data only on first card
-                        if (lIdx == 0)
-                            qwTotalMem += lNotifySize;
-
-                        printf ("Card:%d: Stat:%08x Pos:%016llx Avail:%016llx Total:%.2fMB\n", lIdx, lStatus, llPCPos, llAvailUser, (double) (int64) qwTotalMem / MEGA_B(1));
-
-                        // !!!!!!!!!! this is the point to do anything with the data !!!!!!!!!!
-                        // in the example we set all data to zero to show how to access the buffer
-                        // Please note that SPC_DATA_AVAIL_USER_POS and SPC_DATA_AVAIL_USER_LEN give position
-                        // and length in bytes. To acces int16 array we therefore use lPCPos/2
-                        memset ((void*) &apnData[lIdx][llPCPos/2], 0, lNotifySize);
-
-                        // buffer is free for DMA transfer again
-                        spcm_dwSetParam_i32 (ahCard[lIdx], SPC_DATA_AVAIL_CARD_LEN,  lNotifySize);
-                        }
-
-                    // check for esape = abort
-                    if (bKbhit())
-                        {
-                        if (cGetch() == 27)
-                            {
-                            bAbort = true;
-                            break;
-                            }
-                        }
-                    }
-                }
-            }
-        }
-
-
-    // ------------------------------------------------------------------------
-    // check for errors
-    if (bError)
-        {
-        for (lIdx = 0; lIdx < lCardCount; lIdx++)
-            spcm_dwGetErrorInfo_i32 (ahCard[lIdx], NULL, NULL, szErrorTextBuffer);
-        printf ("Error card %d: %s\n", lIdx, szErrorTextBuffer);
-        }
-
-    // no error: we managed to run through completely
-    else
-        printf ("\nfinished ...\n");
-
-    // send the stop command
-    spcm_dwSetParam_i32 (hSync, SPC_M2CMD, M2CMD_CARD_STOP | M2CMD_DATA_STOPDMA);
-
-    // clean up
-    for (lIdx = 0; lIdx < lCardCount; lIdx++)
-        if (apnData[lIdx])
-            vFreeMemPageAligned (apnData[lIdx], qwBufferSize);
-
-    if (hSync)
-        spcm_vClose (hSync);
-    for (lIdx = 0; lIdx < lCardCount; lIdx++)
-        spcm_vClose (ahCard[lIdx]);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/simple_sync_rec_fifo/simple_sync_rec_fifo.sln b/Cpp/examples/c_cpp/simple_sync_rec_fifo/simple_sync_rec_fifo.sln
deleted file mode 100644
index 2e8d6199a571d863f638d8ca4463be970a07c9e0..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_sync_rec_fifo/simple_sync_rec_fifo.sln
+++ /dev/null
@@ -1,26 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple_sync_rec_fifo", "simple_sync_rec_fifo.vcproj", "{AB068386-BB5C-4442-ACFF-B5D9A79C311A}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Win32 = Debug|Win32
-		Debug|x64 = Debug|x64
-		Release|Win32 = Release|Win32
-		Release|x64 = Release|x64
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|Win32.ActiveCfg = Debug|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|Win32.Build.0 = Debug|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|x64.ActiveCfg = Debug|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|x64.Build.0 = Debug|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|Win32.ActiveCfg = Release|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|Win32.Build.0 = Release|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|x64.ActiveCfg = Release|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|x64.Build.0 = Release|x64
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/Cpp/examples/c_cpp/simple_sync_rec_fifo/simple_sync_rec_fifo.vcproj b/Cpp/examples/c_cpp/simple_sync_rec_fifo/simple_sync_rec_fifo.vcproj
deleted file mode 100644
index 0c63b663aaabbd68a0351383050aaeeb2e707d04..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_sync_rec_fifo/simple_sync_rec_fifo.vcproj
+++ /dev/null
@@ -1,464 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="simple_sync_rec_fifo"
-	ProjectGUID="{AB068386-BB5C-4442-ACFF-B5D9A79C311A}"
-	RootNamespace="rec_std_single"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rec_std_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_std_single.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_std_single.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_std_single.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_std_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rec_std_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_std_single.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_std_single.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_std_single.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_std_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rec_std_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_std_single.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_std_single.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_std_single.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_std_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rec_std_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_std_single.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_std_single.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_std_single.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_std_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="header"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath=".\simple_sync_rec_fifo.cpp"
-			>
-		</File>
-		<File
-			RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-			>
-		</File>
-		<File
-			RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-			>
-			<FileConfiguration
-				Name="Release|x64"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-		</File>
-		<File
-			RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-			>
-			<FileConfiguration
-				Name="Release|Win32"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|Win32"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/simple_sync_rec_fifo/simple_sync_rec_fifo.vcxproj b/Cpp/examples/c_cpp/simple_sync_rec_fifo/simple_sync_rec_fifo.vcxproj
deleted file mode 100644
index 0a6b26b3e6a25f055352d8ce2f25331c75893189..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_sync_rec_fifo/simple_sync_rec_fifo.vcxproj
+++ /dev/null
@@ -1,262 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{AB068386-BB5C-4442-ACFF-B5D9A79C311A}</ProjectGuid>
-    <RootNamespace>rec_std_single</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="simple_sync_rec_fifo.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/simple_sync_rec_fifo/simple_sync_rec_fifo.vcxproj.filters b/Cpp/examples/c_cpp/simple_sync_rec_fifo/simple_sync_rec_fifo.vcxproj.filters
deleted file mode 100644
index 704f5c1cee5e671a4a388dc0a7fe78819af80052..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_sync_rec_fifo/simple_sync_rec_fifo.vcxproj.filters
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="header">
-      <UniqueIdentifier>{d569a4a9-5861-4381-8b4a-7b4bc1fe5712}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="simple_sync_rec_fifo.cpp" />
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib" />
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/simple_sync_rep_fifo/makefile b/Cpp/examples/c_cpp/simple_sync_rep_fifo/makefile
deleted file mode 100644
index 97bf8d106814331b28f28e49074250fbb6c9cfe4..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_sync_rep_fifo/makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-COMPILER =   	g++
-EXECUTABLE = 	simple_sync_rep_fifo
-LIBS += 	-lspcm_linux -lpthread -lrt
-
-OBJECTS = 	simple_sync_rep_fifo.o\
-		../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/simple_sync_rep_fifo/simple_sync_rep_fifo.cpp b/Cpp/examples/c_cpp/simple_sync_rep_fifo/simple_sync_rep_fifo.cpp
deleted file mode 100644
index 41d53f457dbc7873ec9f98a0fef2b50ebaa4ee52..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_sync_rep_fifo/simple_sync_rep_fifo.cpp
+++ /dev/null
@@ -1,373 +0,0 @@
-/*
-**************************************************************************
-
-simple_sync_rep_fifo.cpp                                 (c) Spectrum GmbH
-
-**************************************************************************
-
-Example for all SpcMDrv based analog generation cards.
-
-Information about the different products and their drivers can be found
-online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/platform-driver-and-series-differences
-
-Shows a synchronized FIFO mode example using only the few necessary commands
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <stdlib.h>
-
-#define _USE_MATH_DEFINES // for M_PI
-#include <math.h>
-
-/*
-**************************************************************************
-szTypeToName: doing name translation
-**************************************************************************
-*/
-
-char* szTypeToName (int32 lCardType)
-    {
-    static char szName[50];
-    switch (lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M2ISERIES:     sprintf (szName, "M2i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2IEXPSERIES:  sprintf (szName, "M2i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3ISERIES:     sprintf (szName, "M3i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3IEXPSERIES:  sprintf (szName, "M3i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4IEXPSERIES:  sprintf (szName, "M4i.%04x-x8",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4XEXPSERIES:  sprintf (szName, "M4x.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2PEXPSERIES:  sprintf (szName, "M2p.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M5IEXPSERIES:  sprintf (szName, "M5i.%04x-x16", lCardType & TYP_VERSIONMASK);  break;
-        default:                sprintf (szName, "unknown type");                               break;
-        }
-    return szName;
-    }
-
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    drv_handle  ahCard[16];
-    drv_handle  hSync = 0;
-    bool        bError = false;
-    int32       lIdx, lCardCount;
-    int32       lCardType, lSerialNumber, lFncType, lFeatures, lStarHubCarrierIdx;
-    int16*      apnData[16];
-    char        szErrorTextBuffer[ERRORTEXTLEN], szName[50];
-
-    // settings for the FIFO mode buffer handling
-    int64       llSamplerate =  MEGA(1);
-
-    // setup for the FIFO mode (HW buffer size can be programmed starting with firmware V9)
-    int64       llBufferSize =   MEGA_B(16);
-    int64       llHWBufSize =   MEGA_B(32);
-    uint32      dwNotifySize =  MEGA_B(1);
-
-    uint32      dwNumPeriodsInBuffer = 128;
-
-    // some example checks
-    if (llBufferSize % dwNotifySize)
-        {
-        printf ("In our example we can only handle sw buffers that are a whole numbered multiple of the notify size\n");
-        return 1;
-        }
-
-    // ------------------------------------------------------------------------
-    // we try to open all cards and printout some information on them
-    for (lCardCount = 0; !bError && (lCardCount < 16); lCardCount++)
-        {
-        // uncomment the second line and replace the IP address to use remote
-        // cards like in a generatorNETBOX
-        sprintf (szName, "/dev/spcm%d", lCardCount);
-        // sprintf (szName, "TCPIP::192.168.1.10::inst%d::INSTR", lCardCount);
-        ahCard[lCardCount] = spcm_hOpen (szName);
-        apnData[lCardCount] = NULL;
-
-        // not one card found
-        if (!lCardCount && !ahCard[lCardCount])
-            {
-            printf ("no card found...\n");
-            return 0;
-            }
-
-        // no more cards found in system
-        if (!ahCard[lCardCount])
-            break;
-
-        // read out some info and print it
-        spcm_dwGetParam_i32 (ahCard[lCardCount], SPC_PCITYP,            &lCardType);
-        spcm_dwGetParam_i32 (ahCard[lCardCount], SPC_PCISERIALNO,       &lSerialNumber);
-        spcm_dwGetParam_i32 (ahCard[lCardCount], SPC_FNCTYPE,           &lFncType);
-
-        // we check which card carries the StarHub
-        spcm_dwGetParam_i32 (ahCard[lCardCount], SPC_PCIFEATURES,       &lFeatures);
-        if (lFeatures & (SPCM_FEAT_STARHUB4 | SPCM_FEAT_STARHUB16))
-            lStarHubCarrierIdx = lCardCount;
-
-        switch (lFncType)
-            {
-            case SPCM_TYPE_AO:
-                printf ("Found: %s sn %05d\n", szTypeToName (lCardType), lSerialNumber);
-                break;
-
-            // only D/A cards allowed in example
-            default:
-                printf ("Card: %s sn %05d not supported by example\n", szTypeToName (lCardType), lSerialNumber);
-                bError = true;
-                break;
-            }
-        }
-
-    int32 lMaxADCValue = 0;
-    spcm_dwGetParam_i32 (ahCard[0], SPC_MIINST_MAXADCVALUE, &lMaxADCValue);
-
-    // ------------------------------------------------------------------------
-    // try to open the star-hub
-    if (!bError)
-        {
-        hSync = spcm_hOpen ("sync0");
-        if (!hSync)
-            {
-            printf ("no star-hub found. This is essential for the example ...\n");
-            bError = true;
-            }
-        else
-            printf ("Found Star-Hub ...\n");
-        }
-
-
-    // ------------------------------------------------------------------------
-    // do a simple standard setup for all cards
-    for (lIdx = 0; !bError && (lIdx < lCardCount); lIdx++)
-        {
-        spcm_dwSetParam_i32 (ahCard[lIdx], SPC_CHENABLE,        CHANNEL0);              // just 1 channel enabled
-        spcm_dwSetParam_i32 (ahCard[lIdx], SPC_CARDMODE,        SPC_REP_FIFO_SINGLE);   // single FIFO mode
-        spcm_dwSetParam_i32 (ahCard[lIdx], SPC_TIMEOUT,         5000);                  // timeout 5 s
-        spcm_dwSetParam_i32 (ahCard[lIdx], SPC_CLOCKMODE,       SPC_CM_INTPLL);         // clock mode internal PLL
-        spcm_dwSetParam_i64 (ahCard[lIdx], SPC_SAMPLERATE,      llSamplerate);          // sampling clock (100k or smallest possible)
-        spcm_dwSetParam_i32 (ahCard[lIdx], SPC_CLOCKOUT,        0);                     // no clock output
-        spcm_dwSetParam_i32 (ahCard[lIdx], SPC_AMP0,            1000);                  // 1V output amplitude
-        spcm_dwSetParam_i32 (ahCard[lIdx], SPC_LOOPS,           0);                     // loop continuous
-
-        // trigger mode definition (in our example it is software trigger)
-        spcm_dwSetParam_i32 (ahCard[lIdx], SPC_TRIG_ORMASK,     0);
-        spcm_dwSetParam_i32 (ahCard[lIdx], SPC_TRIG_ANDMASK,    0);
-        spcm_dwSetParam_i32 (ahCard[lIdx], SPC_TRIG_ORMASK,     SPC_TMASK_SOFTWARE);
-        }
-
-    // starting with firmware version V9 we can program the hardware buffer size to reduce the latency
-    for (lIdx = 0; !bError && (lIdx < lCardCount); lIdx++)
-        {
-        int32 lFWVersion = 0;
-        spcm_dwGetParam_i32 (ahCard[lIdx], SPC_PCIVERSION, &lFWVersion);
-        if (lFWVersion >= 9)
-            {
-            spcm_dwSetParam_i64 (ahCard[lIdx], SPC_DATA_OUTBUFSIZE, llHWBufSize);
-            spcm_dwSetParam_i32 (ahCard[lIdx], SPC_M2CMD, M2CMD_CARD_WRITESETUP);
-            }
-        }
-
-    // ------------------------------------------------------------------------
-    // define and allocate the data buffers
-    for (lIdx = 0; !bError && (lIdx < lCardCount); lIdx++)
-        {
-        apnData[lIdx] = (int16*) pvAllocMemPageAligned ((uint64) llBufferSize);
-        if (!apnData[lIdx])
-            {
-            printf ("memory allocation failed\n");
-            bError = true;
-            }
-        else
-            spcm_dwDefTransfer_i64 (ahCard[lIdx], SPCM_BUF_DATA, SPCM_DIR_PCTOCARD, dwNotifySize, apnData[lIdx], 0, llBufferSize);
-        }
-
-    // ------------------------------------------------------------------------
-    // calculate data for output (a sine in this case)
-    for (lIdx = 0; !bError && (lIdx < lCardCount); lIdx++)
-        {
-        for (int64 llPos = 0; llPos < llBufferSize; ++llPos)
-            {
-            apnData[lIdx][llPos / sizeof (int16)] = static_cast < int16 > (lMaxADCValue * sin (((2.0 * M_PI * llPos) / llBufferSize) * dwNumPeriodsInBuffer));
-            }
-        }
-
-    // ------------------------------------------------------------------------
-    // do the sync setup, start and check for error
-    if (!bError)
-        {
-        spcm_dwSetParam_i32 (hSync, SPC_SYNC_ENABLEMASK, (1 << lCardCount) - 1);
-
-        // clock mask only used for M2i series
-        spcm_dwSetParam_i32 (hSync, SPC_SYNC_CLKMASK, (1 << lStarHubCarrierIdx));
-
-        // transfer data in buffer to card memory
-        for (lIdx = 0; !bError && (lIdx < lCardCount); lIdx++)
-            {
-            spcm_dwSetParam_i64 (ahCard[lIdx], SPC_DATA_AVAIL_CARD_LEN, llBufferSize);
-
-            spcm_dwSetParam_i32 (ahCard[lIdx], SPC_M2CMD, M2CMD_DATA_STARTDMA | M2CMD_DATA_WAITDMA);
-            }
-        }
-
-
-    // ------------------------------------------------------------------------
-    // this is the main data loop: we wait for all cards to have space available
-    // in a loop. This may be put into threads to have one thread controlling data of
-    // one card. In our example we simply put it in the main loop as each card is
-    // configured similar and will have space available at the same time
-    if (!bError)
-        {
-        int64 llTransferredBytes[16] = { 0 };
-        int64 llAvailUser          = 0;
-        int64 llBufferFillPromille = 0;
-        int64 llUserPos            = 0;
-        bool  bStarted = false;
-        bool  bAbort   = false;
-
-        // run the FIFO loop
-        uint32 dwNumCardsFilled = 0; // count number of cards whose memory has been filled (only pre-start)
-        while (!bError && !bAbort)
-            {
-            printf ("\n");
-            for (lIdx = 0; !bError && !bAbort && (lIdx < lCardCount); lIdx++)
-                {
-                // get available space in DMA buffer
-                spcm_dwGetParam_i64 (ahCard[lIdx], SPC_DATA_AVAIL_USER_LEN, &llAvailUser);
-                spcm_dwGetParam_i64 (ahCard[lIdx], SPC_FILLSIZEPROMILLE,    &llBufferFillPromille);
-                printf ("Card: %d   SW-Buffer: %3.0f%%   HW-Buffer:%3d%%, Total Bytes so far: %6.2f MB\n", lIdx, (float) 100.0 * (llBufferSize - llAvailUser) / llBufferSize, (uint32) llBufferFillPromille / 10, (float) llTransferredBytes[lIdx] / MEGA_B(1));
-
-                if (llAvailUser >= dwNotifySize)
-                    {
-                    // get position of free space in DMA buffer
-                    spcm_dwGetParam_i64 (ahCard[lIdx], SPC_DATA_AVAIL_USER_POS, &llUserPos);
-
-                    // avoid buffer wrap-around
-                    int64 llDataToWrite = dwNotifySize;
-                    if (llUserPos + dwNotifySize > llBufferSize)
-                        llDataToWrite = llBufferSize - llUserPos;
-
-                    // calculate new data
-                    for (int64 llPos = llUserPos; llPos < llUserPos + llDataToWrite; ++llPos)
-                        {
-                        apnData[lIdx][llPos / sizeof (int16)] = static_cast < int16 > (lMaxADCValue * sin (((2.0 * M_PI * llPos) / llBufferSize) * dwNumPeriodsInBuffer));
-                        }
-
-                    // set data available for transfer
-                    spcm_dwSetParam_i64 (ahCard[lIdx], SPC_DATA_AVAIL_CARD_LEN, llDataToWrite);
-                    llTransferredBytes[lIdx] += llDataToWrite;
-                    }
-
-                // we start the output as soon as we have a sufficient amount of data on card
-                // inhere we start if the hardware buffer is completely full
-                if (!bStarted && !bError && (llBufferFillPromille == 1000))
-                    {
-                    dwNumCardsFilled++;
-
-                    // when the memory of all cards has been filled, start the cards
-                    if (dwNumCardsFilled == lCardCount)
-                        {
-                        printf ("\nStart the output\n");
-
-                        // start command including enable of trigger engine -> error check
-                        if (spcm_dwSetParam_i32 (hSync, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER) != ERR_OK)
-                            {
-                            spcm_dwGetErrorInfo_i32 (hSync, NULL, NULL, szErrorTextBuffer);
-                            printf ("%s\n", szErrorTextBuffer);
-                            bError = true;
-                            }
-                        bStarted = true;
-                        }
-                    }
-
-                // wait for the next buffer to be free
-                switch (spcm_dwSetParam_i32 (ahCard[lIdx], SPC_M2CMD, M2CMD_DATA_WAITDMA))
-                    {
-                    case ERR_TIMEOUT:
-                        printf ("... timeout\n");
-                        bError = true;
-                        break;
-
-                    case ERR_FIFOHWOVERRUN:
-                    case ERR_FIFOBUFOVERRUN:
-                        printf ("... buffer underrun\n");
-                        bError = true;
-                        break;
-
-                    case ERR_OK:
-                        break;
-
-                    default:
-                        bError = true;
-                        break;
-                    }
-
-                // check for esape = abort
-                if (bKbhit ())
-                    {
-                    if (cGetch () == 27)
-                        bAbort = true;
-                    }
-                }
-            }
-        }
-
-
-    // ------------------------------------------------------------------------
-    // check for errors
-    if (bError)
-        {
-        for (lIdx = 0; lIdx < lCardCount; lIdx++)
-            spcm_dwGetErrorInfo_i32 (ahCard[lIdx], NULL, NULL, szErrorTextBuffer);
-        printf ("Error card %d: %s\n", lIdx, szErrorTextBuffer);
-        }
-
-    // no error: we managed to run through completely
-    else
-        printf ("\nfinished ...\n");
-
-    // send the stop command
-    for (lIdx = 0; lIdx < lCardCount; lIdx++)
-        spcm_dwSetParam_i32 (ahCard[lIdx], SPC_M2CMD, M2CMD_CARD_STOP | M2CMD_DATA_STOPDMA);
-
-    // clean up
-    for (lIdx = 0; lIdx < lCardCount; lIdx++)
-        if (apnData[lIdx])
-            vFreeMemPageAligned (apnData[lIdx], (uint64) llBufferSize);
-
-    if (hSync)
-        spcm_vClose (hSync);
-    for (lIdx = 0; lIdx < lCardCount; lIdx++)
-        spcm_vClose (ahCard[lIdx]);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/simple_sync_rep_fifo/simple_sync_rep_fifo.vcproj b/Cpp/examples/c_cpp/simple_sync_rep_fifo/simple_sync_rep_fifo.vcproj
deleted file mode 100644
index d597c93b8749975e5c43925fd80aff66864d0b7a..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_sync_rep_fifo/simple_sync_rep_fifo.vcproj
+++ /dev/null
@@ -1,464 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="simple_sync_rep_fifo"
-	ProjectGUID="{AB068386-BB5C-4442-ACFF-B5D9A79C311A}"
-	RootNamespace="rec_std_single"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rec_std_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_std_single.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_std_single.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_std_single.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_std_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rec_std_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_std_single.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_std_single.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_std_single.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_std_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rec_std_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_std_single.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_std_single.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_std_single.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_std_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rec_std_single.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_std_single.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_std_single.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_std_single.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_std_single.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="header"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath=".\simple_sync_rep_fifo.cpp"
-			>
-		</File>
-		<File
-			RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-			>
-		</File>
-		<File
-			RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-			>
-			<FileConfiguration
-				Name="Release|x64"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-		</File>
-		<File
-			RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-			>
-			<FileConfiguration
-				Name="Release|Win32"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|Win32"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/simple_sync_rep_fifo/simple_sync_rep_fifo.vcxproj b/Cpp/examples/c_cpp/simple_sync_rep_fifo/simple_sync_rep_fifo.vcxproj
deleted file mode 100644
index e390d574a3d5f480cab34bb4f3e77559f946ffcb..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_sync_rep_fifo/simple_sync_rep_fifo.vcxproj
+++ /dev/null
@@ -1,262 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{AB068386-BB5C-4442-ACFF-B5D9A79C311A}</ProjectGuid>
-    <RootNamespace>rec_std_single</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="simple_sync_rep_fifo.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/simple_sync_rep_fifo/simple_sync_rep_fifo.vcxproj.filters b/Cpp/examples/c_cpp/simple_sync_rep_fifo/simple_sync_rep_fifo.vcxproj.filters
deleted file mode 100644
index 3ea64db30102ed5bccac01a238adc5551252de36..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/simple_sync_rep_fifo/simple_sync_rep_fifo.vcxproj.filters
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="header">
-      <UniqueIdentifier>{5bf2a4db-dd6c-4a11-9913-f9987cf4e5a2}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="simple_sync_rep_fifo.cpp" />
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib" />
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/spectrum_simple_template/makefile b/Cpp/examples/c_cpp/spectrum_simple_template/makefile
deleted file mode 100644
index 688a191b39a957179fb9ba28e2b150c97fd1b40b..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/spectrum_simple_template/makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-COMPILER =   	g++
-EXECUTABLE = 	spectrum_simple_template
-LIBS += 	-lspcm_linux -lpthread -lrt
-
-OBJECTS = 	spectrum_simple_template.o\
-		../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/spectrum_simple_template/spectrum_simple_template.cpp b/Cpp/examples/c_cpp/spectrum_simple_template/spectrum_simple_template.cpp
deleted file mode 100644
index 81dfcb0694abac0627868f82b12f2031b7fe9f0f..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/spectrum_simple_template/spectrum_simple_template.cpp
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
-**************************************************************************
-
-spectrum_simple_template.cpp                             (c) Spectrum GmbH
-
-**************************************************************************
-
-Simple template as base for own programming
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-#include "../c_header/regs.h"
-#include "../c_header/spcerr.h"
-#include "../c_header/spcm_drv.h"
-
-#include "../common/ostools/spcm_oswrap.h"
-#include "../common/ostools/spcm_ostools.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-
-/*
-**************************************************************************
-szTypeToName: doing name translation
-**************************************************************************
-*/
-
-char* szTypeToName (int32 lCardType)
-    {
-    static char szName[50];
-    switch (lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M2ISERIES:     sprintf (szName, "M2i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2IEXPSERIES:  sprintf (szName, "M2i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3ISERIES:     sprintf (szName, "M3i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3IEXPSERIES:  sprintf (szName, "M3i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4IEXPSERIES:  sprintf (szName, "M4i.%04x-x8",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4XEXPSERIES:  sprintf (szName, "M4x.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2PEXPSERIES:  sprintf (szName, "M2p.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M5IEXPSERIES:  sprintf (szName, "M5i.%04x-x16", lCardType & TYP_VERSIONMASK);  break;
-        default:                sprintf (szName, "unknown type");                               break;
-        }
-    return szName;
-    }
-
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    drv_handle  hCard;
-    int32       lCardType, lSerialNumber;
-    char        szName[50];
-
-    // ------------------------------------------------------------------------
-    // we try to open one card and printout some information on it
-
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    sprintf (szName, "/dev/spcm0");
-    // sprintf (szName, "TCPIP::192.168.1.10::inst0::INSTR");
-    hCard = spcm_hOpen (szName);
-
-    // not one card found
-    if (!hCard)
-        {
-        printf ("no card found...\n");
-        return 0;
-        }
-
-    // read out some info and print it
-    spcm_dwGetParam_i32 (hCard, SPC_PCITYP,            &lCardType);
-    spcm_dwGetParam_i32 (hCard, SPC_PCISERIALNO,       &lSerialNumber);
-    printf ("Found: %s sn %05d\n", szTypeToName (lCardType), lSerialNumber);
-
-    // ------------------------------------------------------------------------
-    // start here with programming
-    // ------------------------------------------------------------------------
-
-    spcm_vClose (hCard);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/spectrum_simple_template/spectrum_simple_template.sln b/Cpp/examples/c_cpp/spectrum_simple_template/spectrum_simple_template.sln
deleted file mode 100644
index 7a907ad208747c3115ece3a2f0f5cefea897afd2..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/spectrum_simple_template/spectrum_simple_template.sln
+++ /dev/null
@@ -1,26 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spectrum_simple_template", "spectrum_simple_template.vcproj", "{AB068386-BB5C-4442-ACFF-B5D9A79C311A}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Win32 = Debug|Win32
-		Debug|x64 = Debug|x64
-		Release|Win32 = Release|Win32
-		Release|x64 = Release|x64
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|Win32.ActiveCfg = Debug|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|Win32.Build.0 = Debug|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|x64.ActiveCfg = Debug|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|x64.Build.0 = Debug|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|Win32.ActiveCfg = Release|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|Win32.Build.0 = Release|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|x64.ActiveCfg = Release|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|x64.Build.0 = Release|x64
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/Cpp/examples/c_cpp/spectrum_simple_template/spectrum_simple_template.vcproj b/Cpp/examples/c_cpp/spectrum_simple_template/spectrum_simple_template.vcproj
deleted file mode 100644
index 3d44fc33237235bcbac2a6dc4847f66c54d7d1a8..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/spectrum_simple_template/spectrum_simple_template.vcproj
+++ /dev/null
@@ -1,464 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="spectrum_simple_template"
-	ProjectGUID="{AB068386-BB5C-4442-ACFF-B5D9A79C311A}"
-	RootNamespace="$(ProjectName)"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/$(ProjectName).tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/$(ProjectName).pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)\$(ProjectName).exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/$(ProjectName).pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/$(ProjectName).bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/$(ProjectName).tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/$(ProjectName).pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)\$(ProjectName).exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/$(ProjectName).pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/$(ProjectName).bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/$(ProjectName).tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/$(ProjectName).pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)\$(ProjectName).exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/$(ProjectName).pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/$(ProjectName).bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/$(ProjectName).tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/$(ProjectName).pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)\$(ProjectName).exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/$(ProjectName).pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/$(ProjectName).bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="header"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-			>
-		</File>
-		<File
-			RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-			>
-			<FileConfiguration
-				Name="Release|x64"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-		</File>
-		<File
-			RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-			>
-			<FileConfiguration
-				Name="Release|Win32"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|Win32"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-		</File>
-		<File
-			RelativePath=".\spectrum_simple_template.cpp"
-			>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/spectrum_simple_template/spectrum_simple_template.vcxproj b/Cpp/examples/c_cpp/spectrum_simple_template/spectrum_simple_template.vcxproj
deleted file mode 100644
index b267ba5e0a7a8fc5d15bc6417dd928b08740019b..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/spectrum_simple_template/spectrum_simple_template.vcxproj
+++ /dev/null
@@ -1,262 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{AB068386-BB5C-4442-ACFF-B5D9A79C311A}</ProjectGuid>
-    <RootNamespace>rec_std_single</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_std_single.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_std_single.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_std_single.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_std_single.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="spectrum_simple_template.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/spectrum_simple_template/spectrum_simple_template.vcxproj.filters b/Cpp/examples/c_cpp/spectrum_simple_template/spectrum_simple_template.vcxproj.filters
deleted file mode 100644
index 48a0c3aa330ed14107d5bc0c29d2f64cda4e97cf..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/spectrum_simple_template/spectrum_simple_template.vcxproj.filters
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="header">
-      <UniqueIdentifier>{bf104e1d-06e1-4c35-8340-89c3b22319b3}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="spectrum_simple_template.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\c_header\spcm_win32_msvcpp.lib" />
-    <CustomBuild Include="..\c_header\spcm_win64_msvcpp.lib" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/sse/spc_sse_demux.cpp b/Cpp/examples/c_cpp/sse/spc_sse_demux.cpp
deleted file mode 100644
index 1cefa07855b47d68f114d46ce31b47093f9ca510..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/sse/spc_sse_demux.cpp
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
-**************************************************************************
-
-spc_sse_demux.cpp                                        (c) Spectrum GmbH
-
-**************************************************************************
-
-Implements data demultiplexing functions using SSE2 commands by intrinsic
-functions. Tested with Microsoft Visual C++ (Windows) and Gnu C++ (Linux)
-
-These functions need a CPU supporting SSE2 commands to run. Please see
-the Intrinsic Guide by Intel for more information:
-https://software.intel.com/sites/landingpage/IntrinsicsGuide
-
-The demultiplexing functions speed up the process to demultiplex a single
-packed data array with 2, 4 or 8 multiplexed channels into separate data
-arrays, one for each channel. Compared to a simple nested for-loop these
-function can speed up the demultiplexing process up to the factor of 8x
-
-Feel free to use these functions in your own programs.
-
-**************************************************************************
-*/
-
-#include "spc_sse_demux.h"
-
-// ----------------------------------------------------------------------------
-// ----- Demultiplexing of 2 channels.
-// ----- pnData and all anChX must be 16 byte aligned.
-// ----- Replace _mm_load_si128/_mm_store_si128 with _mm_loadu_si128/_mm_storeu_si128
-// ----- if you want to use unaligned memory.
-// ----- This function requires dwNumSamples to be a multiple of 8 because all
-// ----- operations take place on 128bit = 8*16bit.
-// ----- anChX needs to point to enough memory to hold dwNumSamples.
-// ----------------------------------------------------------------------------
-void vDemuxData2_int16 (int16* anMuxedData, uint32 dwNumSamples, int16* anCh0, int16* anCh1)
-    {
-    const uint32 dwNumCh = 2;
-
-    // ----- init pointers to 128 block for easier access later on -----
-    __m128i* powReadPos     = reinterpret_cast < __m128i * > (anMuxedData);
-    __m128i* powWritePosCh0 = reinterpret_cast < __m128i * > (anCh0);
-    __m128i* powWritePosCh1 = reinterpret_cast < __m128i * > (anCh1);
-
-    // ----- demux data. 8 samples per channel in each run of the for loop -----
-    __m128i xmmData1, xmmData2;
-    __m128i xmmTmp1, xmmTmp2, xmmTmp3;
-    const uint32 dwNumSamplesPer128Bit = sizeof(__m128i)/sizeof(int16);
-    for (uint32 i = 0; i < dwNumSamples * dwNumCh; i += dwNumSamplesPer128Bit * dwNumCh)
-        {
-        // load data from memory
-        xmmData1 = _mm_load_si128 (powReadPos++); // B3A3B2A2 B1A1B0A0
-        xmmData2 = _mm_load_si128 (powReadPos++); // B7A7B6A6 B5A5B4A4
-
-        // sort lower 4 samples
-        xmmTmp1 = _mm_shufflelo_epi16 (xmmData1, (3 << 6) | (1 << 4) | (2 << 2) | (0 << 0)); // B3A3B2A2 B1B0A1A0
-        xmmTmp1 = _mm_shufflehi_epi16 (xmmTmp1,  (3 << 6) | (1 << 4) | (2 << 2) | (0 << 0)); // B3B2A3A2 B1B0A1A0
-        xmmTmp1 = _mm_shuffle_epi32   (xmmTmp1,  (3 << 6) | (1 << 4) | (2 << 2) | (0 << 0)); // B3B2B1B0 A3A2A1A0
-
-        // sort upper 4 samples
-        xmmTmp2 = _mm_shufflelo_epi16 (xmmData2, (3 << 6) | (1 << 4) | (2 << 2) | (0 << 0)); // B7A7B6A6 B5B4A5A4
-        xmmTmp2 = _mm_shufflehi_epi16 (xmmTmp2,  (3 << 6) | (1 << 4) | (2 << 2) | (0 << 0)); // B7B6A7A6 B5B4A5A4
-        xmmTmp2 = _mm_shuffle_epi32   (xmmTmp2,  (3 << 6) | (1 << 4) | (2 << 2) | (0 << 0)); // B7B6B5B4 A7A6A5A4
-
-        xmmTmp3 = _mm_unpacklo_epi64 (xmmTmp1, xmmTmp2); // A7A6A5A4 A3A2A1A0
-        _mm_store_si128 (powWritePosCh0, xmmTmp3);
-
-        xmmTmp3 = _mm_unpackhi_epi64 (xmmTmp1, xmmTmp2); // B7B6B5B4 B3B2B1B0
-        _mm_store_si128 (powWritePosCh1, xmmTmp3);
-
-        // ----- increase write position in each demuxed buffer -----
-        powWritePosCh0++;
-        powWritePosCh1++;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// ----- Demultiplexing of 4 channels.
-// ----- pnData and all anChX must be 16 byte aligned.
-// ----- Replace _mm_load_si128/_mm_store_si128 with _mm_loadu_si128/_mm_storeu_si128
-// ----- if you want to use unaligned memory.
-// ----- This function requires dwNumSamples to be a multiple of 8 because all
-// ----- operations take place on 128bit = 8*16bit.
-// ----- anChX needs to point to enough memory to hold dwNumSamples.
-// ----------------------------------------------------------------------------
-void vDemuxData4_int16 (int16* anMuxedData, uint32 dwNumSamples, int16* anCh0, int16* anCh1, int16* anCh2, int16* anCh3)
-    {
-    const uint32 dwNumCh = 4;
-
-    // ----- init pointers to 128 block for easier access later on -----
-    __m128i* powReadPos     = reinterpret_cast < __m128i * > (anMuxedData);
-    __m128i* powWritePosCh0 = reinterpret_cast < __m128i * > (anCh0);
-    __m128i* powWritePosCh1 = reinterpret_cast < __m128i * > (anCh1);
-    __m128i* powWritePosCh2 = reinterpret_cast < __m128i * > (anCh2);
-    __m128i* powWritePosCh3 = reinterpret_cast < __m128i * > (anCh3);
-
-    // ----- demux data. 8 samples per channel in each run of the for loop -----
-    __m128i xmmData1, xmmData2, xmmData3, xmmData4;
-    __m128i xmmTmp1, xmmTmp2;
-    const uint32 dwNumSamplesPer128Bit = sizeof(__m128i)/sizeof(int16);
-    for (uint32 i = 0; i < dwNumSamples * dwNumCh; i += dwNumSamplesPer128Bit * dwNumCh)
-        {
-        xmmData1 = _mm_load_si128 (powReadPos++); // D1C1B1A1 D0C0B0A0
-        xmmData2 = _mm_load_si128 (powReadPos++); // D3C3B3A3 D2C2B2A2
-        xmmData3 = _mm_load_si128 (powReadPos++); // D5C5B5A5 D4C4B4A4
-        xmmData4 = _mm_load_si128 (powReadPos++); // D7C7B7A7 D6C6B6A6
-
-        // lower four samples
-        xmmTmp1 = _mm_unpacklo_epi16 (xmmData1, xmmData2); // D2D0 C2C0 B2B0 A2A0
-        xmmTmp2 = _mm_unpackhi_epi16 (xmmData1, xmmData2); // D3D1 C3C1 B3B1 A3A1
-
-        xmmData1 = _mm_unpacklo_epi16 (xmmTmp1, xmmTmp2); // B3B2B1B0 A3A2A1A0
-        xmmData2 = _mm_unpackhi_epi16 (xmmTmp1, xmmTmp2); // D3D2D1D0 C3C2C1C0
-
-        // upper four samples
-        xmmTmp1 = _mm_unpacklo_epi16 (xmmData3, xmmData4); // D6D4 C6C4 B6B4 A6A4
-        xmmTmp2 = _mm_unpackhi_epi16 (xmmData3, xmmData4); // D7D5 C7C5 B7B5 A7A5
-
-        xmmData3 = _mm_unpacklo_epi16 (xmmTmp1, xmmTmp2); // B7B6B5B4 A7A6A5A4
-        xmmData4 = _mm_unpackhi_epi16 (xmmTmp1, xmmTmp2); // D7D6D5D4 C7C6C5C4
-
-        xmmTmp1 = _mm_unpacklo_epi64 (xmmData1, xmmData3); // A7A6A5A4 A3A2A1A0
-        _mm_store_si128 (powWritePosCh0, xmmTmp1);
-
-        xmmTmp1 = _mm_unpackhi_epi64 (xmmData1, xmmData3); // B7B6B5B4 B3B2B1B0
-        _mm_store_si128 (powWritePosCh1, xmmTmp1);
-
-        xmmTmp1 = _mm_unpacklo_epi64 (xmmData2, xmmData4); // C7C6C5C4 C3C2C1C0
-        _mm_store_si128 (powWritePosCh2, xmmTmp1);
-
-        xmmTmp1 = _mm_unpackhi_epi64 (xmmData2, xmmData4); // D7D6D5D4 D3D2D1D0
-        _mm_store_si128 (powWritePosCh3, xmmTmp1); 
-
-        // ----- increase write position in each demuxed buffer -----
-        powWritePosCh0++;
-        powWritePosCh1++;
-        powWritePosCh2++;
-        powWritePosCh3++;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// ----- Demultiplexing of 8 channels.
-// ----- pnData and all anChX must be 16 byte aligned.
-// ----- Replace _mm_load_si128/_mm_store_si128 with _mm_loadu_si128/_mm_storeu_si128
-// ----- if you want to use unaligned memory.
-// ----- This function requires dwNumSamples to be a multiple of 8 because all
-// ----- operations take place on 128bit = 8*16bit.
-// ----- anChX needs to point to enough memory to hold dwNumSamples.
-// ----------------------------------------------------------------------------
-void vDemuxData8_int16 (int16* anMuxedData, uint32 dwNumSamples, int16* anCh0, int16* anCh1, int16* anCh2, int16* anCh3, int16* anCh4, int16* anCh5, int16* anCh6, int16* anCh7)
-    {
-    const uint32 dwNumCh = 8;
-
-    // ----- init pointers to 128 block for easier access later on -----
-    __m128i* powReadPos     = reinterpret_cast < __m128i * > (anMuxedData);
-    __m128i* powWritePosCh0 = reinterpret_cast < __m128i * > (anCh0);
-    __m128i* powWritePosCh1 = reinterpret_cast < __m128i * > (anCh1);
-    __m128i* powWritePosCh2 = reinterpret_cast < __m128i * > (anCh2);
-    __m128i* powWritePosCh3 = reinterpret_cast < __m128i * > (anCh3);
-    __m128i* powWritePosCh4 = reinterpret_cast < __m128i * > (anCh4);
-    __m128i* powWritePosCh5 = reinterpret_cast < __m128i * > (anCh5);
-    __m128i* powWritePosCh6 = reinterpret_cast < __m128i * > (anCh6);
-    __m128i* powWritePosCh7 = reinterpret_cast < __m128i * > (anCh7);
-
-    // ----- demux data. 8 samples per channel in each run of the for loop -----
-    __m128i xmmData1, xmmData2, xmmData3, xmmData4;
-    __m128i xmmTmp1, xmmTmp2, xmmTmp3, xmmTmp4, xmmTmp5, xmmTmp6, xmmTmp7;
-    __m128i xmmResult;
-    const uint32 dwNumSamplesPer128Bit = sizeof(__m128i)/sizeof(int16);
-    for (uint32 i = 0; i < dwNumSamples * dwNumCh; i += dwNumSamplesPer128Bit * dwNumCh)
-        {
-        // ----- load and sort lower four samples -----
-        xmmData1 = _mm_load_si128 (powReadPos++); // H0G0F0E0 D0C0B0A0
-        xmmData2 = _mm_load_si128 (powReadPos++); // H1G1F1E1 D1C1B1A1
-        xmmData3 = _mm_load_si128 (powReadPos++); // H2G2F2E2 D2C2B2A2
-        xmmData4 = _mm_load_si128 (powReadPos++); // H3G3F3E3 D3C3B3A3
-
-        xmmTmp1 = _mm_unpacklo_epi16 (xmmData1, xmmData2); // D1D0C1C0 B1B0A1A0
-        xmmTmp2 = _mm_unpacklo_epi16 (xmmData3, xmmData4); // D3D2C3C2 B3B2A3A2
-        xmmTmp3 = _mm_unpacklo_epi32 (xmmTmp1, xmmTmp2);   // B3B2B1B0 A3A2A1A0
-        xmmTmp4 = _mm_unpackhi_epi32 (xmmTmp1, xmmTmp2);   // D3D2D1D0 C3C2C1C0
-
-        xmmTmp1 = _mm_unpackhi_epi16 (xmmData1, xmmData2); // H1H0G1G0 F1F0E1E0
-        xmmTmp2 = _mm_unpackhi_epi16 (xmmData3, xmmData4); // H3H2G3G2 F3F2E3E2
-        xmmTmp5 = _mm_unpacklo_epi32 (xmmTmp1, xmmTmp2);   // F3F2F1F0 E3E2E1E0
-        xmmTmp6 = _mm_unpackhi_epi32 (xmmTmp1, xmmTmp2);   // H3H2H1H0 G3G2G1G0
-
-        // ----- load and sort upper four samples -----
-        xmmData1 = _mm_load_si128 (powReadPos++); // H4G4F4E4 D4C4B4A4
-        xmmData2 = _mm_load_si128 (powReadPos++); // H5G5F5E5 D5C5B5A5
-        xmmData3 = _mm_load_si128 (powReadPos++); // H6G6F6E6 D6C6B6A6
-        xmmData4 = _mm_load_si128 (powReadPos++); // H7G7F7E7 D7C7B7A7
-
-        xmmTmp1 = _mm_unpacklo_epi16 (xmmData1, xmmData2); // D5D4C5C4 B5B4A5A4
-        xmmTmp2 = _mm_unpacklo_epi16 (xmmData3, xmmData4); // D7D6C7C6 B7B6A7A6
-        xmmTmp7 = _mm_unpacklo_epi32 (xmmTmp1, xmmTmp2);   // B7B6B5B4 A7A6A5A4
-
-        // ----- merge lower and upper four samples and write to result buffer -----
-        xmmResult = _mm_unpacklo_epi64 (xmmTmp3, xmmTmp7); // A7A6A5A4 A3A2A1A0
-        _mm_store_si128 (powWritePosCh0, xmmResult);
-
-        xmmResult = _mm_unpackhi_epi64 (xmmTmp3, xmmTmp7); // B7B6B5B4 B3B2B1B0
-        _mm_store_si128 (powWritePosCh1, xmmResult);
-
-        xmmTmp7 = _mm_unpackhi_epi32 (xmmTmp1, xmmTmp2);   // D7D6D5D4 C7C6C5C4
-
-        xmmResult = _mm_unpacklo_epi64 (xmmTmp4, xmmTmp7); // C7C6C5C4 C3C2C1C0
-        _mm_store_si128 (powWritePosCh2, xmmResult);
-
-        xmmResult = _mm_unpackhi_epi64 (xmmTmp4, xmmTmp7); // D7D6D5D4 D3D2D1D0
-        _mm_store_si128 (powWritePosCh3, xmmResult);
-
-
-        xmmTmp1  = _mm_unpackhi_epi16 (xmmData1, xmmData2); // H5H4G5G4 F5F4E5E4
-        xmmTmp2  = _mm_unpackhi_epi16 (xmmData3, xmmData4); // H7H6G7G6 F7F6E7E6
-        xmmTmp7  = _mm_unpacklo_epi32 (xmmTmp1, xmmTmp2);   // F7F6F5F4 E7E6E5E4
-
-        xmmResult = _mm_unpacklo_epi64 (xmmTmp5, xmmTmp7); // E7E6E5E4 E3E2E1E0
-        _mm_store_si128 (powWritePosCh4, xmmResult);
-
-        xmmResult = _mm_unpackhi_epi64 (xmmTmp5, xmmTmp7); // F7F6F5F4 F3F2F1F0
-        _mm_store_si128 (powWritePosCh5, xmmResult);
-
-        xmmTmp7 = _mm_unpackhi_epi32 (xmmTmp1, xmmTmp2);   // H7H6H5H4 G7G6G5G4
-
-        xmmResult = _mm_unpacklo_epi64 (xmmTmp6, xmmTmp7); // G7G6G5G4 G3G2G1G0
-        _mm_store_si128 (powWritePosCh6, xmmResult);
-
-        xmmResult = _mm_unpackhi_epi64 (xmmTmp6, xmmTmp7); // H7H6H5H4 H3H2H1H0
-        _mm_store_si128 (powWritePosCh7, xmmResult);
-
-        // ----- increase write position in each demuxed buffer -----
-        powWritePosCh0++;
-        powWritePosCh1++;
-        powWritePosCh2++;
-        powWritePosCh3++;
-        powWritePosCh4++;
-        powWritePosCh5++;
-        powWritePosCh6++;
-        powWritePosCh7++;
-        }
-    }
diff --git a/Cpp/examples/c_cpp/sse/spc_sse_demux.h b/Cpp/examples/c_cpp/sse/spc_sse_demux.h
deleted file mode 100644
index ce5b38fe71cf5b55411fe7fa012901541e3871d1..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/sse/spc_sse_demux.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-**************************************************************************
-
-spc_sse_demux.h                                (c) Spectrum GmbH , 03/2016
-
-**************************************************************************
-
-These functions demultiplex the data from one muxed DMA buffer to multiple
-buffers where each contains only the samples from one channel.
-
-Feel free to use these functions in your own programs.
-
-**************************************************************************
-*/
-
-#ifndef SPC_SSE_DEMUX_H
-#define SPC_SSE_DEMUX_H
-
-// ----- include standard driver header from library -----
-#include "../c_header/dlltyp.h"
-
-// ----- SSE2 Intrinsics -----
-#include <emmintrin.h>
-
-// Demultiplexing of 2 channels. See source file for more details.
-void vDemuxData2_int16 (int16* anMuxedData, uint32 dwNumSamples, int16* anCh0, int16* anCh1);
-
-// Demultiplexing of 4 channels. See source file for more details.
-void vDemuxData4_int16 (int16* anMuxedData, uint32 dwNumSamples, int16* anCh0, int16* anCh1, int16* anCh2, int16* anCh3);
-
-// Demultiplexing of 8 channels. See source file for more details.
-void vDemuxData8_int16 (int16* anMuxedData, uint32 dwNumSamples, int16* anCh0, int16* anCh1, int16* anCh2, int16* anCh3, int16* anCh4, int16* anCh5, int16* anCh6, int16* anCh7);
-
-#endif // SPC_SSE_DEMUX_H
diff --git a/Cpp/examples/c_cpp/test/asynchronous_IO_speed/async_io_speed.cpp b/Cpp/examples/c_cpp/test/asynchronous_IO_speed/async_io_speed.cpp
deleted file mode 100644
index ff824a15d957f59b0dd73464b49691386b771067..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/asynchronous_IO_speed/async_io_speed.cpp
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
-**************************************************************************
-
-async_io_speed.cpp                                       (c) Spectrum GmbH
-
-**************************************************************************
-
-Multi-Purpose I/O loop speed test
-The tool measures the write and read time of asynchronous I/O commands
-on the Multi-Purpose I/O lines of M2p and M4i cards.
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-// ----- include standard driver header from library -----
-#include "../../c_header/dlltyp.h"
-#include "../../c_header/regs.h"
-#include "../../c_header/spcerr.h"
-#include "../../c_header/spcm_drv.h"
-
-#include "../../common/ostools/spcm_oswrap.h"
-#include "../../common/ostools/spcm_ostools.h"
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-
-/*
-**************************************************************************
-szTypeToName: doing name translation
-**************************************************************************
-*/
-
-char* szTypeToName (int32 lCardType)
-    {
-    static char szName[50];
-    switch (lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M2ISERIES:     sprintf (szName, "M2i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2IEXPSERIES:  sprintf (szName, "M2i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3ISERIES:     sprintf (szName, "M3i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3IEXPSERIES:  sprintf (szName, "M3i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4IEXPSERIES:  sprintf (szName, "M4i.%04x-x8",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4XEXPSERIES:  sprintf (szName, "M4x.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2PEXPSERIES:  sprintf (szName, "M2p.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M5IEXPSERIES:  sprintf (szName, "M5i.%04x-x16", lCardType & TYP_VERSIONMASK);  break;
-        default:                sprintf (szName, "unknown type");                               break;
-        }
-    return szName;
-    }
-
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    drv_handle  hCard;
-    int32       lCardType, lSerialNumber;
-    char        szName[50];
-
-    // ------------------------------------------------------------------------
-    // we try to open one card and printout some information on it
-
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    sprintf (szName, "/dev/spcm0");
-    // sprintf (szName, "TCPIP::192.168.1.10::inst0::INSTR");
-    hCard = spcm_hOpen (szName);
-
-    // not one card found
-    if (!hCard)
-        {
-        printf ("no card found...\n");
-        return 0;
-        }
-
-    // read out some info and print it
-    spcm_dwGetParam_i32 (hCard, SPC_PCITYP,            &lCardType);
-    spcm_dwGetParam_i32 (hCard, SPC_PCISERIALNO,       &lSerialNumber);
-    printf ("Found: %s sn %05d\n", szTypeToName (lCardType), lSerialNumber);
-
-
-    // check for cards that don't have multi purpose I/O lines
-    switch (lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M2ISERIES:
-        case TYP_M2IEXPSERIES:
-        case TYP_M3ISERIES:
-        case TYP_M3IEXPSERIES:
-            printf("test program needs multi-purpose I/O lines what your card type doesn't have\n");
-            exit(0);
-        }
-
-
-    // ------------------------------------------------------------------------
-    // Test Loops
-    // ------------------------------------------------------------------------
-
-
-    int32 i, lTmp, lMaxIO = 100000;
-    LARGE_INTEGER uStartTimeWrite, uEndTimeWrite, uStartTimeRead, uEndTimeRead, uHighResFreq;
-    double dRunTime, dAverageTime;
-    uint32 dwErr;
-
-    printf("Start Loop\n");
-
-    QueryPerformanceFrequency(&uHighResFreq);
-
-    // write loop
-    dwErr = spcm_dwSetParam_i32(hCard, SPCM_X1_MODE, SPCM_XMODE_ASYNCOUT);
-    if (!dwErr)
-        {
-        QueryPerformanceCounter(&uStartTimeWrite);
-        for (i = 0; i < lMaxIO; i++)
-            dwErr = spcm_dwSetParam_i32(hCard, SPCM_XX_ASYNCIO, i & 2);
-        QueryPerformanceCounter(&uEndTimeWrite);
-        }
-
-    // read loop
-    dwErr = spcm_dwSetParam_i32(hCard, SPCM_X1_MODE, SPCM_XMODE_ASYNCIN);
-    if (!dwErr)
-        {
-        QueryPerformanceCounter(&uStartTimeRead);
-        for (i = 0; i < lMaxIO; i++)
-            dwErr = spcm_dwGetParam_i32(hCard, SPCM_XX_ASYNCIO, &lTmp);
-        QueryPerformanceCounter(&uEndTimeRead);
-        }
-
-    // error check
-    if (dwErr)
-        {
-        uint32 dwErrorReg;
-        int32 lErrorValue;
-        char szErrorText[200];
-        spcm_dwGetErrorInfo_i32(hCard, &dwErrorReg, &lErrorValue, szErrorText);
-        printf("Error:\n%s\n\n", szErrorText);
-        }
-
-    // print result
-    else
-        {
-        printf("Finished: %d AsyncIO Write and %d Read Commands\n", lMaxIO, lMaxIO);
-
-        dRunTime = (double)(uEndTimeWrite.QuadPart - uStartTimeWrite.QuadPart) / uHighResFreq.QuadPart;
-        dAverageTime = (double)dRunTime / (double)lMaxIO;
-        printf("Write Run Time:          %.8lf s\n", dRunTime);
-        printf("Write Average Time:      %.8lf s\n", dAverageTime);
-        printf("Write Average Frequency: %.2lf kHz\n", 1.0 / 1000.0 / dAverageTime);
-        printf("\n");
-
-        dRunTime = (double)(uEndTimeRead.QuadPart - uStartTimeRead.QuadPart) / uHighResFreq.QuadPart;
-        dAverageTime = (double)dRunTime / (double)lMaxIO;
-        printf("Read Run Time:           %.8lf s\n", dRunTime);
-        printf("Read Average Time:       %.8lf s\n", dAverageTime);
-        printf("Read Average Frequency:  %.2lf kHz\n", 1.0 / 1000.0 / dAverageTime);
-        }
-
-    spcm_vClose (hCard);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/test/asynchronous_IO_speed/async_io_speed.sln b/Cpp/examples/c_cpp/test/asynchronous_IO_speed/async_io_speed.sln
deleted file mode 100644
index 0c4c70537e509ed9c71a32930f4606c9294c966c..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/asynchronous_IO_speed/async_io_speed.sln
+++ /dev/null
@@ -1,28 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-VisualStudioVersion = 14.0.25420.1
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spectrum_simple_template", "spectrum_simple_template.vcxproj", "{AB068386-BB5C-4442-ACFF-B5D9A79C311A}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|x64 = Debug|x64
-		Debug|x86 = Debug|x86
-		Release|x64 = Release|x64
-		Release|x86 = Release|x86
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|x64.ActiveCfg = Debug|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|x64.Build.0 = Debug|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|x86.ActiveCfg = Debug|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Debug|x86.Build.0 = Debug|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|x64.ActiveCfg = Release|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|x64.Build.0 = Release|x64
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|x86.ActiveCfg = Release|Win32
-		{AB068386-BB5C-4442-ACFF-B5D9A79C311A}.Release|x86.Build.0 = Release|Win32
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/Cpp/examples/c_cpp/test/asynchronous_IO_speed/async_io_speed.vcproj b/Cpp/examples/c_cpp/test/asynchronous_IO_speed/async_io_speed.vcproj
deleted file mode 100644
index 3d44fc33237235bcbac2a6dc4847f66c54d7d1a8..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/asynchronous_IO_speed/async_io_speed.vcproj
+++ /dev/null
@@ -1,464 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="spectrum_simple_template"
-	ProjectGUID="{AB068386-BB5C-4442-ACFF-B5D9A79C311A}"
-	RootNamespace="$(ProjectName)"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/$(ProjectName).tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/$(ProjectName).pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)\$(ProjectName).exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/$(ProjectName).pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/$(ProjectName).bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/$(ProjectName).tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/$(ProjectName).pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)\$(ProjectName).exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/$(ProjectName).pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/$(ProjectName).bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/$(ProjectName).tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/$(ProjectName).pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)\$(ProjectName).exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/$(ProjectName).pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/$(ProjectName).bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/$(ProjectName).tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/$(ProjectName).pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)\$(ProjectName).exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/$(ProjectName).pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/$(ProjectName).bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="header"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-			>
-		</File>
-		<File
-			RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-			>
-			<FileConfiguration
-				Name="Release|x64"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-		</File>
-		<File
-			RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-			>
-			<FileConfiguration
-				Name="Release|Win32"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|Win32"
-				ExcludedFromBuild="true"
-				>
-				<Tool
-					Name="VCCustomBuildTool"
-				/>
-			</FileConfiguration>
-		</File>
-		<File
-			RelativePath=".\spectrum_simple_template.cpp"
-			>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/test/asynchronous_IO_speed/async_io_speed.vcxproj b/Cpp/examples/c_cpp/test/asynchronous_IO_speed/async_io_speed.vcxproj
deleted file mode 100644
index aae9fee2ac40bfcc8872ac84bc462ba0a3ba556a..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/asynchronous_IO_speed/async_io_speed.vcxproj
+++ /dev/null
@@ -1,255 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{AB068386-BB5C-4442-ACFF-B5D9A79C311A}</ProjectGuid>
-    <RootNamespace>$(ProjectName)</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/$(ProjectName).tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/$(ProjectName).pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/$(ProjectName).pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/$(ProjectName).bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/$(ProjectName).tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/$(ProjectName).pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/$(ProjectName).pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/$(ProjectName).bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/$(ProjectName).tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/$(ProjectName).pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/$(ProjectName).pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/$(ProjectName).bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/$(ProjectName).tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/$(ProjectName).pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/$(ProjectName).pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/$(ProjectName).bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\..\c_header\dlltyp.h" />
-    <ClInclude Include="..\..\c_header\regs.h" />
-    <ClInclude Include="..\..\c_header\spcerr.h" />
-    <ClInclude Include="..\..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="async_io_speed.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\..\c_header\spcm_win32_msvcpp.lib" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/test/asynchronous_IO_speed/async_io_speed.vcxproj.filters b/Cpp/examples/c_cpp/test/asynchronous_IO_speed/async_io_speed.vcxproj.filters
deleted file mode 100644
index 176501d6030961fc5bc0b04fea5b0eeb6893ba23..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/asynchronous_IO_speed/async_io_speed.vcxproj.filters
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="header">
-      <UniqueIdentifier>{60a17647-9522-489d-a544-1b272be5c545}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="async_io_speed.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\..\c_header\spcm_win32_msvcpp.lib" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/test/closed_loop_ad_da/closed_loop_ad_da.cpp b/Cpp/examples/c_cpp/test/closed_loop_ad_da/closed_loop_ad_da.cpp
deleted file mode 100644
index eb06613758f89c40277fb79d2bac32ab7d3c5c10..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/closed_loop_ad_da/closed_loop_ad_da.cpp
+++ /dev/null
@@ -1,411 +0,0 @@
-/*
-**************************************************************************
-
-closed_loop_ad_da.cpp                                    (c) Spectrum GmbH
-
-**************************************************************************
-
-This program acquires data using an analog acquisition card, and replays it
-immediately using an AWG card.
-
-Feel free to use this source for own projects and modify it in any kind
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-/*
-**************************************************************************
-This example needs one A/D and one D/A card with the following connection:
-A/D X0 (trigger out) to D/A trigger input
-A/D clock-out to D/A clock input
-
-Best performance reached:
-- compile the release version
-- close the developemnt software
-- close all other programs running
-- directly start the release version
-**************************************************************************
-*/
-
-// ----- include standard driver header from library -----
-#include "../../c_header/dlltyp.h"
-#include "../../c_header/regs.h"
-#include "../../c_header/spcerr.h"
-#include "../../c_header/spcm_drv.h"
-
-#include "../../common/ostools/spcm_oswrap.h"
-#include "../../common/ostools/spcm_ostools.h"
-
-// ----- standard c include files -----
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <time.h>
-
-
-/*
-**************************************************************************
-szTypeToName: doing name translation
-**************************************************************************
-*/
-
-char* szTypeToName (int32 lCardType)
-    {
-    static char szName[50];
-    switch (lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M2ISERIES:     sprintf (szName, "M2i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2IEXPSERIES:  sprintf (szName, "M2i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3ISERIES:     sprintf (szName, "M3i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3IEXPSERIES:  sprintf (szName, "M3i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4IEXPSERIES:  sprintf (szName, "M4i.%04x-x8",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4XEXPSERIES:  sprintf (szName, "M4x.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2PEXPSERIES:  sprintf (szName, "M2p.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M5IEXPSERIES:  sprintf (szName, "M5i.%04x-x16", lCardType & TYP_VERSIONMASK);  break;
-        default:                sprintf (szName, "unknown type");                               break;
-        }
-    return szName;
-    }
-
-
-
-/*
-**************************************************************************
-main
-**************************************************************************
-*/
-
-int main ()
-    {
-    uint32      dwError = ERR_OK;
-    uint64      qwToTransfer = GIGA_B(1024);
-
-    uint64      qwTotalMem = 0;
-    int32       lStatusAD = 0;
-    int32       lStatusDA = 0;
-    int64       llAvailUserAD = 0;
-    int64       llPCPosAD = 0;
-    int64       llAvailUserDA = 0;
-    int64       llPCPosDA = 0;
-    int64       llBytesToProcess = 0;
-    int32       lFillsizeAD = 0;
-    int32       lFillsizeDA = 0;
-    int32       lRefClockOutput;
-    time_t      stTime;
-
-    // settings for the example
-    int32       lIR_mV = 1000;
-
-    // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-    // these are the main settings that control stability and latency
-    int32       lNumCh =            1;              // number of channels active on both cards
-    int64       llSampleRate =      KILO(500000);   // sampling rate in kHz
-    int32       lNotifySize =       KILO_B(256);    // size of one notify size (data transfererd until interrupt is issued)
-    int64       llBufferSizeDA =    4 * lNotifySize;// total size of software buffer
-    // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-    int64       llBufferSizeAD =    llBufferSizeDA;
-
-    // ----- calculate delay -----
-    printf ("\nCalculated delay between A/D and D/A:\n");
-    printf ("D/A buffer: %0.2lf ms\n\n", 1000.0 * (double)llBufferSizeDA / 2.0 / (double)llSampleRate / (double) lNumCh);
-
-    // ----- open cards -----
-    // ----- this program will use the first AD and first DA card it finds -----
-    drv_handle hCardAD = NULL_HANDLE;
-    drv_handle hCardDA = NULL_HANDLE;
-    int lNumCards = 0;
-    while ((hCardAD == NULL_HANDLE) || (hCardDA == NULL_HANDLE))
-        {
-        // open card
-        char szDeviceName[12] = { '\0' };
-        sprintf (szDeviceName, "/dev/spcm%d", lNumCards);
-        drv_handle hCard = spcm_hOpen (szDeviceName);
-        if (!hCard)
-            {
-            printf ("no card found...\n");
-            return EXIT_FAILURE;
-            }
-
-        // check if the card is AD, DA or something else
-        int32 lFncType = 0;
-        spcm_dwGetParam_i32 (hCard, SPC_FNCTYPE, &lFncType);
-        if (lFncType == SPCM_TYPE_AI)
-            hCardAD = hCard;
-        else if (lFncType == SPCM_TYPE_AO)
-            hCardDA = hCard;
-        else
-            spcm_vClose (hCard);
-        lNumCards++;
-        }
-
-
-    // ----- print some info about cards that are going to be used -----
-    int32 lCardType =     0;
-    int32 lSerialNumber = 0;
-    spcm_dwGetParam_i32 (hCardAD, SPC_PCITYP,         &lCardType);
-    spcm_dwGetParam_i32 (hCardAD, SPC_PCISERIALNO,    &lSerialNumber);
-    printf ("AD card: %s sn %05d\n", szTypeToName (lCardType), lSerialNumber);
-
-    spcm_dwGetParam_i32 (hCardDA, SPC_PCITYP,         &lCardType);
-    spcm_dwGetParam_i32 (hCardDA, SPC_PCISERIALNO,    &lSerialNumber);
-    printf ("DA card: %s sn %05d\n", szTypeToName (lCardType), lSerialNumber);
-
-    // calculate channel mask from active channel count
-    int32 lChMask = (1 << lNumCh) - 1;
-
-    // ----- setup AD card -----
-    spcm_dwSetParam_i32 (hCardAD, SPC_CHENABLE,             lChMask);
-    spcm_dwSetParam_i32 (hCardAD, SPC_PRETRIGGER,            32);
-    spcm_dwSetParam_i32 (hCardAD, SPC_CARDMODE,             SPC_REC_FIFO_SINGLE);   // single FIFO mode
-    spcm_dwSetParam_i32 (hCardAD, SPC_TIMEOUT,              5000);                  // timeout 5 s
-    spcm_dwSetParam_i32 (hCardAD, SPC_TRIG_ORMASK,          SPC_TMASK_EXT0);        // waiting for a trigger that isn't connected to allow force trigger
-    spcm_dwSetParam_i32 (hCardAD, SPC_TRIG_ANDMASK,         0);                     // ...
-    spcm_dwSetParam_i32 (hCardAD, SPCM_X0_MODE,             SPCM_XMODE_TRIGOUT);    // trigger output to D/A card
-    spcm_dwSetParam_i32 (hCardAD, SPC_CLOCKMODE,            SPC_CM_INTPLL);         // clock mode internal PLL
-    spcm_dwSetParam_i32 (hCardAD, SPC_CLOCKOUT,             1);                     // clock output
-    spcm_dwSetParam_i32 (hCardAD, SPC_SPECIALCLOCK,         1);                     // use special clock to be able to use odd sampling rates on M4i.44xx
-    spcm_dwSetParam_i64 (hCardAD, SPC_SAMPLERATE,           llSampleRate);
-    for (int i = 0; i < lNumCh; ++i)
-        {
-        spcm_dwSetParam_i64 (hCardAD, SPC_PATH0 + i*100,  0);                       // path 0
-        spcm_dwSetParam_i64 (hCardAD, SPC_AMP0  + i*100,  lIR_mV);                  // input range as defined above
-        spcm_dwSetParam_i64 (hCardAD, SPC_ACDC0 + i*100,  COUPLING_DC);             // use DC coupling
-        }
-    spcm_dwSetParam_i32 (hCardAD, SPC_M2CMD,                M2CMD_CARD_WRITESETUP); // write setup to avoid later settling wait time and to activate clock output
-    spcm_dwGetParam_i32 (hCardAD, SPC_CLOCKOUTFREQUENCY,    &lRefClockOutput);      // read the refrence clock output frequency to write this to the D/A card
-
-    // ----- setup DA card -----
-    spcm_dwSetParam_i32 (hCardDA, SPC_CHENABLE,             lChMask);
-    spcm_dwSetParam_i32 (hCardDA, SPC_CARDMODE,             SPC_REP_FIFO_SINGLE);   // single FIFO mode
-    spcm_dwSetParam_i32 (hCardDA, SPC_TIMEOUT,              5000);                  // timeout 5 s
-    spcm_dwSetParam_i32 (hCardDA, SPC_TRIG_ORMASK,          SPC_TMASK_EXT0);        // wait fro trigger from A/D card
-    spcm_dwSetParam_i32 (hCardDA, SPC_TRIG_ANDMASK,         0);                     // ...
-    spcm_dwSetParam_i32 (hCardDA, SPC_TRIG_EXT0_MODE,       SPC_TM_POS);            // positive edge
-    spcm_dwSetParam_i32 (hCardDA, SPC_TRIG_TERM,            0);                     // high impedance input
-    spcm_dwSetParam_i32 (hCardDA, SPC_TRIG_EXT0_LEVEL0,     1500);                  // 1.5 V trigger level
-    spcm_dwSetParam_i32 (hCardDA, SPC_CLOCKMODE,            SPC_CM_EXTREFCLOCK);    // clock mode external refrence clock (from A/D card)
-    spcm_dwSetParam_i32 (hCardDA, SPC_REFERENCECLOCK,       lRefClockOutput);       // reference clock from A/D card
-    spcm_dwSetParam_i32 (hCardDA, SPC_CLOCKOUT,             0);                     // no clock output
-    spcm_dwSetParam_i64 (hCardDA, SPC_SAMPLERATE,           llSampleRate);
-    for (int i = 0; i < lNumCh; ++i)
-        {
-        spcm_dwSetParam_i64 (hCardDA, SPC_AMP0       + i*100,  lIR_mV);             // use same voltage level as the AD card (also see below for DATACONVERSION)
-        spcm_dwSetParam_i64 (hCardDA, SPC_ENABLEOUT0 + i*100,  1);                  // enable the output
-        }
-    spcm_dwSetParam_i32 (hCardDA, SPC_M2CMD,                M2CMD_CARD_WRITESETUP); // write setup to avoid later settling wait time
-
-    // ----- if resolution of AD card and DA card do not match we use the data conversion feature of the DA card to get similar output levels -----
-    int32 lResolutionAD = 0;
-    int32 lResolutionDA = 0;
-    spcm_dwGetParam_i32 (hCardAD, SPC_MIINST_BITSPERSAMPLE, &lResolutionAD);
-    spcm_dwGetParam_i32 (hCardDA, SPC_MIINST_BITSPERSAMPLE, &lResolutionDA);
-    switch (lResolutionDA)
-        {
-        case 16:
-            {
-            if (lResolutionAD == 14)
-                spcm_dwSetParam_i32 (hCardDA, SPC_DATACONVERSION, SPCM_DC_14BIT_TO_16BIT);
-            else if (lResolutionAD == 12)
-                spcm_dwSetParam_i32 (hCardDA, SPC_DATACONVERSION, SPCM_DC_12BIT_TO_16BIT);
-            break;
-            }
-        case 14:
-            {
-            if (lResolutionAD == 16)
-                spcm_dwSetParam_i32 (hCardDA, SPC_DATACONVERSION, SPCM_DC_16BIT_TO_14BIT);
-            else if (lResolutionAD == 12)
-                spcm_dwSetParam_i32 (hCardDA, SPC_DATACONVERSION, SPCM_DC_12BIT_TO_14BIT);
-            break;
-            }
-        }
-
-    // ----- print used sample rates of both cards -----
-    int64 llUsedSampleRate = 0;
-    spcm_dwGetParam_i64 (hCardAD, SPC_SAMPLERATE,     &llUsedSampleRate);
-    printf ("Used Samplerate AD: %lld\n", llUsedSampleRate);
-    spcm_dwGetParam_i64 (hCardDA, SPC_SAMPLERATE,     &llUsedSampleRate);
-    printf ("Used Samplerate DA: %lld\n", llUsedSampleRate);
-
-    // ----- define the data buffers -----
-    int16* pnDataAD = (int16*) pvAllocMemPageAligned ((uint64) llBufferSizeAD);
-    if (!pnDataAD)
-        {
-        printf ("memory allocation failed\n");
-        spcm_vClose (hCardAD);
-        spcm_vClose (hCardDA);
-        return EXIT_FAILURE;
-        }
-
-    int16* pnDataDA = (int16*) pvAllocMemPageAligned ((uint64) llBufferSizeDA);
-    if (!pnDataDA)
-        {
-        printf ("memory allocation failed\n");
-
-        vFreeMemPageAligned (pnDataAD, (uint64) llBufferSizeAD);
-        spcm_vClose (hCardAD);
-        spcm_vClose (hCardDA);
-        return EXIT_FAILURE;
-        }
-
-    // define the buffers for transfer
-    dwError = spcm_dwDefTransfer_i64 (hCardAD, SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, lNotifySize, pnDataAD, 0, llBufferSizeAD);
-    dwError = spcm_dwDefTransfer_i64 (hCardDA, SPCM_BUF_DATA, SPCM_DIR_PCTOCARD, lNotifySize, pnDataDA, 0, llBufferSizeDA);
-
-    printf ("\nClosed Loop starts now. Press CTRL-C to abort\n... no output during loop for best performance\n");
-    stTime = time(NULL);
-    printf("\nStart Time: %s\n", ctime(&stTime));
-
-    // -------------------------------------------------------
-    // -------------------------------------------------------
-    // ----- run the FIFO mode and loop through the data -----
-
-    // ----- transfer empty buffer data to the D/A card -----
-    // this defines the delay between input and output of the loop
-    if (!dwError)
-        {
-        dwError = spcm_dwGetParam_i64(hCardDA, SPC_DATA_AVAIL_USER_LEN, &llAvailUserDA);
-        dwError = spcm_dwGetParam_i64(hCardDA, SPC_DATA_AVAIL_USER_POS, &llPCPosDA);
-        dwError = spcm_dwSetParam_i64(hCardDA, SPC_DATA_AVAIL_CARD_LEN, llBufferSizeDA);
-        dwError = spcm_dwSetParam_i32(hCardDA, SPC_M2CMD, M2CMD_DATA_STARTDMA | M2CMD_DATA_WAITDMA);
-        }
-
-    // ----- start D/A and wait until it is armed -----
-    if (!dwError)
-        {
-        dwError = spcm_dwSetParam_i32(hCardDA, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER);
-        do
-            {
-            dwError = spcm_dwGetParam_i32(hCardDA, SPC_M2STATUS, &lStatusDA);
-            } while ((lStatusDA & M2STAT_CARD_PRETRIGGER) == 0);
-        }
-
-    // ----- start AD card -----
-    // this will automatically trigger the D/A card and start the output of the empty buffer
-    if (!dwError)
-        {
-        dwError = spcm_dwSetParam_i32(hCardAD, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER);
-        dwError = spcm_dwSetParam_i32(hCardAD, SPC_M2CMD, M2CMD_DATA_STARTDMA);
-        dwError = spcm_dwSetParam_i32(hCardAD, SPC_M2CMD, M2CMD_CARD_FORCETRIGGER); // starts the acquisition and via trigger output the generation also
-        spcm_dwSetParam_i32(hCardAD, SPCM_XX_ASYNCIO, 7);
-        }
-
-    // ----- LOOP LOOP LOOP -------------------------------------------------------------------------------
-    // in the loop each buffer of data received from the A/D card is copied and transferred to the D/A card
-    while (!dwError && (qwTotalMem < qwToTransfer))
-        {
-
-        // wait for next A/D buffer to be ready
-        dwError = spcm_dwSetParam_i32 (hCardAD, SPC_M2CMD, M2CMD_DATA_WAITDMA);
-
-        // process next block of data
-        if (!dwError)
-            {
-            dwError = spcm_dwGetParam_i32(hCardAD, SPC_M2STATUS, &lStatusAD);
-            spcm_dwGetParam_i64(hCardAD, SPC_DATA_AVAIL_USER_LEN, &llAvailUserAD);
-            spcm_dwGetParam_i64(hCardAD, SPC_DATA_AVAIL_USER_POS, &llPCPosAD);
-            if (lStatusAD & M2STAT_CARD_READY)
-                {
-                printf("\n\nA/D card stopped acquisition\n");
-                dwError = ERR_ABORT;
-                }
-            }
-
-        if (!dwError)
-            {
-            dwError = spcm_dwGetParam_i32(hCardDA, SPC_M2STATUS, &lStatusDA);
-            if (lStatusDA & M2STAT_CARD_READY)
-                {
-                printf("\n\nD/A card stopped replay\n");
-                dwError = ERR_ABORT;
-                }
-            }
-
-        // ----- process data if at least one notify size is available (this should always be the case after WAITDMA) -----
-        if (!dwError && (llAvailUserAD >= lNotifySize))
-            {
-            spcm_dwGetParam_i64 (hCardDA, SPC_DATA_AVAIL_USER_LEN,  &llAvailUserDA);
-            spcm_dwGetParam_i64 (hCardDA, SPC_DATA_AVAIL_USER_POS,  &llPCPosDA);
-
-            // we will handle each block serparately to get best performance
-            llBytesToProcess = (int64) lNotifySize;
-
-            // this is the point to do something with the data
-            // we will simply copy it unmodified to the buffer of the DA card
-            memcpy (pnDataDA + (llPCPosDA / sizeof (int16)), pnDataAD + (llPCPosAD / sizeof (int16)), (size_t) llBytesToProcess);
-
-            // mark data bytes as processed (=free) for AD card
-            spcm_dwSetParam_i64 (hCardAD, SPC_DATA_AVAIL_CARD_LEN,  llBytesToProcess);
-
-            // mark data bytes as available for DA card and wait for end of data transfer
-            spcm_dwSetParam_i64 (hCardDA, SPC_DATA_AVAIL_CARD_LEN,  llBytesToProcess);
-            dwError = spcm_dwSetParam_i32(hCardDA, SPC_M2CMD, M2CMD_DATA_WAITDMA);
-
-            qwTotalMem += llBytesToProcess;
-
-            // ----- print some status info -----
-            // to get best performance no printf function should be used in the loop
-            spcm_dwGetParam_i32 (hCardAD, SPC_FILLSIZEPROMILLE, &lFillsizeAD);
-            spcm_dwGetParam_i32 (hCardDA, SPC_FILLSIZEPROMILLE, &lFillsizeDA);
-
-            // printf decreases performance a lot!
-            //printf ("\rStatAD:%08x StatDA:%08x FillAD: %3d FillDA: %3d Total:%.2fMB", lStatusAD, lStatusDA, lFillsizeAD, lFillsizeDA,  (double) (int64) qwTotalMem / MEGA_B(1));
-            }
-        }
-    // -------------------------------------------------------
-    // -------------------------------------------------------
-    // -------------------------------------------------------
-
-    printf("\n\n");
-
-    // check for timeout
-    if (dwError == ERR_TIMEOUT)
-        printf("Timeout occurred, reduce speed or enlarge buffers\n");
-
-    // error checking
-    uint32 dwADError = 0;
-    uint32 dwADErrorReg = 0;
-    int32  lADErrorValue = 0;
-    char szADErrorText[ERRORTEXTLEN];
-
-    uint32 dwDAError = 0;
-    uint32 dwDAErrorReg = 0;
-    int32  lDAErrorValue = 0;
-    char szDAErrorText[ERRORTEXTLEN];
-
-    dwADError = spcm_dwGetErrorInfo_i32 (hCardAD, &dwADErrorReg, &lADErrorValue, szADErrorText);
-    if (dwADError)
-        printf("AD Error: %d\n%s\n", dwADError, szADErrorText);
-    dwDAError = spcm_dwGetErrorInfo_i32 (hCardDA, &dwDAErrorReg, &lDAErrorValue, szDAErrorText);
-    if (dwDAError)
-        printf("DA Error: %d\n%s\n", dwDAError, szDAErrorText);
-
-    // send the stop command
-    dwError = spcm_dwSetParam_i32 (hCardDA, SPC_M2CMD, M2CMD_CARD_STOP | M2CMD_DATA_STOPDMA);
-    dwError = spcm_dwSetParam_i32 (hCardAD, SPC_M2CMD, M2CMD_CARD_STOP | M2CMD_DATA_STOPDMA);
-
-    // clean up
-    printf ("Finished...\n");
-    stTime = time(NULL);
-    printf("End Time: %s\n", ctime(&stTime));
-
-    vFreeMemPageAligned (pnDataAD, (uint64) llBufferSizeAD);
-    vFreeMemPageAligned (pnDataDA, (uint64) llBufferSizeDA);
-
-    spcm_vClose (hCardAD);
-    spcm_vClose (hCardDA);
-
-    cGetch();
-
-    if (dwError)
-        return EXIT_FAILURE;
-
-    return EXIT_SUCCESS;
-    }
diff --git a/Cpp/examples/c_cpp/test/closed_loop_ad_da/closed_loop_ad_da.vcxproj b/Cpp/examples/c_cpp/test/closed_loop_ad_da/closed_loop_ad_da.vcxproj
deleted file mode 100644
index bbb2092b3ef635ad720bab8234b06e7a0e3f9bc0..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/closed_loop_ad_da/closed_loop_ad_da.vcxproj
+++ /dev/null
@@ -1,263 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{AB068386-BB5C-4442-ACFF-B5D9A79C311A}</ProjectGuid>
-    <RootNamespace>roundtrip</RootNamespace>
-    <ProjectName>closed_loop_ad_da</ProjectName>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/simple_rec_fifo.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/simple_rec_fifo.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/simple_rec_fifo.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/simple_rec_fifo.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/simple_rec_fifo.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/simple_rec_fifo.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/simple_rec_fifo.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/simple_rec_fifo.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/simple_rec_fifo.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/simple_rec_fifo.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/simple_rec_fifo.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/simple_rec_fifo.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/simple_rec_fifo.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/simple_rec_fifo.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>$(TargetPath)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/simple_rec_fifo.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/simple_rec_fifo.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\..\c_header\dlltyp.h" />
-    <ClInclude Include="..\..\c_header\regs.h" />
-    <ClInclude Include="..\..\c_header\spcerr.h" />
-    <ClInclude Include="..\..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="closed_loop_ad_da.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/test/closed_loop_ad_da/closed_loop_ad_da.vcxproj.filters b/Cpp/examples/c_cpp/test/closed_loop_ad_da/closed_loop_ad_da.vcxproj.filters
deleted file mode 100644
index f8c5c12cfee36817810960e85eb169455d4227ec..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/closed_loop_ad_da/closed_loop_ad_da.vcxproj.filters
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <ClInclude Include="..\..\c_header\dlltyp.h">
-      <Filter>Headers\c_header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\c_header\regs.h">
-      <Filter>Headers\c_header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\c_header\spcerr.h">
-      <Filter>Headers\c_header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\c_header\spcm_drv.h">
-      <Filter>Headers\c_header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\common\ostools\spcm_ostools.h">
-      <Filter>Headers\ostools</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\common\ostools\spcm_oswrap.h">
-      <Filter>Headers\ostools</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\..\c_header\spcm_win32_msvcpp.lib" />
-    <Library Include="..\..\c_header\spcm_win64_msvcpp.lib" />
-  </ItemGroup>
-  <ItemGroup>
-    <Filter Include="Headers">
-      <UniqueIdentifier>{ab225bbd-3e54-4ce5-bea0-ad0114a5d105}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Headers\c_header">
-      <UniqueIdentifier>{3b3b011c-874e-4610-9ae3-23c375634160}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Headers\ostools">
-      <UniqueIdentifier>{89c3b204-455c-493a-adb3-fabd1e01bdc6}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Sources">
-      <UniqueIdentifier>{96b44a4f-afef-4b3e-811b-1367540a78c2}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Sources\ostools">
-      <UniqueIdentifier>{9d80a65f-099c-4923-a3a5-e66732683f58}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>Sources\ostools</Filter>
-    </ClCompile>
-    <ClCompile Include="closed_loop_ad_da.cpp">
-      <Filter>Sources</Filter>
-    </ClCompile>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/test/closed_loop_ad_da/makefile b/Cpp/examples/c_cpp/test/closed_loop_ad_da/makefile
deleted file mode 100644
index d20058c5e60abfec8bcc94900ad2baf6e48d8b06..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/closed_loop_ad_da/makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-COMPILER =   	g++
-EXECUTABLE = 	closed_loop_ad_da
-LIBS += 	-lspcm_linux -lpthread -lrt
-CFLAGS += -O2
-
-OBJECTS = 	closed_loop_ad_da.o\
-		../../common/ostools/spcm_ostools_linux.o
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS) 
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/test/memtest/Makefile b/Cpp/examples/c_cpp/test/memtest/Makefile
deleted file mode 100644
index 1c4910c85c918728e7a268d3af8585b7e875dce4..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/memtest/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-CFLAGS =     -fPIC -Wall -O1 -DISP_SUPPORT_M2IKERNEL  -DSPCM_NAMESPACE=spcm_memtest -DNDEBUG
-
-COMPILER =   g++
-EXECUTABLE = spcm_memtest
-
-#IMPORTANT: add files with .o ending, otherwise linux will produce run-time errors when library is used
-
-OBJECTS =       main.o \
-				../../common/ostools/spcm_ostools_linux.o	
-
-
-LIBS +=       -lrt -lstdc++ -lpthread -lspcm_linux
-
-all: $(EXECUTABLE)
-
-$(EXECUTABLE):	$(OBJECTS)
-		$(COMPILER) $(CFLAGS) $(GCC3VISIBILITYFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LIBS)
-
-%.o:		%.cpp
-		$(COMPILER) $(CFLAGS) -o $*.o -c $*.cpp
-
-install:
-
-clean:
-	rm -f $(EXECUTABLE)
-	rm -f $(OBJECTS)
-
diff --git a/Cpp/examples/c_cpp/test/memtest/main.cpp b/Cpp/examples/c_cpp/test/memtest/main.cpp
deleted file mode 100644
index 5304255b8f1d778de20f163f09fedd898ed28725..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/memtest/main.cpp
+++ /dev/null
@@ -1,452 +0,0 @@
-/*
-**************************************************************************
-
-spcm_memtest.cpp                                         (c) Spectrum GmbH
-
-**************************************************************************
-
-Memory test like in Spectrum Control Center for use in custom applications.
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-#include <cstdlib>
-#include <cstdio>
-#include <cstring>
-#include <iostream>
-#include <iomanip>
-
-#include "../../c_header/dlltyp.h"
-#include "../../c_header/regs.h"
-#include "../../c_header/spcerr.h"
-#include "../../c_header/spcm_drv.h"
-
-#include "../../common/ostools/spcm_oswrap.h"
-#include "../../common/ostools/spcm_ostools.h"
-
-/*
-**************************************************************************
-szTypeToName: doing name translation
-**************************************************************************
-*/
-
-char* szTypeToName (int32 lCardType)
-    {
-    static char szName[50];
-    switch (lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M2ISERIES:     sprintf (szName, "M2i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2IEXPSERIES:  sprintf (szName, "M2i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3ISERIES:     sprintf (szName, "M3i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3IEXPSERIES:  sprintf (szName, "M3i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4IEXPSERIES:  sprintf (szName, "M4i.%04x-x8",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4XEXPSERIES:  sprintf (szName, "M4x.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2PEXPSERIES:  sprintf (szName, "M2p.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        default:                sprintf (szName, "unknown type");                               break;
-        }
-    return szName;
-    }
-
-
-// ****************************************************************************
-// ***** command line Memory test for SPCM cards
-// ****************************************************************************
-
-struct ST_SETUP
-    {
-    uint32 dwNumLoops;
-    uint32 dwNumReadsAfterWrite;
-    int64  llReducedMemsize;
-    int64  llOffset;
-    bool   bUseContinuousMemory; // use ContMem if available and large enough
-    };
-
-uint32 dwRunMemtest (drv_handle hCard, const struct ST_SETUP* pstSetup);
-
-int main (int argc, char* argv[])
-    {
-    struct ST_SETUP stSetup = { 1, 1, 0, 0, true };
-    char szCard[50];
-
-    // uncomment the second line and replace the IP address to use remote
-    // cards like in a digitizerNETBOX
-    sprintf (szCard, "/dev/spcm0");
-    // sprintf (szCard, "TCPIP::192.168.1.10::inst0::INSTR");
-
-
-    for (int lArg = 1; lArg < argc; ++lArg)
-        {
-        if (strcmp (argv[lArg], "--card") == 0)
-            {
-            // uncomment the second line and replace the IP address to use remote
-            // cards like in a digitizerNETBOX
-            sprintf (szCard, "/dev/spcm%s", argv[lArg + 1]);
-            // sprintf (szCard, "TCPIP::192.168.1.10::inst%s::INSTR", argv[lArg + 1]);
-            lArg++;
-            }            
-        else if (strcmp (argv[lArg], "--loop") == 0)
-            {
-            int lLoops = atoi (argv[lArg + 1]);
-            if (lLoops == -1)
-                stSetup.dwNumLoops = 0xFFFFFFFF; // used as "forever"
-            else
-                stSetup.dwNumLoops = lLoops;
-            lArg++;
-            }
-        else if (strcmp (argv[lArg], "--read") == 0)
-            {
-            stSetup.dwNumReadsAfterWrite = atoi (argv[lArg + 1]);
-            lArg++;
-            }
-        else if (strcmp (argv[lArg], "--mem") == 0)
-            {
-            stSetup.llReducedMemsize = atoll (argv[lArg + 1]);
-            lArg++;
-            }
-        else if (strcmp (argv[lArg], "--offset") == 0)
-            {
-            stSetup.llOffset = atoll (argv[lArg + 1]);
-            lArg++;
-            }
-        else if ((strcmp (argv[lArg], "--help") == 0)
-                || (strcmp (argv[lArg], "-h") == 0)
-                 || (strcmp (argv[lArg], "/?") == 0))
-            {
-            std::cout << "Commandline Memtest for SPCM-based cards" << std::endl;
-            std::cout << std::endl;
-            std::cout << "Syntax: " << argv[0] << " [options]" << std::endl;
-            std::cout << "Options:" << std::endl;
-            std::cout << "--card <n>:    index of card to be used. Default: 0" << std::endl;
-            std::cout << "--loop <n>:    number of times the memtest should run. Default: 1. Use -1 to run test in endless loop." << std::endl;
-            std::cout << "--read <n>:    number of times the data should be read from the card. Default: 1" << std::endl;
-            std::cout << "--mem <n>:     number of bytes to test. Default: complete onboard memory" << std::endl;
-            std::cout << "--offset <n>:  offset in the onboard memory in bytes. Default: 0" << std::endl;
-            std::cout << "--help:        print this text" << std::endl;
-            std::cout << std::endl;
-            return EXIT_SUCCESS;
-            }
-        else
-            {
-            std::cerr << "Unknown parameter \"" << argv[lArg] << "\"." << std::endl;
-            std::cout << "Use --help to get help." << std::endl;
-            return EXIT_FAILURE;
-            }
-        }
-
-    drv_handle hCard = spcm_hOpen (szCard);
-    if (hCard == NULL)
-        {
-        std::cerr << "Could not open card" << std::endl;
-        return EXIT_FAILURE;
-        }
-
-    dwRunMemtest (hCard, &stSetup);
-
-    spcm_vClose (hCard);
-
-    return EXIT_SUCCESS;
-    }
-
-enum MEMTEST_STATE { MEMTEST_WRITE, MEMTEST_READ };
-struct ST_MEMTESTRESULTS
-    {
-    MEMTEST_STATE eState;
-    bool   bOk;
-    uint32 dwLoopCount;
-    uint32 dwReadCount; // if we read multiple times in one loop
-    };
-
-// ----------------------------------------------------------------------------
-// ----- Memtest
-// ----------------------------------------------------------------------------
-
-// Two reasons to use our own modified implementation of the Microsoft random generator:
-// 1. He generates only 15 Bit.
-// 2. Slow because of thread safety
-
-uint32 g_dwOwnRand_Hold = 1;
-
-void vOwnRand_Seed (uint32 dwSeed)
-    {
-    g_dwOwnRand_Hold = dwSeed;
-    }
-
-inline uint32 dwOwnRand ()  
-    {
-    // Microsoft rand.c is a Linear Congruential Generator
-    // return(((holdrand = holdrand * 214013L + 2531011L) >> 16) & 0x7fff);
-
-    g_dwOwnRand_Hold = g_dwOwnRand_Hold * 214013L + 2531011L;
-
-    return (g_dwOwnRand_Hold >> 15) & 0xffff;
-    }
-
-
-/*
-**************************************************************************
-the memtest function
-**************************************************************************
-*/
-
-#define TEST_PATTERN     ((dwOwnRand () << 16) | dwOwnRand ());
-
-uint32 dwRunMemtest (drv_handle hCard, const struct ST_SETUP* pstSetup)
-    {
-    uint32 dwReturn =         ERR_OK;
-    uint32 dwError =          ERR_OK;
-    int64 llBlockSize =       1 * MEGA_B(1);
-    uint64 qwContBufLen =     0;
-    uint32* pdwBuffer =       NULL;
-    uint32 dwPercentageNew =  0;
-    uint32 dwPercentageOld =  0;
-    uint32 dwBufIdx =         0;
-    uint32* pdwBuf =          NULL;
-
-    // ----- no memory test for demo cards -----
-    int32 lDemoCard = 0;
-    spcm_dwGetParam_i32 (hCard, SPC_MIINST_ISDEMOCARD, &lDemoCard);
-    if (lDemoCard != 0)
-        {
-        std::cerr << "Memtest for Demo cards is not supported." << std::endl;
-        return ERR_FNCNOTSUPPORTED;
-        }
-
-    // ----- get and print some basic information about the used card -----
-    int32 lCardType = 0;
-    spcm_dwGetParam_i32 (hCard, SPC_PCITYP, &lCardType);
-
-    int32 lSN = 0;
-    spcm_dwGetParam_i32 (hCard, SPC_PCISERIALNR, &lSN);
-
-    int64 llMemsize = 0;
-    spcm_dwGetParam_i64 (hCard, SPC_PCIMEMSIZE, &llMemsize);
-
-    std::cout << "Found " << szTypeToName (lCardType) << " sn " << std::setw (5) << std::setfill ('0') << lSN << std::setfill (' ') << " with " << llMemsize / MEGA_B(1) << "MB memory" << std::endl;
-
-    // ----- try to use a continuous buffer for data transfer or allocate a buffer in case there’s none or it's too small. -----
-    dwError = spcm_dwGetContBuf_i64 (hCard, SPCM_BUF_DATA, (void**) &pdwBuffer, &qwContBufLen);
-    if (!pstSetup->bUseContinuousMemory || (qwContBufLen < (2 * (uint64) llBlockSize)))
-        {
-        // ContMem not used.
-        qwContBufLen = 0;
-
-        pdwBuffer = (uint32*) pvAllocMemPageAligned (2 * llBlockSize);
-
-        // check for mem alloc error
-        if (!pdwBuffer)
-            return ERR_MEMALLOC;
-        }
-
-    // Use a reduced memsize?
-    if (pstSetup->llReducedMemsize)
-        llMemsize = pstSetup->llReducedMemsize;
-
-    // this struct will hold the results
-    ST_MEMTESTRESULTS stMemTestResult;
-    memset (&stMemTestResult, 0, sizeof (stMemTestResult));
-
-    // init the random number generator
-    srand((uint32) time(NULL));
-    vOwnRand_Seed ((uint32) time(NULL));
-
-    // ----- main loop -----
-    uint32 dwLoopCnt = 0;
-    uint32 dwLoops = pstSetup->dwNumLoops;
-    do
-        {
-        if (pstSetup->dwNumLoops != 0xFFFFFFFF)
-            std::cout << "sn " << lSN << ": Loop " << pstSetup->dwNumLoops - dwLoops + 1 << "/" << pstSetup->dwNumLoops << std::endl;
-        else
-            std::cout << "sn " << lSN << ": Loop " << dwLoopCnt << std::endl;
-
-        // initialization with random start pattern
-        uint32 dwStart = rand() * rand() + rand();
-
-        stMemTestResult.eState = MEMTEST_WRITE;
-
-        // basic setup
-        dwError = spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_CARD_RESET);
-        if (dwError == ERR_OK)
-            dwError = spcm_dwSetParam_i32 (hCard, SPC_MEMTEST, 1);
-        if (dwError == ERR_OK)
-            dwError = spcm_dwSetParam_i32 (hCard, SPC_TIMEOUT, 1000);
-
-        dwPercentageOld = 0;
-        dwBufIdx =        0;
-        uint32 dwSRand = rand ();
-        srand (dwSRand);
-
-        // ----- write loop -----
-        vOwnRand_Seed (dwSRand);
-
-        if (dwError == ERR_OK)
-            dwError = spcm_dwDefTransfer_i64 (hCard, SPCM_BUF_DATA, SPCM_DIR_PCTOCARD, (uint32) llBlockSize, pdwBuffer, pstSetup->llOffset, 2 * llBlockSize);
-        if (dwError == ERR_OK)
-            dwError = spcm_dwSetParam_i32 (hCard, SPC_DATA_AVAIL_CARD_LEN, 0);
-
-        uint32 dwCmd = M2CMD_DATA_STARTDMA;
-        for (int64 llBlock = 0; (llBlock < llMemsize) && !dwError; llBlock += llBlockSize)
-            {
-            std::cout << "\rWriting data... " << std::setw (3) << std::fixed << std::setprecision (0) << std::right << (100. * llBlock) / llMemsize << "%";
-
-            // Use the buffers in ping-pong mode.
-            if (dwBufIdx == 0)
-                {
-                pdwBuf = pdwBuffer;
-                dwBufIdx = 1; // next loop use other buffer
-                }
-            else
-                {
-                pdwBuf = pdwBuffer + llBlockSize / sizeof (uint32);
-                dwBufIdx = 0; // next loop use other buffer
-                }
-
-            // ----- fill the data block with test pattern -----
-            for (int32 i = (uint32) llBlockSize / sizeof (uint32); i; --i)
-                {
-                *pdwBuf = TEST_PATTERN;
-                ++pdwBuf;
-                }
-
-            // New data for transfer available.
-            if (dwError == ERR_OK)
-                dwError = spcm_dwSetParam_i64 (hCard, SPC_DATA_AVAIL_CARD_LEN, llBlockSize);
-
-            // Every 1 % update the progress bar.
-            dwPercentageNew = (uint32) (50.0 * llBlock / llMemsize + 0.5);
-            if (dwPercentageOld < dwPercentageNew)
-                {
-                dwPercentageOld = dwPercentageNew;
-                }
-
-            // wait until data has been transfered to card and we can fill a new block
-            if (dwError == ERR_OK)
-                dwError = spcm_dwSetParam_i32 (hCard, SPC_M2CMD, dwCmd);  // first value StartDMA
-            dwCmd = M2CMD_DATA_WAITDMA;
-            }
-
-        // ----- wait until all data has been transfered to the card -----
-        int32 lAvailBytes = 0;
-        uint32 dwTime_ms, dwStartTime_ms = SPCM_NAMESPACE::dwGetTickCount ();
-        do
-            {
-            if (dwError == ERR_OK)
-                dwError = spcm_dwGetParam_i32 (hCard, SPC_DATA_AVAIL_USER_LEN, &lAvailBytes);
-
-            dwTime_ms = SPCM_NAMESPACE::dwGetTickCount ();
-
-            // overflow, we simply start at 0 again and allow one addtional timeout time for this loop
-            if (dwTime_ms < dwStartTime_ms)
-                dwStartTime_ms = 0;
-
-            // check for timeout
-            if ((dwTime_ms - dwStartTime_ms) > 1000) // random timeout value
-                dwError = ERR_TIMEOUT;
-            }
-        while (!dwError && (lAvailBytes < 2 * llBlockSize));
-
-        if (dwError == ERR_OK)
-            dwError = spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_DATA_STOPDMA);
-
-        std::cout << std::endl;
-
-        // ----- read + compare loop
-        for (uint32 dwReadLoop = 0; dwReadLoop < pstSetup->dwNumReadsAfterWrite && !dwError; ++dwReadLoop)
-            {
-            srand (dwSRand);
-            stMemTestResult.eState = MEMTEST_READ;
-            stMemTestResult.dwReadCount = dwReadLoop;
-
-            // clear DMA buffer
-            memset (pdwBuffer, 0, (size_t) (2 * llBlockSize));
-
-            vOwnRand_Seed (dwSRand);
-            dwPercentageOld = 0;
-            dwBufIdx = 0;
-            stMemTestResult.bOk = true;
-
-            // Start read transfer and wait for one buffer.
-            if (dwError == ERR_OK)
-                dwError = spcm_dwDefTransfer_i64 (hCard, SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, (uint32) llBlockSize, pdwBuffer, pstSetup->llOffset, 2 * llBlockSize);
-            if (dwError == ERR_OK)
-                dwError = spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_DATA_STARTDMA | M2CMD_DATA_WAITDMA);
-
-            for (int64 llBlock = 0; (llBlock < llMemsize) && !dwError; llBlock += llBlockSize)
-                {
-                std::cout << "\rReading data " << "(" << dwReadLoop + 1 << "/" << pstSetup->dwNumReadsAfterWrite << ") ... " << std::setw (3) << std::fixed << std::setprecision (0) << std::right << (100. * llBlock) / llMemsize << "%";
-                uint32 dwErrorCounter = 0;
-
-                // use the other buffer
-                if (dwBufIdx == 0)
-                    {
-                    pdwBuf = pdwBuffer;
-                    dwBufIdx = 1; // next loop use other buffer
-                    }
-                else
-                    {
-                    pdwBuf = pdwBuffer + llBlockSize / 4;
-                    dwBufIdx = 0; // next loop use other buffer
-                    }
-
-                uint32 dwNomVal = 0; // holds the expected value
-                for (int32 i = (uint32) (llBlockSize / sizeof (uint32)); i; --i, ++pdwBuf)
-                    {
-                    dwNomVal = TEST_PATTERN;
-
-                    // check if expected value and value that we read back from card match
-                    if (*pdwBuf != dwNomVal)
-                        {
-                        dwErrorCounter++;
-                        }
-                    }
-
-                // mark memory as available for transfer again
-                if (dwError == ERR_OK)
-                    dwError = spcm_dwSetParam_i64 (hCard, SPC_DATA_AVAIL_CARD_LEN, llBlockSize);
-
-                // print only a line with the error count if new errors occured
-                if (dwErrorCounter)
-                    {
-                    stMemTestResult.bOk = false;
-                    }
-
-                // wait for new data from the board
-                if (dwError == ERR_OK)
-                    dwError = spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_DATA_WAITDMA);
-                }   // for: block
-
-            std::cout << " " << (stMemTestResult.bOk? "OK" : "FAIL") << std::endl;
-
-            if (dwError == ERR_OK)
-                dwError = spcm_dwSetParam_i32 (hCard, SPC_M2CMD, M2CMD_DATA_STOPDMA);
-            }   // for: lReadLoops
-
-        // clear error in driver
-        if (dwError != ERR_OK)
-            spcm_dwGetErrorInfo_i32 (hCard, NULL, NULL, NULL);
-
-        // Every error should be displayed.
-        if (dwError)
-            dwReturn = dwError;
-
-        // decrease number of remaining loops if we don't loop forever
-        if (pstSetup->dwNumLoops != 0xFFFFFFFF)
-            dwLoops--;
-
-        dwLoopCnt++;
-        }
-    while (dwLoops && (dwReturn == ERR_OK));
-
-    // free DMA memory if we allocated it ourself
-    if (qwContBufLen == 0)
-        vFreeMemPageAligned (pdwBuffer, 2 * llBlockSize);
-
-    return dwReturn;
-    }
diff --git a/Cpp/examples/c_cpp/test/memtest/spcm_memtest.vcxproj b/Cpp/examples/c_cpp/test/memtest/spcm_memtest.vcxproj
deleted file mode 100644
index 7de929ba97df8e4623f2bb3630b63fc8b64e1432..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/memtest/spcm_memtest.vcxproj
+++ /dev/null
@@ -1,155 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{1A2F6A46-155D-4E77-8FFF-2A88C5DD0994}</ProjectGuid>
-    <RootNamespace>spcm_speedtest</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <CharacterSet>MultiByte</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <CharacterSet>MultiByte</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
-    <IntDir>$(Configuration)\</IntDir>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>$(SolutionDir)$(Configuration)\</OutDir>
-    <IntDir>$(Configuration)\</IntDir>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-      <DisableSpecificWarnings>4996</DisableSpecificWarnings>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <DisableSpecificWarnings>4996</DisableSpecificWarnings>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <DisableSpecificWarnings>4996</DisableSpecificWarnings>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <ClCompile>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <DisableSpecificWarnings>4996</DisableSpecificWarnings>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="main.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\..\c_header\dlltyp.h" />
-    <ClInclude Include="..\..\c_header\regs.h" />
-    <ClInclude Include="..\..\c_header\spcerr.h" />
-    <ClInclude Include="..\..\c_header\spcm_drv.h" />
-    <ClInclude Include="..\..\m2i_drv\ostools\spcm_ostools.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </Library>
-    <Library Include="..\..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </Library>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/test/memtest/spcm_memtest.vcxproj.filters b/Cpp/examples/c_cpp/test/memtest/spcm_memtest.vcxproj.filters
deleted file mode 100644
index 97d1fbb490cafb0c18c7a3119b9408a4dafc4d70..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/memtest/spcm_memtest.vcxproj.filters
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="Source Files">
-      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
-      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
-    </Filter>
-    <Filter Include="Source Files\ostools">
-      <UniqueIdentifier>{3586b202-ef20-402b-aa66-63cb2034f068}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Header Files">
-      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
-    </Filter>
-    <Filter Include="Header Files\c_header">
-      <UniqueIdentifier>{d248ee42-f4b6-4ff8-a4c0-a1d791034597}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Header Files\ostools">
-      <UniqueIdentifier>{a785b83e-6d32-49d0-b7c5-951f3da491c0}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Resource Files">
-      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
-      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="main.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>Source Files\ostools</Filter>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\..\m2i_drv\ostools\spcm_ostools.h">
-      <Filter>Header Files\ostools</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\c_header\dlltyp.h">
-      <Filter>Header Files\c_header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\c_header\regs.h">
-      <Filter>Header Files\c_header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\c_header\spcerr.h">
-      <Filter>Header Files\c_header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\c_header\spcm_drv.h">
-      <Filter>Header Files\c_header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <Library Include="..\..\c_header\spcm_win32_msvcpp.lib" />
-    <Library Include="..\..\c_header\spcm_win64_msvcpp.lib" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/test/rec_fifo_hd_speed.cpp b/Cpp/examples/c_cpp/test/rec_fifo_hd_speed.cpp
deleted file mode 100644
index 1362ff371c276fdf9de012f7713feacf190f0fc6..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/rec_fifo_hd_speed.cpp
+++ /dev/null
@@ -1,524 +0,0 @@
-/*
-**************************************************************************
-
-rec_fifo_hd_speed.cpp                                    (c) Spectrum GmbH
-
-**************************************************************************
-
-this example supports all acquisition cards
-
-Does FIFO acquisition to hard disk to test the maximum writing performance
-of the hard disk
-
-This program only runs under Windows as it uses some windows specific API
-calls for data writing, time measurement and key checking
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <conio.h>
-
-// ----- include of common example librarys -----
-#include "../common/spcm_lib_card.h"
-#include "../common/spcm_lib_data.h"
-#include "../common/spcm_lib_thread.h"
-
-
-// ----- global setup for the run (can be changed interactively) -----
-int64   g_llSamplingRate =  MEGA(20);
-int32   g_lNotifySize =     KILO_B(1024);
-int32   g_lBufferSize =     MEGA_B(128);
-bool    g_bThread =         false;
-uint64  g_qwChannelEnable = 1;
-uint32  g_dwUpdateBuffers = 1;
-uint32  g_dwUpdateCount =   0;
-enum    {eStandard, eHDSpeedTest, eSpeedTest} g_eMode = eStandard;
-
-#define FILENAME "stream_test"
-
-
-
-/*
-**************************************************************************
-bDoCardSetup: setup matching the calculation routine
-**************************************************************************
-*/
-
-bool bDoCardSetup (ST_SPCM_CARDINFO *pstCard)
-    {
-
-
-    // FIFO mode setup, we run continuously and have 16 samples of pre data before trigger event
-    // all available channels are activated
-    bSpcMSetupModeRecFIFOSingle (pstCard, g_qwChannelEnable, 16);
-
-    // we try to set the samplerate on internal PLL, no clock output
-    if (g_llSamplingRate > pstCard->llMaxSamplerate)
-        g_llSamplingRate = pstCard->llMaxSamplerate;
-
-    // for M4i.44xx series we activate the fine granularity clock setup mode
-    if (pstCard->bM4i && ((pstCard->lCardType & TYP_FAMILYMASK) == 0x4400))
-        spcm_dwSetParam_i64 (pstCard->hDrv, SPC_SPECIALCLOCK, 1);
-
-    bSpcMSetupClockPLL (pstCard, g_llSamplingRate, false);
-    printf ("Sampling rate set to %.1lf MHz\n", (double) pstCard->llSetSamplerate / MEGA(1));
-
-    // we set software trigger, no trigger output
-    bSpcMSetupTrigSoftware (pstCard, false);
-
-    return pstCard->bSetError;
-    }
-
-
-
-/*
-**************************************************************************
-Working routine data
-**************************************************************************
-*/
-
-
-struct ST_WORKDATA
-    {
-    int64           llWritten;
-    HANDLE          hFile;
-    char            szFileName[100];
-    LARGE_INTEGER   uStartTime;
-    LARGE_INTEGER   uLastTime;
-    LARGE_INTEGER   uHighResFreq;
-    };
-
-
-
-/*
-**************************************************************************
-Setup working routine
-**************************************************************************
-*/
-
-bool bWorkInit (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA* pstWorkData = (ST_WORKDATA*) pvWorkData;
-
-    // setup for the transfer, to avoid overrun we use quite large blocks as this has a better throughput to hard disk
-    pstBufferData->dwDataBufLen = g_lBufferSize;
-    pstBufferData->dwDataNotify = g_lNotifySize;
-
-    // setup for the work
-    pstWorkData->llWritten = 0;
-
-    sprintf (pstWorkData->szFileName, "%s.bin", FILENAME);
-
-    printf ("\n");
-    printf ("Written      HW-Buf      SW-Buf   Average   Current\n-----------------------------------------------------\n");
-    if ((g_eMode == eStandard) || (g_eMode == eHDSpeedTest))
-        pstWorkData->hFile = CreateFile (pstWorkData->szFileName, 
-            GENERIC_WRITE, 
-            FILE_SHARE_READ | FILE_SHARE_WRITE, 
-            NULL, 
-            CREATE_ALWAYS, 
-            FILE_ATTRIBUTE_NORMAL | FILE_FLAG_NO_BUFFERING, 
-            NULL);
-
-    QueryPerformanceFrequency (&pstWorkData->uHighResFreq);
-    pstWorkData->uStartTime.QuadPart = 0;
-
-    return ((pstWorkData->hFile != NULL) || (g_eMode == eSpeedTest));
-    }
-
-
-
-/*
-**************************************************************************
-bWorkDo: stores data to hard disk
-**************************************************************************
-*/
-
-bool bWorkDo (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA*    pstWorkData = (ST_WORKDATA*) pvWorkData;
-    uint32          dwWritten;
-    int64           llBufferFillPromille;
-    LARGE_INTEGER   uTime;
-    double          dAverageTime = 0;
-    double          dLastTime = 0;
-    double          dAverageSpeed = 0;
-    double          dLastSpeed = 0;
-    
-
-
-    // first call will initialize all time measurings
-    QueryPerformanceCounter (&uTime);
-    if (pstWorkData->uStartTime.QuadPart == 0)
-        {
-        pstWorkData->uStartTime.QuadPart = uTime.QuadPart;
-        pstWorkData->uLastTime.QuadPart =  uTime.QuadPart;
-        }
-
-    // calc transfer speed
-    else
-        {
-        dAverageTime =  (double) (uTime.QuadPart - pstWorkData->uStartTime.QuadPart) / pstWorkData->uHighResFreq.QuadPart;
-        dLastTime =     (double) (uTime.QuadPart - pstWorkData->uLastTime.QuadPart) / pstWorkData->uHighResFreq.QuadPart;
-        dAverageSpeed = (double) pstWorkData->llWritten / dAverageTime / MEGA_B(1);
-        dLastSpeed =    (double) pstBufferData->dwDataNotify / dLastTime / MEGA_B(1);
-        pstWorkData->uLastTime.QuadPart = uTime.QuadPart;
-        }
-
-
-    // write the data and count the samples
-    if (g_eMode == eSpeedTest)
-        dwWritten = pstBufferData->dwDataNotify;
-    else
-        WriteFile (pstWorkData->hFile, pstBufferData->pvDataCurrentBuf, pstBufferData->dwDataNotify, &dwWritten, NULL);
-
-    pstWorkData->llWritten += dwWritten;
-    if (dwWritten != pstBufferData->dwDataNotify)
-        {
-        printf ("\nData Write error\n");
-        return false;
-        }
-
-    // current status
-    if (--g_dwUpdateCount == 0)
-        {
-        g_dwUpdateCount = g_dwUpdateBuffers;
-        spcm_dwGetParam_i64 (pstBufferData->pstCard->hDrv, SPC_FILLSIZEPROMILLE, &llBufferFillPromille);
-
-        printf ("\r");
-        if (pstBufferData->qwDataTransferred > GIGA_B(1))
-            printf ("%7.2lf GB", (double) pstBufferData->qwDataTransferred / GIGA_B(1));
-        else
-            printf ("%7.2lf MB", (double) pstBufferData->qwDataTransferred / MEGA_B(1));
-
-        printf (" %6.1lf %%", (double) llBufferFillPromille / 10.0);
-
-        printf ("    %6.1lf %%", 100.0 * (double) pstBufferData->llDataAvailBytes / pstBufferData->dwDataBufLen);
-
-        // print transfer speed
-        printf ("   %6.2lf MB/s", dAverageSpeed);
-        printf ("   %6.2lf MB/s", dLastSpeed);
-        }
-
-    pstBufferData->llDataAvailBytes = pstBufferData->dwDataNotify;
-
-    return true;
-    }
-
-
-
-
-/*
-**************************************************************************
-vWorkClose: Close the work and clean up
-            For speed reason is the bKeyAbortCheck function (with 
-            kbhit() inside) not used!
-**************************************************************************
-*/
-
-void vWorkClose (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA* pstWorkData = (ST_WORKDATA*) pvWorkData;
-
-    if (pstWorkData->hFile && (g_eMode != eSpeedTest))
-        CloseHandle (pstWorkData->hFile);
-    }
-
-
-/*
-**************************************************************************
-bKeyCheckAsync
-**************************************************************************
-*/
-int g_nKeyPress;
-bool bKeyCheckAsync (void* , ST_BUFFERDATA*)
-    {
-    return (g_nKeyPress != GetAsyncKeyState(VK_ESCAPE));
-    }
-
-
-
-/*
-**************************************************************************
-bSetup: returns true if start, false if abort
-**************************************************************************
-*/
-
-bool bSetup (ST_SPCM_CARDINFO* pstCard)
-    {
-    double dTmp;
-    uint32 dwTmp;
-    int32  lChannels;
-    char   szErrorText[ERRORTEXTLEN], szNameBuffer[100];
-    uint64 qwContBufLen;
-
-    // read out cont buf len and set default buffer size to it
-    void* pvTmp;
-    spcm_dwSetParam_i64 (pstCard->hDrv, SPC_M2CMD, M2CMD_CARD_RESET);
-    spcm_dwGetContBuf_i64 (pstCard->hDrv, SPCM_BUF_DATA, &pvTmp, &qwContBufLen);
-    if (qwContBufLen > 0)
-        g_lBufferSize = (int32) qwContBufLen;
-
-    while (1)
-        {
-        printf ("\n\n");
-        printf ("Current Setup\n-------------\n");
-        printf ("          Card Selection:   %s", pszSpcMPrintCardInfo (pstCard, szNameBuffer, sizeof (szNameBuffer), false)); 
-        printf ("I ....... Interface speed:  ");
-        switch (g_eMode)
-            {
-            case eStandard:    printf ("Normal FIFO mode to HD\n"); break;
-            case eHDSpeedTest: printf ("Max PCI/PCIe interface speed to HD\n"); break;
-            case eSpeedTest:   printf ("Max PCI/PCIe interface speed only\n"); break;
-            }
-        printf ("B ....... Buffer Size:      %.2lf MByte (Continuous Buffer: %d MByte)\n", (double) g_lBufferSize / MEGA_B(1), (int32) (qwContBufLen / MEGA_B(1)));
-        printf ("N ....... Notify Size:      %d kByte\n", g_lNotifySize / KILO_B(1));
-        if (g_eMode == eStandard)
-            {
-            printf ("S ....... Sampling Rate:    %.2lf MS/s\n", (double) g_llSamplingRate / MEGA(1));
-            printf ("T ....... Thread Mode:      %s\n", g_bThread ? "on" : "off");
-            printf ("C ....... Channel Enable:   %x\n", g_qwChannelEnable);
-            }
-        printf ("Enter ... Start Test\n");
-        printf ("Q ....... Quit\n");
-
-        // for M4i.44xx series we activate the fine granularity clock setup mode
-        if (pstCard->bM4i && ((pstCard->lCardType & TYP_FAMILYMASK) == 0x4400))
-            spcm_dwSetParam_i64 (pstCard->hDrv, SPC_SPECIALCLOCK, 1);
-
-        spcm_dwSetParam_i64 (pstCard->hDrv, SPC_CHENABLE, g_qwChannelEnable);
-        spcm_dwSetParam_i64 (pstCard->hDrv, SPC_SAMPLERATE, g_llSamplingRate);
-        spcm_dwGetParam_i64 (pstCard->hDrv, SPC_SAMPLERATE, &g_llSamplingRate);
-        spcm_dwGetParam_i32 (pstCard->hDrv, SPC_CHCOUNT, &lChannels);
-        spcm_dwSetParam_i32 (pstCard->hDrv, SPC_TEST_FIFOSPEED, (g_eMode != eStandard) ? 1 : 0);
-
-
-
-        if (spcm_dwGetErrorInfo_i32 (pstCard->hDrv, NULL, NULL, szErrorText) != ERR_OK)
-            printf ("\nSetup Error:\n------------\n%s\n\n", szErrorText);
-        else
-            {
-            double dTransferSpeed;
-                if (pstCard->eCardFunction == AnalogIn)
-                    dTransferSpeed = (double)  g_llSamplingRate * lChannels * pstCard->lBytesPerSample;
-                else
-                    dTransferSpeed = (double)  g_llSamplingRate * lChannels / 8;
-
-            if (g_eMode == eStandard)
-                {
-                printf ("          Sampling Rate adjusted to: %.2lf MS/s\n", (double) g_llSamplingRate / MEGA(1));
-                printf ("          Transfer Speed: %.2lf MByte/s\n", dTransferSpeed / MEGA_B(1));
-                }
-            else
-                printf ("          Transfer Speed: max\n");
-
-            // calc the display update rate in buffers to x/second to keep display overhead small
-            g_dwUpdateBuffers = (uint32) (dTransferSpeed / g_lNotifySize / 4);
-            if (g_dwUpdateBuffers < 1)
-                g_dwUpdateBuffers = 1;
-            g_dwUpdateCount = g_dwUpdateBuffers;
-            }
-        printf ("\n");
-
-
-        switch (_getch())
-            {
-            case 'q': 
-            case 'Q':
-                return false;
-
-            case 13: 
-                if (g_lBufferSize <= (int32) qwContBufLen)
-                    printf ("\n***** Continuous Buffer from Kernel Driver used *****\n\n");
-                return true;
-
-            case 'i':
-            case 'I':
-                switch (g_eMode)
-                    {
-                    case eStandard:     g_eMode = eHDSpeedTest; break;
-                    case eHDSpeedTest:  g_eMode = eSpeedTest; break;
-                    case eSpeedTest:    g_eMode = eStandard; break;
-                    }
-                break;
-
-            case 't':
-            case 'T':
-                g_bThread = !g_bThread;
-                break;
-
-            case 's':
-            case 'S':
-                printf ("Sampling Rate (MS/s): ");
-                scanf ("%lf", &dTmp);
-                g_llSamplingRate = (int32) (dTmp * MEGA(1));
-                break;
-
-            case 'b':
-            case 'B':
-                printf ("Buffer Size (MByte): ");
-                scanf ("%lf", &dTmp);
-                g_lBufferSize = (int32) (dTmp * MEGA_B(1));
-                break;
-
-            case 'n':
-            case 'N':
-                printf ("Notify Size (kByte): ");
-                scanf ("%lf", &dTmp);
-                g_lNotifySize = (int32) (dTmp * KILO_B(1));
-                break;
-
-            case 'c':
-            case 'C':
-                printf ("Channel Enable Mask (hex): ");
-                scanf ("%x", &dwTmp);
-                g_qwChannelEnable = dwTmp;
-                break;
-
-            }
-        }
-    }
-
-
-
-/*
-**************************************************************************
-main 
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO    astCard[MAXBRD];    // info structure of my card
-    ST_BUFFERDATA       stBufferData;       // buffer and transfer definitions
-    ST_WORKDATA         stWorkData;         // work data for the working functions
-    int32               lCardIdx =      0;
-    int32               lCardCount =    0;
-
-    // ------------------------------------------------------------------------
-    // init cards, get some information and print it
-    for (lCardIdx = 0; lCardIdx < MAXBRD; lCardIdx++)
-        {
-        if (bSpcMInitCardByIdx (&astCard[lCardCount], lCardIdx))
-            {
-            printf (pszSpcMPrintCardInfo (&astCard[lCardCount], szBuffer, sizeof (szBuffer)));
-            printf ("\n");
-            lCardCount++;
-            }
-        }
-    if (lCardCount == 0)
-        {
-        printf ("No Spectrum card found...\n");
-        return 0;
-        }
-
-    // if we have more than one card we make the selection now
-    if (lCardCount > 1)
-        {
-        do
-            {
-            printf ("\n");
-            printf ("Please select the card to test:\n");
-            printf ("-------------------------------\n");
-            for (lCardIdx = 0; lCardIdx < lCardCount; lCardIdx++)
-                printf ("%d ..... M2i.%04x sn %05d\n", lCardIdx, astCard[lCardIdx].lCardType & TYP_VERSIONMASK, astCard[lCardIdx].lSerialNumber);
-
-            int16 nSelection = _getch();
-            if (nSelection == 27)
-                return 1;
-            if ((nSelection >= '0') && (nSelection < ('0' + lCardIdx)))
-                lCardIdx = (nSelection - '0');
-            }
-        while (lCardIdx == lCardCount);
-
-        // close all the other cards allowing a second instance of the program to run
-        for (int32 lCloseIdx = 0; lCloseIdx < lCardCount; lCloseIdx++)
-            if (lCloseIdx != lCardIdx)
-                vSpcMCloseCard (&astCard[lCloseIdx]);
-        }
-    else
-        lCardIdx = 0;
-
-
-
-    // check whether we support this card type in the example
-    if ((astCard[lCardIdx].eCardFunction != AnalogIn) && (astCard[lCardIdx].eCardFunction != DigitalIn) && (astCard[lCardIdx].eCardFunction != DigitalIO))
-        return nSpcMErrorMessageStdOut (&astCard[lCardIdx], "Error: Card function not supported by this example\n", false);
-
-
-    // we start with 16 bit acquisition as this is supported by all cards
-    switch (astCard[lCardIdx].eCardFunction)
-        {
-        case AnalogIn:
-            switch (astCard[lCardIdx].lBytesPerSample)
-                {
-                case 1: g_qwChannelEnable = CHANNEL1 | CHANNEL0; break;
-                case 2: g_qwChannelEnable =            CHANNEL0; break;
-                }
-            break;
-
-        case DigitalIn:
-        case DigitalIO:
-            g_qwChannelEnable = 0xffff;
-            break;
-        }
-
-
-
-    // ------------------------------------------------------------------------
-    // do the card setup, error is routed in the structure so we don't care for the return values
-    while (bSetup(&astCard[lCardIdx]))
-        {
-        if (!astCard[lCardIdx].bSetError)
-            bDoCardSetup (&astCard[lCardIdx]);
-
-
-        // ------------------------------------------------------------------------
-        // setup the data transfer thread and start it, we use atimeout of 5 s in the example
-        memset (&stBufferData, 0, sizeof(stBufferData));
-        stBufferData.pstCard =      &astCard[lCardIdx];
-        stBufferData.bStartCard =   true;
-        stBufferData.bStartData =   true;
-        stBufferData.lTimeout =     5000;
-
-        // setup for async esc check
-        g_nKeyPress = GetAsyncKeyState(VK_ESCAPE);
-
-        // start the threaded version if g_bThread is defined
-        if (!astCard[lCardIdx].bSetError && g_bThread)
-            vDoThreadMainLoop (&stBufferData, &stWorkData, bWorkInit, bWorkDo, vWorkClose, bKeyCheckAsync);
-
-        // start the unthreaded version with a smaller timeout of 100 ms to gain control about the FIFO loop
-        stBufferData.lTimeout =     100;
-        if (!astCard[lCardIdx].bSetError && !g_bThread)
-            vDoMainLoop (&stBufferData, &stWorkData, bWorkInit, bWorkDo, vWorkClose, bKeyCheckAsync);
-
-
-        // ------------------------------------------------------------------------
-        // print error information if an error occured
-        if (astCard[lCardIdx].bSetError)
-            return nSpcMErrorMessageStdOut (&astCard[lCardIdx], "An error occured while programming the card:\n", true);
-
-        } // if (bStart)
-
-
-    // clean up and close the driver
-    vSpcMCloseCard (&astCard[lCardIdx]);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/test/rec_fifo_hd_speed/rec_fifo_hd_speed.cpp b/Cpp/examples/c_cpp/test/rec_fifo_hd_speed/rec_fifo_hd_speed.cpp
deleted file mode 100644
index 7e42569d9ab68c61f6ead120d4a084c4bf71a51b..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/rec_fifo_hd_speed/rec_fifo_hd_speed.cpp
+++ /dev/null
@@ -1,543 +0,0 @@
-/*
-**************************************************************************
-
-rec_fifo_hd_speed.cpp                                    (c) Spectrum GmbH
-
-**************************************************************************
-
-this example supports all acquisition cards
-
-Does FIFO acquisition to hard disk to test the maximum writing performance
-of the hard disk
-
-This program only runs under Windows as it uses some windows specific API
-calls for data writing, time measurement and key checking
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-
-// ----- standard c include files -----
-#include <cstdio>
-#include <cstring>
-#include <cstdlib>
-#include <conio.h>
-
-// ----- include of common example librarys -----
-#include "../../common/spcm_lib_card.h"
-#include "../../common/spcm_lib_data.h"
-#include "../../common/spcm_lib_thread.h"
-
-
-// ----- global setup for the run (can be changed interactively) -----
-int64   g_llSamplingRate =  MEGA(20);
-int32   g_lNotifySize =     KILO_B(1024);
-int64   g_llBufferSize =     MEGA_B(128);
-bool    g_bThread =         false;
-uint64  g_qwChannelEnable = 1;
-uint32  g_dwUpdateBuffers = 1;
-uint32  g_dwUpdateCount =   0;
-enum
-    {
-    eFifoToHD,      // card -> PC memory -> HDD
-    eFifoToRAM,     // card -> PC memory
-    eHDSpeedTest,   // card -> PC memory -> HDD (interface speed)
-    eSpeedTest      // card -> PC memory (interface speed)
-    } g_eMode = eFifoToHD;
-
-#define FILENAME "stream_test"
-
-
-
-/*
-**************************************************************************
-bDoCardSetup: setup matching the calculation routine
-**************************************************************************
-*/
-
-bool bDoCardSetup (ST_SPCM_CARDINFO *pstCard)
-    {
-
-
-    // FIFO mode setup, we run continuously and have 16 samples of pre data before trigger event
-    // all available channels are activated
-    bSpcMSetupModeRecFIFOSingle (pstCard, g_qwChannelEnable, 16);
-
-    // we try to set the samplerate on internal PLL, no clock output
-    if (g_llSamplingRate > pstCard->llMaxSamplerate)
-        g_llSamplingRate = pstCard->llMaxSamplerate;
-
-    // for M4i.44xx series we activate the fine granularity clock setup mode
-    if (pstCard->bM4i && ((pstCard->lCardType & TYP_FAMILYMASK) == 0x4400))
-        spcm_dwSetParam_i64 (pstCard->hDrv, SPC_SPECIALCLOCK, 1);
-
-    bSpcMSetupClockPLL (pstCard, g_llSamplingRate, false);
-    printf ("Sampling rate set to %.1lf MHz\n", (double) pstCard->llSetSamplerate / MEGA(1));
-
-    // we set software trigger, no trigger output
-    bSpcMSetupTrigSoftware (pstCard, false);
-
-    return pstCard->bSetError;
-    }
-
-
-
-/*
-**************************************************************************
-Working routine data
-**************************************************************************
-*/
-
-
-struct ST_WORKDATA
-    {
-    int64           llWritten;
-    HANDLE          hFile;
-    char            szFileName[100];
-    LARGE_INTEGER   uStartTime;
-    LARGE_INTEGER   uLastTime;
-    LARGE_INTEGER   uHighResFreq;
-    };
-
-
-
-/*
-**************************************************************************
-Setup working routine
-**************************************************************************
-*/
-
-bool bWorkInit (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA* pstWorkData = (ST_WORKDATA*) pvWorkData;
-
-    // setup for the transfer, to avoid overrun we use quite large blocks as this has a better throughput to hard disk
-    pstBufferData->dwDataBufLen = static_cast < uint32 > (g_llBufferSize);
-    pstBufferData->dwDataNotify = static_cast < uint32 > (g_lNotifySize);
-
-    // setup for the work
-    pstWorkData->llWritten = 0;
-
-    sprintf (pstWorkData->szFileName, "%s.bin", FILENAME);
-
-    printf ("\n");
-    printf ("Written      HW-Buf      SW-Buf   Average   Current\n-----------------------------------------------------\n");
-    if ((g_eMode == eFifoToHD) || (g_eMode == eHDSpeedTest))
-        {
-        pstWorkData->hFile = CreateFile (pstWorkData->szFileName, 
-            GENERIC_WRITE, 
-            FILE_SHARE_READ | FILE_SHARE_WRITE, 
-            NULL, 
-            CREATE_ALWAYS, 
-            FILE_ATTRIBUTE_NORMAL | FILE_FLAG_NO_BUFFERING, 
-            NULL);
-        }
-    else
-        pstWorkData->hFile = NULL;
-
-    QueryPerformanceFrequency (&pstWorkData->uHighResFreq);
-    pstWorkData->uStartTime.QuadPart = 0;
-
-    return ((pstWorkData->hFile != NULL) || (g_eMode == eSpeedTest) || (g_eMode == eFifoToRAM));
-    }
-
-
-
-/*
-**************************************************************************
-bWorkDo: stores data to hard disk
-**************************************************************************
-*/
-
-bool bWorkDo (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA*    pstWorkData = (ST_WORKDATA*) pvWorkData;
-    uint32          dwWritten;
-    int64           llBufferFillPromille;
-    LARGE_INTEGER   uTime;
-    double          dAverageTime = 0;
-    double          dLastTime = 0;
-    double          dAverageSpeed = 0;
-    double          dLastSpeed = 0;
-    
-
-
-    // first call will initialize all time measurings
-    QueryPerformanceCounter (&uTime);
-    if (pstWorkData->uStartTime.QuadPart == 0)
-        {
-        pstWorkData->uStartTime.QuadPart = uTime.QuadPart;
-        pstWorkData->uLastTime.QuadPart =  uTime.QuadPart;
-        }
-
-    // calc transfer speed
-    else
-        {
-        dAverageTime =  (double) (uTime.QuadPart - pstWorkData->uStartTime.QuadPart) / pstWorkData->uHighResFreq.QuadPart;
-        dLastTime =     (double) (uTime.QuadPart - pstWorkData->uLastTime.QuadPart) / pstWorkData->uHighResFreq.QuadPart;
-        dAverageSpeed = (double) pstWorkData->llWritten / dAverageTime / MEGA_B(1);
-        dLastSpeed =    (double) pstBufferData->dwDataNotify / dLastTime / MEGA_B(1);
-        pstWorkData->uLastTime.QuadPart = uTime.QuadPart;
-        }
-
-
-    // write the data and count the samples
-    switch (g_eMode)
-        {
-        case eFifoToRAM:
-        case eSpeedTest:
-            dwWritten = pstBufferData->dwDataNotify;
-            break;
-        default: // the other modes write to HDD
-            WriteFile (pstWorkData->hFile, pstBufferData->pvDataCurrentBuf, pstBufferData->dwDataNotify, &dwWritten, NULL);
-            break;
-        }
-
-    pstWorkData->llWritten += dwWritten;
-    if (dwWritten != pstBufferData->dwDataNotify)
-        {
-        printf ("\nData Write error\n");
-        return false;
-        }
-
-    // current status
-    if (--g_dwUpdateCount == 0)
-        {
-        g_dwUpdateCount = g_dwUpdateBuffers;
-        spcm_dwGetParam_i64 (pstBufferData->pstCard->hDrv, SPC_FILLSIZEPROMILLE, &llBufferFillPromille);
-
-        printf ("\r");
-        if (pstBufferData->qwDataTransferred > GIGA_B(1))
-            printf ("%7.2lf GiB", (double) pstBufferData->qwDataTransferred / GIGA_B(1));
-        else
-            printf ("%7.2lf MiB", (double) pstBufferData->qwDataTransferred / MEGA_B(1));
-
-        printf (" %6.1lf %%", (double) llBufferFillPromille / 10.0);
-
-        printf ("    %6.1lf %%", 100.0 * (double) pstBufferData->llDataAvailBytes / pstBufferData->dwDataBufLen);
-
-        // print transfer speed
-        printf ("   %6.2lf MiB/s", dAverageSpeed);
-        printf ("   %6.2lf MiB/s", dLastSpeed);
-        }
-
-    pstBufferData->llDataAvailBytes = pstBufferData->dwDataNotify;
-
-    return true;
-    }
-
-
-
-
-/*
-**************************************************************************
-vWorkClose: Close the work and clean up
-            For speed reason is the bKeyAbortCheck function (with 
-            kbhit() inside) not used!
-**************************************************************************
-*/
-
-void vWorkClose (void* pvWorkData, ST_BUFFERDATA* pstBufferData)
-    {
-    ST_WORKDATA* pstWorkData = (ST_WORKDATA*) pvWorkData;
-
-    if (pstWorkData->hFile && (g_eMode != eSpeedTest))
-        CloseHandle (pstWorkData->hFile);
-    }
-
-
-/*
-**************************************************************************
-bKeyCheckAsync
-**************************************************************************
-*/
-int g_nKeyPress;
-bool bKeyCheckAsync (void* , ST_BUFFERDATA*)
-    {
-    return (g_nKeyPress != GetAsyncKeyState(VK_ESCAPE));
-    }
-
-
-
-/*
-**************************************************************************
-bSetup: returns true if start, false if abort
-**************************************************************************
-*/
-
-bool bSetup (ST_SPCM_CARDINFO* pstCard)
-    {
-    double dTmp;
-    uint32 dwTmp;
-    int32  lChannels;
-    char   szErrorText[ERRORTEXTLEN], szNameBuffer[100];
-    uint64 qwContBufLen;
-
-    // read out cont buf len and set default buffer size to it
-    void* pvTmp;
-    spcm_dwSetParam_i64 (pstCard->hDrv, SPC_M2CMD, M2CMD_CARD_RESET);
-    spcm_dwGetContBuf_i64 (pstCard->hDrv, SPCM_BUF_DATA, &pvTmp, &qwContBufLen);
-    if (qwContBufLen > 0)
-        g_llBufferSize = (int32) qwContBufLen;
-
-    while (1)
-        {
-        printf ("\n\n");
-        printf ("Current Setup\n-------------\n");
-        printf ("          Card Selection:   %s", pszSpcMPrintCardInfo (pstCard, szNameBuffer, sizeof (szNameBuffer), false)); 
-        printf ("I ....... Interface speed:  ");
-        switch (g_eMode)
-            {
-            case eFifoToHD:    printf ("Normal FIFO mode to HD\n"); break;
-            case eFifoToRAM:   printf ("Normal FIFO mode to RAM\n"); break;
-            case eHDSpeedTest: printf ("Max PCI/PCIe interface speed to HD\n"); break;
-            case eSpeedTest:   printf ("Max PCI/PCIe interface speed only\n"); break;
-            }
-        printf ("B ....... Buffer Size:      %.2lf MiByte (Continuous Buffer: %d MiByte)\n", (double) g_llBufferSize / MEGA_B(1), (int32) (qwContBufLen / MEGA_B(1)));
-        printf ("N ....... Notify Size:      %d kiByte\n", (int)(g_lNotifySize / KILO_B(1)));
-        if ((g_eMode == eFifoToHD) || (g_eMode == eFifoToRAM))
-            {
-            printf ("S ....... Sampling Rate:    %.2lf MS/s\n", (double) g_llSamplingRate / MEGA(1));
-            printf ("T ....... Thread Mode:      %s\n", g_bThread ? "on" : "off");
-            printf ("C ....... Channel Enable:   0x%llx\n", g_qwChannelEnable);
-            }
-        printf ("Enter ... Start Test\n");
-        printf ("Q ....... Quit\n");
-
-        // for M4i.44xx series we activate the fine granularity clock setup mode
-        if (pstCard->bM4i && ((pstCard->lCardType & TYP_FAMILYMASK) == 0x4400))
-            spcm_dwSetParam_i64 (pstCard->hDrv, SPC_SPECIALCLOCK, 1);
-
-        spcm_dwSetParam_i64 (pstCard->hDrv, SPC_CHENABLE, g_qwChannelEnable);
-        spcm_dwSetParam_i64 (pstCard->hDrv, SPC_SAMPLERATE, g_llSamplingRate);
-        spcm_dwGetParam_i64 (pstCard->hDrv, SPC_SAMPLERATE, &g_llSamplingRate);
-        spcm_dwGetParam_i32 (pstCard->hDrv, SPC_CHCOUNT, &lChannels);
-        if ((g_eMode == eHDSpeedTest) || (g_eMode == eSpeedTest))
-            spcm_dwSetParam_i32 (pstCard->hDrv, SPC_TEST_FIFOSPEED, 1);
-
-
-
-        if (spcm_dwGetErrorInfo_i32 (pstCard->hDrv, NULL, NULL, szErrorText) != ERR_OK)
-            printf ("\nSetup Error:\n------------\n%s\n\n", szErrorText);
-        else
-            {
-            double dTransferSpeed;
-                if (pstCard->eCardFunction == AnalogIn)
-                    dTransferSpeed = (double)  g_llSamplingRate * lChannels * pstCard->lBytesPerSample;
-                else
-                    dTransferSpeed = (double)  g_llSamplingRate * lChannels / 8;
-
-            if ((g_eMode == eFifoToHD) || (g_eMode == eFifoToRAM))
-                {
-                printf ("          Sampling Rate adjusted to: %.2lf MS/s\n", (double) g_llSamplingRate / MEGA(1));
-                printf ("          Transfer Speed: %.2lf MiByte/s\n", dTransferSpeed / MEGA_B(1));
-                }
-            else
-                printf ("          Transfer Speed: max\n");
-
-            // calc the display update rate in buffers to x/second to keep display overhead small
-            g_dwUpdateBuffers = (uint32) (dTransferSpeed / g_lNotifySize / 4);
-            if (g_dwUpdateBuffers < 1)
-                g_dwUpdateBuffers = 1;
-            g_dwUpdateCount = g_dwUpdateBuffers;
-            }
-        printf ("\n");
-
-
-        switch (_getch())
-            {
-            case 'q': 
-            case 'Q':
-                return false;
-
-            case 13: 
-                if (g_llBufferSize <= (int32) qwContBufLen)
-                    printf ("\n***** Continuous Buffer from Kernel Driver used *****\n\n");
-                return true;
-
-            case 'i':
-            case 'I':
-                switch (g_eMode)
-                    {
-                    case eFifoToHD:     g_eMode = eFifoToRAM; break;
-                    case eFifoToRAM:    g_eMode = eHDSpeedTest; break;
-                    case eHDSpeedTest:  g_eMode = eSpeedTest; break;
-                    case eSpeedTest:    g_eMode = eFifoToHD; break;
-                    }
-                break;
-
-            case 't':
-            case 'T':
-                g_bThread = !g_bThread;
-                break;
-
-            case 's':
-            case 'S':
-                printf ("Sampling Rate (MS/s): ");
-                scanf ("%lf", &dTmp);
-                g_llSamplingRate = (int32) (dTmp * MEGA(1));
-                break;
-
-            case 'b':
-            case 'B':
-                printf ("Buffer Size (MiByte): ");
-                scanf ("%lf", &dTmp);
-                g_llBufferSize = (int32) (dTmp * MEGA_B(1));
-                break;
-
-            case 'n':
-            case 'N':
-                printf ("Notify Size (kiByte): ");
-                scanf ("%lf", &dTmp);
-                g_lNotifySize = (int32) (dTmp * KILO_B(1));
-                break;
-
-            case 'c':
-            case 'C':
-                printf ("Channel Enable Mask (hex): ");
-                scanf ("%x", &dwTmp);
-                g_qwChannelEnable = dwTmp;
-                break;
-
-            }
-        }
-    }
-
-
-
-/*
-**************************************************************************
-main 
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO    astCard[MAXBRD];    // info structure of my card
-    ST_BUFFERDATA       stBufferData;       // buffer and transfer definitions
-    ST_WORKDATA         stWorkData;         // work data for the working functions
-    int32               lCardIdx =      0;
-    int32               lCardCount =    0;
-
-    // ------------------------------------------------------------------------
-    // init cards, get some information and print it
-    for (lCardIdx = 0; lCardIdx < MAXBRD; lCardIdx++)
-        {
-        if (bSpcMInitCardByIdx (&astCard[lCardCount], lCardIdx))
-            {
-            printf (pszSpcMPrintCardInfo (&astCard[lCardCount], szBuffer, sizeof (szBuffer)));
-            printf ("\n");
-            lCardCount++;
-            }
-        }
-    if (lCardCount == 0)
-        {
-        printf ("No Spectrum card found...\n");
-        return 0;
-        }
-
-    // if we have more than one card we make the selection now
-    if (lCardCount > 1)
-        {
-        do
-            {
-            printf ("\n");
-            printf ("Please select the card to test:\n");
-            printf ("-------------------------------\n");
-            for (lCardIdx = 0; lCardIdx < lCardCount; lCardIdx++)
-                printf ("%d ..... %s\n", lCardIdx, pszSpcMPrintCardInfo (&astCard[lCardIdx], szBuffer, sizeof (szBuffer), false));
-
-            int16 nSelection = _getch();
-            if (nSelection == 27)
-                return 1;
-            if ((nSelection >= '0') && (nSelection < ('0' + lCardIdx)))
-                lCardIdx = (nSelection - '0');
-            }
-        while (lCardIdx == lCardCount);
-
-        // close all the other cards allowing a second instance of the program to run
-        for (int32 lCloseIdx = 0; lCloseIdx < lCardCount; lCloseIdx++)
-            if (lCloseIdx != lCardIdx)
-                vSpcMCloseCard (&astCard[lCloseIdx]);
-        }
-    else
-        lCardIdx = 0;
-
-
-
-    // check whether we support this card type in the example
-    if ((astCard[lCardIdx].eCardFunction != AnalogIn) && (astCard[lCardIdx].eCardFunction != DigitalIn) && (astCard[lCardIdx].eCardFunction != DigitalIO))
-        return nSpcMErrorMessageStdOut (&astCard[lCardIdx], "Error: Card function not supported by this example\n", false);
-
-
-    // we start with 16 bit acquisition as this is supported by all cards
-    switch (astCard[lCardIdx].eCardFunction)
-        {
-        case AnalogIn:
-            switch (astCard[lCardIdx].lBytesPerSample)
-                {
-                case 1: g_qwChannelEnable = CHANNEL1 | CHANNEL0; break;
-                case 2: g_qwChannelEnable =            CHANNEL0; break;
-                }
-            break;
-
-        case DigitalIn:
-        case DigitalIO:
-            g_qwChannelEnable = 0xffff;
-            break;
-        }
-
-
-
-    // ------------------------------------------------------------------------
-    // do the card setup, error is routed in the structure so we don't care for the return values
-    while (bSetup(&astCard[lCardIdx]))
-        {
-        if (!astCard[lCardIdx].bSetError)
-            bDoCardSetup (&astCard[lCardIdx]);
-
-
-        // ------------------------------------------------------------------------
-        // setup the data transfer thread and start it, we use a timeout of 5 s in the example
-        memset (&stBufferData, 0, sizeof(stBufferData));
-        stBufferData.pstCard =      &astCard[lCardIdx];
-        stBufferData.bStartCard =   true;
-        stBufferData.bStartData =   true;
-        stBufferData.lTimeout =     5000;
-
-        // setup for async esc check
-        g_nKeyPress = GetAsyncKeyState(VK_ESCAPE);
-
-        // start the threaded version if g_bThread is defined
-        if (!astCard[lCardIdx].bSetError && g_bThread)
-            vDoThreadMainLoop (&stBufferData, &stWorkData, bWorkInit, bWorkDo, vWorkClose, bKeyCheckAsync);
-
-        // start the unthreaded version with a smaller timeout of 100 ms to gain control about the FIFO loop
-        stBufferData.lTimeout =     100;
-        if (!astCard[lCardIdx].bSetError && !g_bThread)
-            vDoMainLoop (&stBufferData, &stWorkData, bWorkInit, bWorkDo, vWorkClose, bKeyCheckAsync);
-
-
-        // ------------------------------------------------------------------------
-        // print error information if an error occured
-        if (astCard[lCardIdx].bSetError)
-            return nSpcMErrorMessageStdOut (&astCard[lCardIdx], "An error occured while programming the card:\n", true);
-
-        } // if (bStart)
-
-
-    // clean up and close the driver
-    vSpcMCloseCard (&astCard[lCardIdx]);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/test/rec_fifo_hd_speed/rec_fifo_hd_speed.dsp b/Cpp/examples/c_cpp/test/rec_fifo_hd_speed/rec_fifo_hd_speed.dsp
deleted file mode 100644
index d2cffaccad9cb2f24cd7193032a4cce4b230ef43..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/rec_fifo_hd_speed/rec_fifo_hd_speed.dsp
+++ /dev/null
@@ -1,160 +0,0 @@
-# Microsoft Developer Studio Project File - Name="rec_fifo_hd_speed" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** NICHT BEARBEITEN **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=rec_fifo_hd_speed - Win32 Debug
-!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
-!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
-!MESSAGE
-!MESSAGE NMAKE /f "rec_fifo_hd_speed.mak".
-!MESSAGE
-!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
-!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
-!MESSAGE
-!MESSAGE NMAKE /f "rec_fifo_hd_speed.mak" CFG="rec_fifo_hd_speed - Win32 Debug"
-!MESSAGE
-!MESSAGE Für die Konfiguration stehen zur Auswahl:
-!MESSAGE
-!MESSAGE "rec_fifo_hd_speed - Win32 Release" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE "rec_fifo_hd_speed - Win32 Debug" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "rec_fifo_hd_speed - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "rec_fifo_hd_speed - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "rec_fifo_hd_speed - Win32 Release"
-# Name "rec_fifo_hd_speed - Win32 Debug"
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\sb5_file\sb5_file.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_thread.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools_win.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Group "header"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\sb5_file\sb5_file.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_thread.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_oswrap.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\rec_fifo_hd_speed.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/test/rec_fifo_hd_speed/rec_fifo_hd_speed.sln b/Cpp/examples/c_cpp/test/rec_fifo_hd_speed/rec_fifo_hd_speed.sln
deleted file mode 100644
index 3b0134eba08dfc0621b7543719ac9167d287cf75..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/rec_fifo_hd_speed/rec_fifo_hd_speed.sln
+++ /dev/null
@@ -1,26 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rec_fifo_hd_speed", "rec_fifo_hd_speed.vcproj", "{25F4024B-53D9-4682-B4F3-DE9EC778997E}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Win32 = Debug|Win32
-		Debug|x64 = Debug|x64
-		Release|Win32 = Release|Win32
-		Release|x64 = Release|x64
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{25F4024B-53D9-4682-B4F3-DE9EC778997E}.Debug|Win32.ActiveCfg = Debug|Win32
-		{25F4024B-53D9-4682-B4F3-DE9EC778997E}.Debug|Win32.Build.0 = Debug|Win32
-		{25F4024B-53D9-4682-B4F3-DE9EC778997E}.Debug|x64.ActiveCfg = Debug|x64
-		{25F4024B-53D9-4682-B4F3-DE9EC778997E}.Debug|x64.Build.0 = Debug|x64
-		{25F4024B-53D9-4682-B4F3-DE9EC778997E}.Release|Win32.ActiveCfg = Release|Win32
-		{25F4024B-53D9-4682-B4F3-DE9EC778997E}.Release|Win32.Build.0 = Release|Win32
-		{25F4024B-53D9-4682-B4F3-DE9EC778997E}.Release|x64.ActiveCfg = Release|x64
-		{25F4024B-53D9-4682-B4F3-DE9EC778997E}.Release|x64.Build.0 = Release|x64
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/Cpp/examples/c_cpp/test/rec_fifo_hd_speed/rec_fifo_hd_speed.vcproj b/Cpp/examples/c_cpp/test/rec_fifo_hd_speed/rec_fifo_hd_speed.vcproj
deleted file mode 100644
index dcc9c50b3d821384ae44d26697249b1539baa643..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/rec_fifo_hd_speed/rec_fifo_hd_speed.vcproj
+++ /dev/null
@@ -1,691 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rec_fifo_hd_speed"
-	ProjectGUID="{25F4024B-53D9-4682-B4F3-DE9EC778997E}"
-	RootNamespace="rec_fifo_hd_speed"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rec_fifo_hd_speed.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_fifo_hd_speed.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_fifo_hd_speed.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_fifo_hd_speed.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_fifo_hd_speed.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rec_fifo_hd_speed.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_fifo_hd_speed.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_fifo_hd_speed.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_fifo_hd_speed.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_fifo_hd_speed.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rec_fifo_hd_speed.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rec_fifo_hd_speed.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rec_fifo_hd_speed.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rec_fifo_hd_speed.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rec_fifo_hd_speed.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rec_fifo_hd_speed.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rec_fifo_hd_speed.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rec_fifo_hd_speed.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rec_fifo_hd_speed.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rec_fifo_hd_speed.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\sb5_file\sb5_file.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_thread.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="header"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\sb5_file\sb5_file.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_thread.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_oswrap.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath="rec_fifo_hd_speed.cpp"
-			>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/test/rec_fifo_hd_speed/rec_fifo_hd_speed.vcxproj b/Cpp/examples/c_cpp/test/rec_fifo_hd_speed/rec_fifo_hd_speed.vcxproj
deleted file mode 100644
index cc4e49e37b5df9f8e828c49545e6903a66265598..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/rec_fifo_hd_speed/rec_fifo_hd_speed.vcxproj
+++ /dev/null
@@ -1,270 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{25F4024B-53D9-4682-B4F3-DE9EC778997E}</ProjectGuid>
-    <RootNamespace>rec_fifo_hd_speed</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rec_fifo_hd_speed.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_fifo_hd_speed.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>.\Debug/rec_fifo_hd_speed.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_fifo_hd_speed.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_fifo_hd_speed.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rec_fifo_hd_speed.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_fifo_hd_speed.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>.\Release/rec_fifo_hd_speed.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_fifo_hd_speed.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_fifo_hd_speed.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rec_fifo_hd_speed.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rec_fifo_hd_speed.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>.\Debug/rec_fifo_hd_speed.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rec_fifo_hd_speed.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rec_fifo_hd_speed.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rec_fifo_hd_speed.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rec_fifo_hd_speed.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>.\Release/rec_fifo_hd_speed.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rec_fifo_hd_speed.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rec_fifo_hd_speed.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="..\..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="..\..\common\spcm_lib_thread.cpp" />
-    <ClCompile Include="..\..\sb5_file\sb5_file.cpp" />
-    <ClCompile Include="rec_fifo_hd_speed.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </CustomBuild>
-    <CustomBuild Include="..\..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </CustomBuild>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\..\common\ostools\spcm_oswrap.h" />
-    <ClInclude Include="..\..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\..\common\spcm_lib_thread.h" />
-    <ClInclude Include="..\..\c_header\dlltyp.h" />
-    <ClInclude Include="..\..\c_header\regs.h" />
-    <ClInclude Include="..\..\c_header\spcerr.h" />
-    <ClInclude Include="..\..\c_header\spcm_drv.h" />
-    <ClInclude Include="..\..\sb5_file\sb5_file.h" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/test/rec_fifo_hd_speed/rec_fifo_hd_speed.vcxproj.filters b/Cpp/examples/c_cpp/test/rec_fifo_hd_speed/rec_fifo_hd_speed.vcxproj.filters
deleted file mode 100644
index 83f5deab8378b75bf687711c418bad8649843e32..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/rec_fifo_hd_speed/rec_fifo_hd_speed.vcxproj.filters
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="common">
-      <UniqueIdentifier>{c9a47d39-f94a-442e-85c8-fb6371ef8524}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="header">
-      <UniqueIdentifier>{af81d9b8-8dff-4626-a90a-e07faef03a6a}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="rec_fifo_hd_speed.cpp" />
-    <ClCompile Include="..\..\sb5_file\sb5_file.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\common\spcm_lib_thread.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\sb5_file\sb5_file.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\common\spcm_lib_thread.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\common\ostools\spcm_oswrap.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/test/rep_fifo_hd_speed/rep_fifo_hd_speed.cpp b/Cpp/examples/c_cpp/test/rep_fifo_hd_speed/rep_fifo_hd_speed.cpp
deleted file mode 100644
index ba5e542cea12f1287720889985b3b8dc065ef9d5..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/rep_fifo_hd_speed/rep_fifo_hd_speed.cpp
+++ /dev/null
@@ -1,432 +0,0 @@
-/*
-**************************************************************************
-
-rep_fifo_hd_speed.cpp                                    (c) Spectrum GmbH
-
-**************************************************************************
-
-this example supports all generator cards
-
-Does FIFO replay from hard disk to test the maximum reading performance
-of the hard disk.
-
-This program only runs under Windows as it uses some windows specific API
-calls for file handling and key checking.
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-
-**************************************************************************
-*/
-
-
-
-// ----- standard c include files -----
-#include <cstdio>
-#include <cstring>
-#include <cstdlib>
-#include <cmath>
-#include <conio.h>
-
-// ----- include of common example librarys -----
-#include "../../common/spcm_lib_card.h"
-#include "../../common/spcm_lib_data.h"
-#include "../../common/ostools/spcm_oswrap.h"
-#include "../../common/ostools/spcm_ostools.h"
-
-
-// ----- global setup for the run (can be changed interactively) -----
-int32   g_lSamplingRate =   MEGA(10);
-int32   g_lNotifySize =     KILO_B(1024);
-int32   g_lSWBufferSize =   MEGA_B(128);
-int32   g_lHWBufferSize =   MEGA_B(64);
-int64   g_llFileSize =      GIGA_B (4);
-uint64  g_qwChannelEnable = 1;
-HANDLE  g_hFile =           NULL;
-
-#define FILENAME "stream_test.bin"
-
-
-
-/*
-**************************************************************************
-bDoCardSetup: setup matching the calculation routine
-**************************************************************************
-*/
-
-bool bDoCardSetup (ST_SPCM_CARDINFO *pstCard)
-    {
-
-    bSpcMSetupModeRepFIFOSingle (pstCard, g_qwChannelEnable);
-
-    // we try to set the samplerate to 1 MHz on internal PLL, no clock output
-    bSpcMSetupClockPLL (pstCard, g_lSamplingRate, false);
-    printf ("Sampling rate set to %.1lf MHz\n", (double) pstCard->llSetSamplerate / MEGA(1));
-
-    // we set software trigger, no trigger output
-    bSpcMSetupTrigSoftware (pstCard, false);
-
-    return pstCard->bSetError;
-    }
-
-
-
-/*
-**************************************************************************
-DoDataCalculation: calculates the output data. Reads data from file
-**************************************************************************
-*/
-
-bool bDoDataCalculation (ST_SPCM_CARDINFO *pstCard, void* pvBuffer, int64 llBytesToCalculate)
-    {
-    uint32 dwRead;
-    ReadFile (g_hFile, pvBuffer, (uint32) llBytesToCalculate, &dwRead, NULL);
-    if (dwRead != (uint32) llBytesToCalculate)
-        printf ("\nFile Read Error (completed?)\n");
-    return (dwRead == (uint32) llBytesToCalculate);
-    }
-
-
-
-/*
-**************************************************************************
-bSetup: returns true if start, false if abort
-**************************************************************************
-*/
-
-bool bSetup (ST_SPCM_CARDINFO* pstCard)
-    {
-    double dTmp;
-    uint32 dwTmp;
-    int32  lChannels;
-    char   szErrorText[ERRORTEXTLEN];
-    bool   bStart = false;
-
-    while (!bStart)
-        {
-        printf ("\n\n");
-        printf ("Current Setup\n-------------\n");
-        printf ("S ....... Sampling Rate:    %.2lf MS/s\n", (double) g_lSamplingRate / MEGA(1));
-        printf ("B ....... SW Buffer Size:   %.2lf MByte\n", (double) g_lSWBufferSize / MEGA_B(1));
-        printf ("H ....... HW Buffer Size:   %.2lf MByte\n", (double) g_lHWBufferSize / MEGA_B(1));
-        printf ("N ....... Notify Size:      %d kByte\n", g_lNotifySize / KILO_B(1));
-        printf ("C ....... Channel Enable:   %x\n", g_qwChannelEnable);
-        printf ("F ....... File Size:        %.2lf GByte\n", (double) g_llFileSize / GIGA_B(1));
-        printf ("Enter ... Start Test\n");
-        printf ("Esc ..... Abort\n");
-
-        spcm_dwSetParam_i64 (pstCard->hDrv, SPC_CHENABLE, g_qwChannelEnable);
-        spcm_dwSetParam_i64 (pstCard->hDrv, SPC_SAMPLERATE, g_lSamplingRate);
-        spcm_dwGetParam_i32 (pstCard->hDrv, SPC_CHCOUNT, &lChannels);
-        if (spcm_dwGetErrorInfo_i32 (pstCard->hDrv, NULL, NULL, szErrorText) != ERR_OK)
-            printf ("\nSetup Error:\n------------\n%s\n\n", szErrorText);
-        else
-            {
-            if (pstCard->eCardFunction == AnalogOut)
-                printf ("          Transfer Speed:   %.2lf MByte/s\n", (double)  g_lSamplingRate * lChannels * pstCard->lBytesPerSample / MEGA_B(1));
-            else
-                printf ("          Transfer Speed:   %.2lf MByte/s\n", (double)  g_lSamplingRate * lChannels / 8 / MEGA_B(1));
-            }
-        printf ("\n");
-
-
-        switch (getch())
-            {
-            case 27: return false;
-            case 13: bStart = true; break;
-
-            case 's':
-            case 'S':
-                printf ("Sampling Rate (MS/s): ");
-                scanf ("%lf", &dTmp);
-                g_lSamplingRate = (int32) (dTmp * MEGA(1));
-                break;
-
-            case 'f':
-            case 'F':
-                printf ("File Size (GByte): ");
-                scanf ("%lf", &dTmp);
-                g_llFileSize = (int64) (dTmp * GIGA_B(1));
-
-                // must be multiple of page size (4k)
-                g_llFileSize = ((g_llFileSize >> 12) << 12);
-                break;
-
-            case 'b':
-            case 'B':
-                printf ("SW Buffer Size (MByte): ");
-                scanf ("%lf", &dTmp);
-                g_lSWBufferSize = (int32) (dTmp * MEGA_B(1));
-                break;
-
-            case 'h':
-            case 'H':
-                printf ("HW Buffer Size (MByte): ");
-                scanf ("%lf", &dTmp);
-                g_lHWBufferSize = (int32) (dTmp * MEGA_B(1));
-                break;
-
-            case 'n':
-            case 'N':
-                printf ("Notify Size (kByte): ");
-                scanf ("%lf", &dTmp);
-                g_lNotifySize = (int32) (dTmp * KILO_B(1));
-                break;
-
-            case 'c':
-            case 'C':
-                printf ("Channel Enable Mask (hex): ");
-                scanf ("%x", &dwTmp);
-                g_qwChannelEnable = dwTmp;
-                break;
-
-            }
-        }
-
-    // start was called -> generate the file or open an existing one
-    while (1)
-        {
-        g_hFile = CreateFile (FILENAME, 
-            GENERIC_READ,  
-            FILE_SHARE_READ | FILE_SHARE_WRITE, 
-            NULL, 
-            OPEN_EXISTING, 
-            FILE_ATTRIBUTE_NORMAL | FILE_FLAG_NO_BUFFERING, 
-            NULL);
-
-        // file exists, check size
-        if (g_hFile != INVALID_HANDLE_VALUE)
-            {
-            LARGE_INTEGER liFileSize;
-            GetFileSizeEx (g_hFile, &liFileSize);
-
-            if (liFileSize.QuadPart >= g_llFileSize)
-                return true;
-
-            // too small -> delete
-            CloseHandle (g_hFile);
-            DeleteFile (FILENAME);
-            }
-
-        // make a new file
-        g_hFile = CreateFile (FILENAME, 
-            GENERIC_WRITE, 
-            FILE_SHARE_READ | FILE_SHARE_WRITE, 
-            NULL, 
-            CREATE_ALWAYS, 
-            FILE_ATTRIBUTE_NORMAL | FILE_FLAG_NO_BUFFERING, 
-            NULL);
-
-        int64  llFileStep = MEGA_B(1);
-        void*  pvData = pvAllocMemPageAligned ((uint32) llFileStep);
-        int64  llIdx, llRemain;
-        uint32 dwWritten;
-
-        printf ("\nWriting file with output data...\n");
-        memset (pvData, 0x5A, (uint32) llFileStep);
-        for (llIdx = 0; llIdx < g_llFileSize; llIdx += llFileStep)
-            {
-            llRemain = (g_llFileSize - llIdx) > llFileStep ? llFileStep : g_llFileSize - llIdx;
-
-            printf ("\rFileSize: %.3lf GByte of %.3lf GByte", (double) llIdx / GIGA_B(1), (double) g_llFileSize / GIGA_B(1));
-            WriteFile (g_hFile, pvData, (uint32) llRemain, &dwWritten, NULL);
-            if (dwWritten != (uint32) llRemain)
-                {
-                printf ("File Write Error!\n");
-                CloseHandle (g_hFile);
-                return false;
-                }
-            if (kbhit())
-                if (getch() == 27)
-                    {
-                    CloseHandle (g_hFile);
-                    return false;
-                    }
-
-            }
-        vFreeMemPageAligned (pvData, (uint32) llFileStep);
-        CloseHandle (g_hFile);
-        }
-
-    return false;
-    }
-
-
-
-/*
-**************************************************************************
-main 
-**************************************************************************
-*/
-
-int main ()
-    {
-    char                szBuffer[1024];     // a character buffer for any messages
-    ST_SPCM_CARDINFO    stCard;             // info structure of my card
-    void*               pvBuffer = NULL;
-    uint32              dwErr;
-
-
-    // some example checks
-    if (g_lSWBufferSize % g_lNotifySize)
-        {
-        printf ("In our example we can only handle sw buffers that are a whole numbered multiple of the notify size\n");
-        return 1;
-        }
-
-
-    // ------------------------------------------------------------------------
-    // init card number 0 (the first card in the system), get some information and print it
-    if (bSpcMInitCardByIdx (&stCard, 0))
-        {
-        printf (pszSpcMPrintDocumentationLink (&stCard, szBuffer, sizeof (szBuffer)));
-        printf (pszSpcMPrintCardInfo (&stCard, szBuffer, sizeof (szBuffer)));
-        }
-    else
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Could not open card\n", true);
-
-
-    // check whether we support this card type in the example
-    if ((stCard.eCardFunction != AnalogOut) && (stCard.eCardFunction != DigitalOut) && (stCard.eCardFunction != DigitalIO))
-        return nSpcMErrorMessageStdOut (&stCard, "Error: Card function not supported by this example\n", false);
-
-
-        // we start with 16 bit acquisition as this is supported by all cards
-    switch (stCard.eCardFunction)
-        {
-        case AnalogOut:
-            switch (stCard.lBytesPerSample)
-                {
-                case 1: g_qwChannelEnable = CHANNEL1 | CHANNEL0; break;
-                case 2: g_qwChannelEnable =            CHANNEL0; break;
-                }
-            break;
-
-        default:
-            g_qwChannelEnable = 0xffff;
-            break;
-        }
-
-
-
-    // ------------------------------------------------------------------------
-    // do the card setup, error is routed in the structure so we don't care for the return values
-    while (bSetup(&stCard))
-        {
-        if (!stCard.bSetError)
-            bDoCardSetup (&stCard);
-
-        // ------------------------------------------------------------------------
-        // allocate and setup the fifo buffer and fill it once with data
-        pvBuffer = pvAllocMemPageAligned ((uint32) g_lSWBufferSize);
-        if (!pvBuffer)
-            return nSpcMErrorMessageStdOut (&stCard, "Memory allocation error\n", false);
-
-        // starting with firmware version V9 we can program the hardware buffer size to reduce the latency
-        if (stCard.lCtrlFwVersion >= 9)
-            {
-            spcm_dwSetParam_i64 (stCard.hDrv, SPC_DATA_OUTBUFSIZE, g_lHWBufferSize);
-            spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_WRITESETUP);
-            }
-
-        spcm_dwDefTransfer_i64 (stCard.hDrv, SPCM_BUF_DATA, SPCM_DIR_PCTOCARD, (uint32) g_lNotifySize, pvBuffer, 0, g_lSWBufferSize);
-
-
-        // do initial calculation
-        printf ("Fill SW-Buffer from file...\n");
-        for (int32 lPos = 0; lPos < g_lSWBufferSize; lPos += g_lNotifySize)
-            bDoDataCalculation (&stCard, (void*) ((int32) pvBuffer + lPos), g_lNotifySize);
-
-
-        spcm_dwSetParam_i64 (stCard.hDrv, SPC_DATA_AVAIL_CARD_LEN, g_lSWBufferSize);
-
-        // now buffer is full of data and we start the transfer (output is not started yet), timeout is 1 second
-        spcm_dwSetParam_i32 (stCard.hDrv, SPC_TIMEOUT, 1000);
-        dwErr = spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_DATA_STARTDMA | M2CMD_DATA_WAITDMA);
-
-
-
-
-        // ------------------------------------------------------------------------
-        // this is our main output and calculation loop
-        int64 llTransferredBytes = 0;
-        int64 llAvailUser;
-        int64 llBufferFillPromille;
-        int64 llUserPos;
-        bool  bStarted = false;
-
-        while (!dwErr)
-            {
-            spcm_dwGetParam_i64 (stCard.hDrv, SPC_DATA_AVAIL_USER_LEN, &llAvailUser);
-            spcm_dwGetParam_i64 (stCard.hDrv, SPC_FILLSIZEPROMILLE, &llBufferFillPromille);
-            if (llTransferredBytes > GIGA_B(1))
-                printf ("\rSW-Buffer: %3.0f%%   HW-Buffer:%3d%%, Total Bytes so far: %6.2f GB    ", (float) 100.0 * (g_lSWBufferSize - llAvailUser) / g_lSWBufferSize, (uint32) llBufferFillPromille / 10, (float) llTransferredBytes / GIGA_B(1));
-            else
-                printf ("\rSW-Buffer: %3.0f%%   HW-Buffer:%3d%%, Total Bytes so far: %6.2f MB", (float) 100.0 * (g_lSWBufferSize - llAvailUser) / g_lSWBufferSize, (uint32) llBufferFillPromille / 10, (float) llTransferredBytes / MEGA_B(1));
-
-
-            // we recalculate the amount of data that is free and set this part available for card again
-            // inhere we only take pieces of notify size
-            if (llAvailUser >= g_lNotifySize)
-                {
-                llTransferredBytes += g_lNotifySize;
-                spcm_dwGetParam_i64 (stCard.hDrv, SPC_DATA_AVAIL_USER_POS, &llUserPos);
-                if (bDoDataCalculation (&stCard, ((int8*) pvBuffer) + llUserPos, g_lNotifySize))
-                    dwErr = spcm_dwSetParam_i64 (stCard.hDrv, SPC_DATA_AVAIL_CARD_LEN, g_lNotifySize);
-                else
-                    dwErr = ERR_ABORT;
-                }
-
-            // we start the output as soon as we have a sufficient amount of data on card 
-            // inhere we start if the hardware buffer is completely full
-            if (!bStarted && !dwErr && (llBufferFillPromille == 1000))
-                {
-                printf ("\nStart the output\n");
-                dwErr = spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER);
-                bStarted = true;
-                }
-
-            // wait for the next buffer to be free
-            if (!dwErr)
-                dwErr = spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_DATA_WAITDMA);
-
-
-            // check for esc=abort
-            if (!dwErr)
-                if (bKbhit())
-                    if (cGetch() == 27)
-                        {
-                        printf ("\nOutput stopped\n");
-                        spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_STOP);
-                        dwErr = ERR_ABORT;
-                        }
-            }
-
-        // show runtime errors
-        if (dwErr && !stCard.bSetError)
-            printf ("\nEnd with Runtime Error Code:%d\n-> %s\n\n", dwErr, pszSpcMTranslateRuntimeError (dwErr, szBuffer));
-
-        // ------------------------------------------------------------------------
-        // print error information if an error occured
-        if (stCard.bSetError)
-            return nSpcMErrorMessageStdOut (&stCard, "An error occured while programming the card:\n", true);
-
-        // stop the card 
-        spcm_dwSetParam_i32 (stCard.hDrv, SPC_M2CMD, M2CMD_CARD_RESET);
-        if (g_hFile)
-            CloseHandle (g_hFile);
-
-        vFreeMemPageAligned (pvBuffer, (uint32) g_lSWBufferSize);
-        }
-
-    // clean up and close the driver
-    vSpcMCloseCard (&stCard);
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/test/rep_fifo_hd_speed/rep_fifo_hd_speed.dsp b/Cpp/examples/c_cpp/test/rep_fifo_hd_speed/rep_fifo_hd_speed.dsp
deleted file mode 100644
index b09a8b6e4c89efb8db04893118fa54b2b9842c02..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/rep_fifo_hd_speed/rep_fifo_hd_speed.dsp
+++ /dev/null
@@ -1,142 +0,0 @@
-# Microsoft Developer Studio Project File - Name="rep_fifo_hd_speed" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** NICHT BEARBEITEN **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=rep_fifo_hd_speed - Win32 Debug
-!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
-!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
-!MESSAGE
-!MESSAGE NMAKE /f "rep_fifo_hd_speed.mak".
-!MESSAGE
-!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
-!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
-!MESSAGE
-!MESSAGE NMAKE /f "rep_fifo_hd_speed.mak" CFG="rep_fifo_hd_speed - Win32 Debug"
-!MESSAGE
-!MESSAGE Für die Konfiguration stehen zur Auswahl:
-!MESSAGE
-!MESSAGE "rep_fifo_hd_speed - Win32 Release" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE "rep_fifo_hd_speed - Win32 Debug" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "rep_fifo_hd_speed - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "rep_fifo_hd_speed - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
-# SUBTRACT CPP /YX /Yc /Yu
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "rep_fifo_hd_speed - Win32 Release"
-# Name "rep_fifo_hd_speed - Win32 Debug"
-# Begin Group "header"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools.h
-# End Source File
-# End Group
-# Begin Group "common"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_card.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\spcm_lib_data.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\ostools\spcm_ostools_win.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\rep_fifo_hd_speed.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/test/rep_fifo_hd_speed/rep_fifo_hd_speed.vcproj b/Cpp/examples/c_cpp/test/rep_fifo_hd_speed/rep_fifo_hd_speed.vcproj
deleted file mode 100644
index b9ea5800122f0365e184c0b4e83814b8ab33ed67..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/rep_fifo_hd_speed/rep_fifo_hd_speed.vcproj
+++ /dev/null
@@ -1,608 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="rep_fifo_hd_speed"
-	ProjectGUID="{F8229828-20A8-4843-BC57-C5BD6D193050}"
-	RootNamespace="rep_fifo_hd_speed"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/rep_fifo_hd_speed.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rep_fifo_hd_speed.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rep_fifo_hd_speed.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rep_fifo_hd_speed.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rep_fifo_hd_speed.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/rep_fifo_hd_speed.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rep_fifo_hd_speed.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rep_fifo_hd_speed.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rep_fifo_hd_speed.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rep_fifo_hd_speed.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/rep_fifo_hd_speed.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/rep_fifo_hd_speed.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/rep_fifo_hd_speed.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/rep_fifo_hd_speed.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/rep_fifo_hd_speed.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/rep_fifo_hd_speed.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/rep_fifo_hd_speed.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/rep_fifo_hd_speed.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/rep_fifo_hd_speed.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/rep_fifo_hd_speed.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="header"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_card.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.h"
-				>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="common"
-			>
-			<File
-				RelativePath="..\common\spcm_lib_card.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\spcm_lib_data.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\common\ostools\spcm_ostools_win.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<File
-			RelativePath="rep_fifo_hd_speed.cpp"
-			>
-			<FileConfiguration
-				Name="Debug|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|Win32"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				>
-				<Tool
-					Name="VCCLCompilerTool"
-					PreprocessorDefinitions=""
-				/>
-			</FileConfiguration>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/test/rep_fifo_hd_speed/rep_fifo_hd_speed.vcxproj b/Cpp/examples/c_cpp/test/rep_fifo_hd_speed/rep_fifo_hd_speed.vcxproj
deleted file mode 100644
index acf81e2ebf5daf1550dd4d5a42a63b80e415b9b6..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/rep_fifo_hd_speed/rep_fifo_hd_speed.vcxproj
+++ /dev/null
@@ -1,265 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{F8229828-20A8-4843-BC57-C5BD6D193050}</ProjectGuid>
-    <RootNamespace>rep_fifo_hd_speed</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/rep_fifo_hd_speed.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rep_fifo_hd_speed.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>.\Debug/rep_fifo_hd_speed.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rep_fifo_hd_speed.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rep_fifo_hd_speed.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/rep_fifo_hd_speed.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rep_fifo_hd_speed.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>.\Release/rep_fifo_hd_speed.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rep_fifo_hd_speed.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rep_fifo_hd_speed.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/rep_fifo_hd_speed.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/rep_fifo_hd_speed.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>.\Debug/rep_fifo_hd_speed.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/rep_fifo_hd_speed.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/rep_fifo_hd_speed.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/rep_fifo_hd_speed.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/rep_fifo_hd_speed.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>.\Release/rep_fifo_hd_speed.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/rep_fifo_hd_speed.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/rep_fifo_hd_speed.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\..\common\ostools\spcm_ostools.h" />
-    <ClInclude Include="..\..\common\spcm_lib_card.h" />
-    <ClInclude Include="..\..\common\spcm_lib_data.h" />
-    <ClInclude Include="..\..\c_header\dlltyp.h" />
-    <ClInclude Include="..\..\c_header\regs.h" />
-    <ClInclude Include="..\..\c_header\spcerr.h" />
-    <ClInclude Include="..\..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\common\ostools\spcm_ostools_win.cpp" />
-    <ClCompile Include="..\..\common\spcm_lib_card.cpp" />
-    <ClCompile Include="..\..\common\spcm_lib_data.cpp" />
-    <ClCompile Include="rep_fifo_hd_speed.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </CustomBuild>
-    <CustomBuild Include="..\..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </CustomBuild>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
diff --git a/Cpp/examples/c_cpp/test/rep_fifo_hd_speed/rep_fifo_hd_speed.vcxproj.filters b/Cpp/examples/c_cpp/test/rep_fifo_hd_speed/rep_fifo_hd_speed.vcxproj.filters
deleted file mode 100644
index 3ff3add65050938f97e4939dc729d0cc54a20ae7..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/rep_fifo_hd_speed/rep_fifo_hd_speed.vcxproj.filters
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="header">
-      <UniqueIdentifier>{79467de0-7d5a-4137-9b8d-04b11784b74d}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl</Extensions>
-    </Filter>
-    <Filter Include="common">
-      <UniqueIdentifier>{045de223-02cd-43f4-9543-9bac9b2e1ca0}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\..\c_header\dlltyp.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\c_header\regs.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\c_header\spcerr.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\c_header\spcm_drv.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\common\spcm_lib_card.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\common\spcm_lib_data.h">
-      <Filter>header</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\common\ostools\spcm_ostools.h">
-      <Filter>header</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\common\spcm_lib_card.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\common\spcm_lib_data.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\common\ostools\spcm_ostools_win.cpp">
-      <Filter>common</Filter>
-    </ClCompile>
-    <ClCompile Include="rep_fifo_hd_speed.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>common</Filter>
-    </CustomBuild>
-  </ItemGroup>
-</Project>
diff --git a/Cpp/examples/c_cpp/test/spcm_repetition/spcm_repetition_test.cpp b/Cpp/examples/c_cpp/test/spcm_repetition/spcm_repetition_test.cpp
deleted file mode 100644
index afc78cc39f690d9c7887ee8ec2daf71085989bc9..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/spcm_repetition/spcm_repetition_test.cpp
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
-**************************************************************************
-
-spcm_repetion_test.cpp                                   (c) Spectrum GmbH
-
-**************************************************************************
-
-This example supports all M2i/M3i/M4i/M4x/M2p/M5i cards.  It measures the
-repetion rate for different block sizes in either direction.
-
-Documentation for the API as well as a detailed description of the hardware
-can be found in the manual for each device which can be found on our website:
-https://www.spectrum-instrumentation.com/en/downloads
-
-Further information can be found online in the Knowledge Base:
-https://www.spectrum-instrumentation.com/en/knowledge-base-overview
-
-**************************************************************************
-*/
-
-
-
-// ----- standard c include files -----
-#include <stdio.h>
-#include <stdlib.h>
-#include <conio.h>
-
-// ----- include driver libraries -----
-#include "../../c_header/dlltyp.h"
-#include "../../c_header/regs.h"
-#include "../../c_header/spcerr.h"
-#include "../../c_header/spcm_drv.h"
-
-char* szTypeToName (int32 lCardType)
-    {
-    static char szName[50];
-    switch (lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M2ISERIES:     sprintf (szName, "M2i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2IEXPSERIES:  sprintf (szName, "M2i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3ISERIES:     sprintf (szName, "M3i.%04x",     lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M3IEXPSERIES:  sprintf (szName, "M3i.%04x-Exp", lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4IEXPSERIES:  sprintf (szName, "M4i.%04x-x8",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M4XEXPSERIES:  sprintf (szName, "M4x.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M2PEXPSERIES:  sprintf (szName, "M2p.%04x-x4",  lCardType & TYP_VERSIONMASK);  break;
-        case TYP_M5IEXPSERIES:  sprintf (szName, "M5i.%04x-x16", lCardType & TYP_VERSIONMASK);  break;
-        default:                sprintf (szName, "unknown type");                               break;
-        }
-    return szName;
-    }
-
-int main ()
-    {
-    drv_handle  hDrv;
-    char        szErrorText[ERRORTEXTLEN];
-    int32       lKernelVersion, lDLLVersion, lCardType, lSN, lBytesPerSample, lFunctionType;
-    int64       llMaxSamplerate;
-
-
-    // try to open the card
-    printf ("Trying to open the driver ...\n");
-    hDrv = spcm_hOpen ("spcm0");
-
-    if (!hDrv)
-        {
-        printf ("open of device failed\n");
-        spcm_dwGetErrorInfo_i32 (NULL, NULL, NULL, szErrorText);
-        printf ("... %s\n", szErrorText);
-        _getch();
-        return EXIT_FAILURE;
-        }
-
-    // get some card information and print it
-    spcm_dwGetParam_i32 (hDrv, SPC_GETKERNELVERSION,        &lKernelVersion);
-    spcm_dwGetParam_i32 (hDrv, SPC_GETDRVVERSION,           &lDLLVersion);
-    spcm_dwGetParam_i32 (hDrv, SPC_PCITYP,                  &lCardType);
-    spcm_dwGetParam_i32 (hDrv, SPC_FNCTYPE,                 &lFunctionType);
-    spcm_dwGetParam_i32 (hDrv, SPC_PCISERIALNO,             &lSN);
-    spcm_dwGetParam_i64 (hDrv, SPC_PCISAMPLERATE,           &llMaxSamplerate);
-    spcm_dwGetParam_i32 (hDrv, SPC_MIINST_BYTESPERSAMPLE,   &lBytesPerSample);
-
-
-    printf ("---------------------------------------\n");
-#ifdef WIN32
-    printf ("PC: %s\n", getenv ("COMPUTERNAME"));
-#endif // WIN32
-    printf ("%s sn %05d\n", szTypeToName (lCardType), lSN);
-    printf ("Max. Sampling rate: %lld\n", llMaxSamplerate);
-    printf ("Kernel Version:     V %d.%d build %d\n", (lKernelVersion >> 24) & 0xff, (lKernelVersion >> 16) & 0xff, lKernelVersion & 0xffff);
-    printf ("Library Version:    V %d.%d build %d\n", (lDLLVersion >> 24) & 0xff, (lDLLVersion >> 16) & 0xff, lDLLVersion & 0xffff);
-
-    switch (lCardType & TYP_SERIESMASK)
-        {
-        case TYP_M2IEXPSERIES:
-        case TYP_M3IEXPSERIES:
-        case TYP_M4IEXPSERIES:
-        case TYP_M4XEXPSERIES:
-        case TYP_M2PEXPSERIES:
-        case TYP_M5IEXPSERIES:
-            {
-            int32 lPCIeGen = 0;
-            int32 lPCIeLanes = 0;
-            int32 lPCIePayload = 0;
-            spcm_dwGetParam_i32 (hDrv, SPC_PCIEXPGENERATION, &lPCIeGen);
-            spcm_dwGetParam_i32 (hDrv, SPC_PCIEXPLANES,      &lPCIeLanes);
-            spcm_dwGetParam_i32 (hDrv, SPC_PCIEXPPAYLOAD,    &lPCIePayload);
-            printf ("PCIe Gen%dx%d, Payload: %d Bytes\n", lPCIeGen, lPCIeLanes, lPCIePayload);
-            break;
-            }
-        default:
-            // keine Businfos für PCI Karten
-            break;
-        }
-    printf ("---------------------------------------\n");
-
-    // setup the card for test
-    int16           *pnBuffer, *pnContMem;
-    int32           lMaxBufsize = MEGA_B(64);
-    int32           lMaxLoop;
-    int32           lBufsize, lLoop;
-    uint64          qwContBufLen;
-    LARGE_INTEGER   uStart, uEnd, uLoopStart, uLoopEnd, uMin, uMax;
-    double          dAvTime, dMinTime, dMaxTime;
-    LARGE_INTEGER   uHighResFreq;
-
-    spcm_dwSetParam_i32 (hDrv, SPC_M2CMD,           M2CMD_CARD_RESET);
-    spcm_dwSetParam_i32 (hDrv, SPC_TRIG_ANDMASK,    0);
-    spcm_dwSetParam_i32 (hDrv, SPC_TRIG_ORMASK,     SPC_TMASK_SOFTWARE);
-    spcm_dwSetParam_i32 (hDrv, SPC_TRIG_EXT0_MODE,  SPC_TM_POS);
-    spcm_dwSetParam_i32 (hDrv, SPC_CLOCKMODE,       SPC_CM_INTPLL);
-    spcm_dwSetParam_i64 (hDrv, SPC_SAMPLERATE,      llMaxSamplerate);
-    spcm_dwSetParam_i32 (hDrv, SPC_TIMEOUT,         0);
-    spcm_dwSetParam_i32 (hDrv, SPC_CARDMODE,        SPC_REC_STD_SINGLE);
-    switch (lFunctionType)
-        {
-        case SPCM_TYPE_AI:
-            spcm_dwSetParam_i32 (hDrv, SPC_CHENABLE,        CHANNEL0);
-            spcm_dwSetParam_i32 (hDrv, SPC_CARDMODE,        SPC_REC_STD_SINGLE);
-            break;
-
-        case SPCM_TYPE_AO:
-        case SPCM_TYPE_DO:
-            spcm_vClose (hDrv);
-            printf ("\ncard type not supported yet (press key)\n");
-            _getch();
-            break;
-
-        case SPCM_TYPE_DI:
-        case SPCM_TYPE_DIO:
-            spcm_dwSetParam_i32 (hDrv, SPC_CHENABLE,        0xff);
-            spcm_dwSetParam_i32 (hDrv, SPC_CARDMODE,        SPC_REC_STD_SINGLE);
-            break;
-        }
-
-    // ----- Buffer Handling -----
-    pnBuffer = (int16*) VirtualAlloc (NULL, lMaxBufsize, MEM_COMMIT, PAGE_READWRITE);
-    spcm_dwGetContBuf_i64 (hDrv, SPCM_BUF_DATA, (void**) &pnContMem, &qwContBufLen);
-    printf ("Cont Mem: %.2f MByte   \n", (double) qwContBufLen / 1024.0 / 1024.0);
-    printf ("\n");
-
-    QueryPerformanceFrequency (&uHighResFreq);
-    for (lBufsize = 1024; lBufsize <= lMaxBufsize; lBufsize *= 2)
-        {
-        if (lBufsize < (1024*1024))
-            printf ("%4d kByte ", lBufsize / 1024);
-        else
-            printf ("%4d MByte ", lBufsize / 1024 / 1024);
-
-        // calc max loops depending on the buffersize
-        lMaxLoop = lMaxBufsize / lBufsize;
-        if (lMaxLoop < 3) lMaxLoop = 3;
-        if (lMaxLoop > 1000) lMaxLoop = 1000;
-
-        spcm_dwSetParam_i32 (hDrv, SPC_MEMSIZE,     lBufsize/lBytesPerSample);
-        spcm_dwSetParam_i32 (hDrv, SPC_POSTTRIGGER, lBufsize/lBytesPerSample - lBufsize/8);
-        spcm_dwSetParam_i32 (hDrv, SPC_M2CMD,       M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER | M2CMD_CARD_WAITREADY);
-
-        uMin.QuadPart = 1000000000000;
-        uMax.QuadPart = 0;
-
-        // now the speed measuring loop starts
-        QueryPerformanceCounter (&uStart);
-        for (lLoop = 1; lLoop <= lMaxLoop; lLoop++)
-            {
-            QueryPerformanceCounter (&uLoopStart);
-
-            // use cont mem buf if available and large enough
-            if (lBufsize <= (int32) qwContBufLen)
-                spcm_dwDefTransfer_i64 (hDrv, SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, 0, (void*) pnContMem, 0, lBufsize);
-            else
-                spcm_dwDefTransfer_i64 (hDrv, SPCM_BUF_DATA, SPCM_DIR_CARDTOPC, 0, (void*) pnBuffer, 0, lBufsize);
-
-            spcm_dwSetParam_i32 (hDrv, SPC_M2CMD,     M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER | M2CMD_DATA_STARTDMA | M2CMD_DATA_WAITDMA);
-
-            // check for min and max repitition time
-            QueryPerformanceCounter (&uLoopEnd);
-            if ((uLoopEnd.QuadPart - uLoopStart.QuadPart) > uMax.QuadPart)
-                uMax.QuadPart = (uLoopEnd.QuadPart - uLoopStart.QuadPart);
-            if ((uLoopEnd.QuadPart - uLoopStart.QuadPart) < uMin.QuadPart)
-                uMin.QuadPart = (uLoopEnd.QuadPart - uLoopStart.QuadPart);
-            }
-        QueryPerformanceCounter (&uEnd);
-
-
-        // calc and print the results for this buffer size
-        dAvTime =  (double) (uEnd.QuadPart - uStart.QuadPart) / lMaxLoop / uHighResFreq.QuadPart;
-        dMinTime = (double) (uMin.QuadPart) / uHighResFreq.QuadPart;
-        dMaxTime = (double) (uMax.QuadPart) / uHighResFreq.QuadPart;
-
-        printf (" %5.1f MB/s Rep: %6.1f Hz Time(ms) Min=%6.2f Max=%6.2f Av=%6.2f\n",
-            (double) (dAvTime == 0 ? 0.0 : lBufsize / dAvTime / 1024.0 / 1024.0),
-            (double) (1.0 / dAvTime),
-            1000.0 * dMinTime,
-            1000.0 * dMaxTime,
-            1000.0 * dAvTime);
-        }
-
-    VirtualFree (pnBuffer, 0, MEM_RELEASE);
-    spcm_vClose (hDrv);
-    printf ("\n...end (press key)\n");
-    _getch();
-
-    return EXIT_SUCCESS;
-    }
-
diff --git a/Cpp/examples/c_cpp/test/spcm_repetition/spcm_repetition_test.dsp b/Cpp/examples/c_cpp/test/spcm_repetition/spcm_repetition_test.dsp
deleted file mode 100644
index 4f2885865715dfdfea32d0111317f2d909e34738..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/spcm_repetition/spcm_repetition_test.dsp
+++ /dev/null
@@ -1,120 +0,0 @@
-# Microsoft Developer Studio Project File - Name="spcm_repetition_test" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** NICHT BEARBEITEN **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=spcm_repetition_test - Win32 Debug
-!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
-!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
-!MESSAGE 
-!MESSAGE NMAKE /f "spcm_repetition_test.mak".
-!MESSAGE 
-!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
-!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
-!MESSAGE 
-!MESSAGE NMAKE /f "spcm_repetition_test.mak" CFG="spcm_repetition_test - Win32 Debug"
-!MESSAGE 
-!MESSAGE Für die Konfiguration stehen zur Auswahl:
-!MESSAGE 
-!MESSAGE "spcm_repetition_test - Win32 Release" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE "spcm_repetition_test - Win32 Debug" (basierend auf  "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "spcm_repetition_test - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "spcm_repetition_test - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "spcm_repetition_test - Win32 Release"
-# Name "spcm_repetition_test - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\spcm_repetition_test.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_win32_msvcpp.lib
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\c_header\dlltyp.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\regs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcerr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\c_header\spcm_drv.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/Cpp/examples/c_cpp/test/spcm_repetition/spcm_repetition_test.dsw b/Cpp/examples/c_cpp/test/spcm_repetition/spcm_repetition_test.dsw
deleted file mode 100644
index 45a4d25c6d25f8706c9c09d00086900986bb4d97..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/spcm_repetition/spcm_repetition_test.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNUNG: DIESE ARBEITSBEREICHSDATEI DARF NICHT BEARBEITET ODER GELÖSCHT WERDEN!
-
-###############################################################################
-
-Project: "spcm_repetition_test"=.\spcm_repetition_test.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/Cpp/examples/c_cpp/test/spcm_repetition/spcm_repetition_test.vcproj b/Cpp/examples/c_cpp/test/spcm_repetition/spcm_repetition_test.vcproj
deleted file mode 100644
index b76a89c5b01ca6bbe7372d86f4fb2c24160d2fea..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/spcm_repetition/spcm_repetition_test.vcproj
+++ /dev/null
@@ -1,494 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8,00"
-	Name="spcm_repetition_test"
-	ProjectGUID="{C0AE30CD-9A7F-494B-B181-5D1B36A48290}"
-	RootNamespace="spcm_repetition_test"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Debug/spcm_repetition_test.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/spcm_repetition_test.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/spcm_repetition_test.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/spcm_repetition_test.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/spcm_repetition_test.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName=".\Release/spcm_repetition_test.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/spcm_repetition_test.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/spcm_repetition_test.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/spcm_repetition_test.pdb"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/spcm_repetition_test.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Debug/spcm_repetition_test.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				PrecompiledHeaderFile=".\Debug/spcm_repetition_test.pch"
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Debug/spcm_repetition_test.exe"
-				LinkIncremental="2"
-				SuppressStartupBanner="true"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/spcm_repetition_test.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Debug/spcm_repetition_test.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
-			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-			ConfigurationType="1"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-				TypeLibraryName=".\Release/spcm_repetition_test.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
-				StringPooling="true"
-				RuntimeLibrary="0"
-				EnableFunctionLevelLinking="true"
-				PrecompiledHeaderFile=".\Release/spcm_repetition_test.pch"
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile=".\Release/spcm_repetition_test.exe"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				ProgramDatabaseFile=".\Release/spcm_repetition_test.pdb"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-				SuppressStartupBanner="true"
-				OutputFile=".\Release/spcm_repetition_test.bsc"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-			>
-			<File
-				RelativePath="spcm_repetition_test.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						PreprocessorDefinitions=""
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win32_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_win64_msvcpp.lib"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl"
-			>
-			<File
-				RelativePath="..\c_header\dlltyp.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\regs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcerr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\c_header\spcm_drv.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-			>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/Cpp/examples/c_cpp/test/spcm_repetition/spcm_repetition_test.vcxproj b/Cpp/examples/c_cpp/test/spcm_repetition/spcm_repetition_test.vcxproj
deleted file mode 100644
index ed790ac4c94fd7ea1b3c5f6ddf1bb3ecb0bdfe9f..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/spcm_repetition/spcm_repetition_test.vcxproj
+++ /dev/null
@@ -1,259 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{C0AE30CD-9A7F-494B-B181-5D1B36A48290}</ProjectGuid>
-    <RootNamespace>spcm_repetition_test</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <PlatformToolset>v140</PlatformToolset>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <OutDir>.\Debug\</OutDir>
-    <IntDir>.\Debug\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <OutDir>.\Release\</OutDir>
-    <IntDir>.\Release\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <OutDir>$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Debug/spcm_repetition_test.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/spcm_repetition_test.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>.\Debug/spcm_repetition_test.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/spcm_repetition_test.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/spcm_repetition_test.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <TypeLibraryName>.\Release/spcm_repetition_test.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/spcm_repetition_test.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>.\Release/spcm_repetition_test.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/spcm_repetition_test.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/spcm_repetition_test.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Debug/spcm_repetition_test.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderOutputFile>.\Debug/spcm_repetition_test.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
-      <ObjectFileName>.\Debug/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>.\Debug/spcm_repetition_test.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>.\Debug/spcm_repetition_test.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Debug/spcm_repetition_test.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-      <TypeLibraryName>.\Release/spcm_repetition_test.tlb</TypeLibraryName>
-      <HeaderFileName />
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <PrecompiledHeaderOutputFile>.\Release/spcm_repetition_test.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
-      <ObjectFileName>.\Release/</ObjectFileName>
-      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <OutputFile>.\Release/spcm_repetition_test.exe</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ProgramDatabaseFile>.\Release/spcm_repetition_test.pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-    <Bscmake>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <OutputFile>.\Release/spcm_repetition_test.bsc</OutputFile>
-    </Bscmake>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="spcm_repetition_test.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\..\c_header\spcm_win32_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </CustomBuild>
-    <CustomBuild Include="..\..\c_header\spcm_win64_msvcpp.lib">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-    </CustomBuild>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h" />
-    <ClInclude Include="..\c_header\regs.h" />
-    <ClInclude Include="..\c_header\spcerr.h" />
-    <ClInclude Include="..\c_header\spcm_drv.h" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/Cpp/examples/c_cpp/test/spcm_repetition/spcm_repetition_test.vcxproj.filters b/Cpp/examples/c_cpp/test/spcm_repetition/spcm_repetition_test.vcxproj.filters
deleted file mode 100644
index f1767d729d5575bd7db8f53d74e61bf723a47653..0000000000000000000000000000000000000000
--- a/Cpp/examples/c_cpp/test/spcm_repetition/spcm_repetition_test.vcxproj.filters
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="Source Files">
-      <UniqueIdentifier>{6f34ae90-2ae0-4796-ab0e-258a6f5f0e34}</UniqueIdentifier>
-      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
-    </Filter>
-    <Filter Include="Header Files">
-      <UniqueIdentifier>{935bea33-1c75-4abd-a4f4-8770e834930e}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl</Extensions>
-    </Filter>
-    <Filter Include="Resource Files">
-      <UniqueIdentifier>{2a1a6c38-8479-475c-8692-608a3a52c322}</UniqueIdentifier>
-      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="spcm_repetition_test.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\c_header\dlltyp.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\regs.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcerr.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\c_header\spcm_drv.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <CustomBuild Include="..\..\c_header\spcm_win32_msvcpp.lib">
-      <Filter>Source Files</Filter>
-    </CustomBuild>
-    <CustomBuild Include="..\..\c_header\spcm_win64_msvcpp.lib">
-      <Filter>Source Files</Filter>
-    </CustomBuild>
-  </ItemGroup>
-</Project>
\ No newline at end of file