« Close

Datasheets and User Guides

App Notes

Software & Driver

 

2.5.1 - GetHandleInfo

Returns details about a device handle, which is simply a connection ID to an active device.  

Syntax

LJM_ERROR_RETURN LJM_GetHandleInfo(
                      int Handle, 
                      int * DeviceType, 
                      int * ConnectionType,
                      int * SerialNumber, 
                      int * IPAddress, 
                      int * Port, 
                      int * MaxBytesPerMB)

Parameters

Handle [in]
A device handle. The handle is a connection ID for an active device. Generate a handle with LJM_Open or LJM_OpenS.
DeviceType [out]
The device type corresponding to a constant:
LJM_dtT7 (7) for T7 series device
LJM_dtDIGIT (200) for Digit series device
ConnectionType [out]
The connection type corresponding to a constant:
LJM_ctUSB (1) for USB
LJM_ctETHERNET (3) for Ethernet
LJM_ctWIFI (4) for WiFi
SerialNumber [out]
The serial number of the device.
IPAddress [out]
The integer representation of the device's IP address when ConnectionType is TCP-based. Unless ConnectionType is TCP-based, this will be LJM_NO_IP_ADDRESS. Note that this can be converted to a human-readable string with the LJM_NumberToIP function.
Port [out]
The port number when the device connection is TCP-based, or the pipe if the device connection is USB-based.
MaxBytesPerMB [out]
The maximum packet size in number of bytes that can be sent/received from this device. Note that this can change, depending on connection type and device type. This information is important if you are using the low-level functions, or when passing large arrays into other functions.

Returns

LJM errorcodes or 0 for no error.

Remarks

This function is useful to quickly see information about a device handle, such as the serial number, or maximum packet size. In the event that "ANY"-type parameters were used in opening, this function can be used to see which device was actually opened.

Examples

[C/C++] Retrieve information about a handle and print it.

int LJMError;
int portOrPipe, ipAddress, serialNumber, packetMaxBytes;
int deviceType = LJM_dtANY;
int connectionType = LJM_ctANY;
char string[LJM_STRING_ALLOCATION_SIZE];
char ipAddressString[LJM_IPv4_STRING_SIZE];

LJMError = LJM_GetHandleInfo(handle, &deviceType, &connectionType, &serialNumber, &ipAddress,
    &portOrPipe, &packetMaxBytes);
if (LJMError) {
    LJM_ErrorToString(LJMError, string);
    printf("LJM_GetHandleInfo error: %s (%d)\n", string, LJMError);
}
else {
    printf("deviceType: %d\n", deviceType);
    printf("connectionType: %d\n", connectionType);
    printf("serialNumber: %d\n", serialNumber);

    if (connectionType == LJM_ctETHERNET || connectionType == LJM_ctWIFI) {
        LJM_NumberToIP(ipAddress, ipAddressString);
        printf("IP address: %s\n", ipAddressString);
    }

    if (connectionType == LJM_ctUSB) {
        printf("pipe: %d\n", portOrPipe);
    }
    else {
        printf("port: %d\n", portOrPipe);
    }

    printf("The maximum number of bytes you can send to or receive from this device in one packet is %d bytes.\n",
        packetMaxBytes);
}