# NeoDevice Structure

A structure used by [FindNeoDevices](https://docs.intrepidcs.com/neovi-api/win32-api-overview-intrepidcs-api/deprecated-functions-overview-intrepidcs-api/findneodevices-method-intrepidcs-api) and [OpenNeoDevice](https://docs.intrepidcs.com/neovi-api/win32-api-overview-intrepidcs-api/basic-functions-overview-intrepidcs-api/openneodevice-method-intrepidcs-api) to locate and open neoVI devices.

{% tabs %}
{% tab title="C/C++ Declare" %}

```cpp
typedef struct
{
    unsigned long DeviceType;
    int Handle;
    int NumberOfClients;
    int SerialNumber;
    int MaxAllowedClients;
}NeoDevice;
```

{% endtab %}

{% tab title="Visual Basic .NET Declare" %}

```vbnet
'//Structure for neoVI device types
Public Structure NeoDevice
    Dim DeviceType As Int32
    Dim Handle As Int32
    Dim NumberOfClients As Int32
    Dim SerialNumber As Int32
    Dim MaxAllowedClients As Int32
End Structure
```

{% endtab %}

{% tab title="C# Declares" %}

```csharp
[StructLayout(LayoutKind.Sequential)]
public struct NeoDevice
{
    public Int32 DeviceType;
    public Int32 Handle;
    public Int32 NumberOfClients;
    public Int32 SerialNumber;
    public Int32 MaxAllowedClients;
}
```

{% endtab %}
{% endtabs %}

**Remarks**

Instances of this structure are initialized and set by calling [FindNeoDevices](https://docs.intrepidcs.com/neovi-api/win32-api-overview-intrepidcs-api/deprecated-functions-overview-intrepidcs-api/findneodevices-method-intrepidcs-api). Then the structure is used by [OpenNeoDevice](https://docs.intrepidcs.com/neovi-api/win32-api-overview-intrepidcs-api/basic-functions-overview-intrepidcs-api/openneodevice-method-intrepidcs-api) to make a physical connection to a neoVI device.

| Item            | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| DeviceType      | <p>A bit-wise field that indicates the type of neoVI device that the structure represents. The currently supported types are :</p><p>NEODEVICE\_BLUE = 1</p><p>NEODEVICE\_DW\_VCAN = 4</p><p>NEODEVICE\_VCAN41 = 7</p><p>NEODEVICE\_FIRE = 8</p><p>NEODEVICE\_VCAN3 = 16</p><p>NEODEVICE\_RED = 64</p><p>NEODEVICE\_ECU = 128</p><p>NEODEVICE\_IEVB = 256</p><p>NEODEVICE\_PENDANT = 512</p><p>NEODEVICE\_PLASMA = \&H31000</p><p>NEODEVICE\_FIRE\_VNET = \&H2000</p><p>NEODEVICE\_NEOANALOG = \&H4000</p><p>NEODEVICE\_ION = \&H140000</p><p>NEODEVICE\_VCANFD = \&H200000</p><p>NEODEVICE\_VCAN42 = \&H400000</p><p>NEODEVICE\_EEVB = \&H1000000</p><p>NEODEVICE\_VCANRF = \&H2000000</p><p>NEODEVICE\_FIRE2 = \&H4000000</p><p>NEODEVICE\_FLEX = \&H8000000</p><p>NEODEVICE\_RADGALAXY = \&H10000000</p><p>NEODEVICE\_RADSTAR2 = \&H20000000</p><p>NEODEVICE\_OBD2\_SIM = \&H80000000</p><p>NEODEVICE\_ALL = \&HFFFFBFFF</p> |
| Handle          | The device handle used by the API for opening a neoVI device                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| NumberOfClients | Reserved for future use                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| SerialNumber    | Serial number of the neoVI device                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| MaxAllowClients | Reserved for future use                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
