<< Click to Display Table of Contents >> Navigation: NmxDLL Reference Guide > API (programming interface) > Connection Handle |
The NMX DLL allows having multiple connections to different devices, even though in most applications one connection to one device is used.
In order to distinguish between multiple connections, a unique handle is assigned for each of them by the NMX DLL.
Technically spoken, a handle is nothing else than a pointer to an address space managed by the NMX DLL. This is a common programming technique.
The pointer itself resides outside the NMX DLL in the user application. It is assigned if a connection has been established successfully (see NMX_DeviceIPv4Open_1). It is then used in almost every DLL function, to identify the relevant connection. It is deleted by closing the connection (see NMX_DeviceClose_1).
The Handle has the following type definition (C-Code):
typedef void* NMX_PHANDLE;
For each connection a handle must be declared. In case only one connection is used, the declaration looks as follows:
NMX_PHANDLE pHandle = NULL;
Note for the .Net DLL: Using the .Net DLL, the handle uses the type System::IntPtr. The basic concept is the same. In case only one connection is used, the declaration in C# looks as follows:
IntPtr pDevice = IntPtr.Zero;
Further information, if you use multiple connections / handles:
Inside the NMX DLL, each connection / handle has its own memory and its own communication tasks. Talking in object orientated programming, a separate object is created for each handle.
If notifications are used, these must be registered for each handle separately.