Function
Retrieves the transfer position on sampling buffer.
Format
Ret = CntGetSamplingWritePointer ( Id , WritePointer , ScanCount , ScanCarry )
Parameters
Id
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
Specify the device ID retrieved from CntInit.
WritePointer
[ VB.NET: Integer ] [ C, C++: unsigned long * ] [ C#: out uint ] [ Python:
ctypes.POINTER(ctypes.c_ulong) ]
Specify the address of the variable that stores the returned transfer position.
ScanCount
[ VB.NET: Integer ] [ C, C++: unsigned long * ] [ C#: out uint ] [ Python:
ctypes.POINTER(ctypes.c_ulong) ]
Specify the address of the variable that stores the sampling count (scan
number).
ScanCarry
[ VB.NET: Integer ] [ C, C++: unsigned long * ] [ C#: out uint ] [ Python:
ctypes.POINTER(ctypes.c_ulong) ]
Specify the address of the variable that stores the carry count.
Return Value
Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]
Definition |
Value |
Description |
CNT_ERR_SUCCESS |
0 |
Normality completion |
CNT_ERR_SYS_RECOVERED_FROM_STANDBY |
7 |
Execute the function CntResetDevice to return from the standby mode. |
CNT_ERR_DLL_INVALID_ID |
10001 |
Invalid ID was specified. |
CNT_ERR_DLL_CALL_DRIVER |
10002 |
CNT driver can't be called (Failed in the device I/O control). |
CNT_ERR_DLL_BUFF_ADDRESS |
10101 |
Invalid data buffer address. |
CNT_ERR_SYS_MEMORY |
20000 |
It failed in memory allocation for the object preparation. |
CNT_ERR_SYS_NOT_SUPPORTED |
20001 |
This function can't be used by this device. |
CNT_ERR_SYS_USING_OTHER_PROCESS |
20003 |
Cannot use because another process is using the device. |
The others: (See also: Details of Error Code)
Initial Value
None
Remarks
It is possible to know
where data are written on the sampling buffer.
When both transfer count number and transfer position are 0, it indicates
the state that no data are transferred, therefore, the actual written
position is the previous value of the transfer count number retrieved
by this function.
And, the
sampling count is a 64-bit counter.
You can calculate 64bit value from ScanCount (Second argument) and ScanCarry
(Third argument).
ScanCarry is the higher 32-bit, ScanCount is the lower 32-bit.
After starting count,
the sampling number will be put into ScanCount.
ScanCarry will be increased (+1) and ScanCount is preset to zero(0) when
ScanCount is overflowed.
WritePointer, ScanCount
and ScanCarry are reset when you call CntResetDevice
or CntSamplingStart.
These are not reset when you call CntInit.
Example
Retrieves the transfer position on sampling buffer.
VB.NET |
Dim Ret As Integer |
C, C++ |
long Ret; |
C# |
int Ret; |
Python |
Ret = ctypes.c_long() |