Я сделал нечто очень похожее на это на платформе .NET.Если у вас есть что-то уникальное для каждого соединения (например, IMEI подключаемого устройства, это можно сделать). У вас должна быть глобальная переменная двумерного массива с комбинацией ProcessID и IMEI.Поэтому, когда устройство отключено, а затем устройство повторно подключается, вы только ищете в этом массиве этот IMEI, и у вас есть процесс для этого устройства.Вы должны быть очень осторожны с этой глобальной переменной.
Отредактировано: я привел пример некоторого уникального идентификатора.В моем случае это был IMEI устройств.В вашем случае это может быть что-то еще, что, как вы знаете, уникально.Я должен был сделать это, потому что у меня была очень большая проблема с устройствами, разрывающими соединение.Каждое новое устройство было новым соединением, так что впоследствии у меня была очень большая загрузка процессора.