IDTech Windows SDK Guide  3.2.4.393
API reference for Visual Studio .Net
Initialize Device:

A Singleton instance model is used to the class. Establish the callback, and then access the device through USB via the SharedController instance. Or, you can establish through Serial Port or IP if available for your device

public NEO2_Simple_Demo()
{
InitializeComponent();
IDT_NEO2.setCallbackIP(MessageCallBack);
IIDT_Device.startUSBMonitoring();; //connect via USB
// bool isConnected = IDT_NEO2.useSerialPort(1); //use serial port 1
// IDT_NEO2.ip_connectToSocket("10.0.1.1", false); //connect to socket 10.0.1.1, no TLS
}

Alternately, the IDTechSDK.dll library can be used to drive multiple IDTech Devices. If the plan is to use two or more devices, then the IDT_Device class should be used instead of the invidual device class. You can then tell the SDK what device to use, and then use the same code/API method for both devices:

public MultiDevice_Simple_Demo()
{
InitializeComponent();
IDT_Device.setCallback(MessageCallBack);
IDT_Device.startUSBMonitoring();
string firmwareVersion = "";
string SREDIdent = "39Y30259300";
string VP3300Ident = "20T4926526"
//Let's send command first to SREDKey2 using that device identifier
RETURN_CODE rt = IDT_Device.SharedController.device_getFirmwareVersion(ref firmwareVersion, SREDIdent);
//Let's now switch to the VP3300 using that device identifier
rt = IDT_Device.SharedController.device_getFirmwareVersion(ref firmwareVersion, VP3300Ident);
}

The SDK is driven by the commands in the IDT_Device class. This class has all the functions for many different ID Tech devices. As a result, there may be many functions that may not be applicable to your particular device. That is why we also provide the individual device class, like IDT_SREDKey2. When you use that individual device class, that acts as a filter of all the available commands that can be executed in the IDT_Device class. If you attempt to use an API method in IDT_Device class not intended for your particular device, either the SDK or the device FW will return an applicable error code as a response.