# NeoDevice Structure

A structure used by [FindNeoDevices](/neovi-api/win32-api-overview-intrepidcs-api/deprecated-functions-overview-intrepidcs-api/findneodevices-method-intrepidcs-api.md) and [OpenNeoDevice](/neovi-api/win32-api-overview-intrepidcs-api/basic-functions-overview-intrepidcs-api/openneodevice-method-intrepidcs-api.md) 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](/neovi-api/win32-api-overview-intrepidcs-api/deprecated-functions-overview-intrepidcs-api/findneodevices-method-intrepidcs-api.md). Then the structure is used by [OpenNeoDevice](/neovi-api/win32-api-overview-intrepidcs-api/basic-functions-overview-intrepidcs-api/openneodevice-method-intrepidcs-api.md) 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                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.intrepidcs.com/neovi-api/win32-api-overview-intrepidcs-api/structures-types-and-defines-overview-intrepidcs-api/setting-structures-overview-intrepidcs-api/neodevice-structure.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
