GetHandleInfo [LJM User's Guide]
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_dtT4
(4
) for T4 series device
LJM_dtT7
(7
) for T7 series device
LJM_dtT8
(8
) for T8 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.
This function does not perform device I/O.
Example
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);
}