Program IDentificator – это условная группа приложений, которые работают синхронно в одной связке, передавая данные между собой. Это т.н. интерактивный режим работы.
Он нужен для идентификации программы или группы программ. Например, наша станция ретранслирует канал А, и надо на время (по метке или по времени) выключить основной канал А и включить канал B.
Разберём на примере.
Одна копия программы CastPlayer настроена на канал А, вторая, запущенная из другой папки, на канал В.
Управляющая программа опрашивает процессы, запущенные в системе. Процесс сообщает, какой PID он использует и управляющая программа будет передавать ему команды, которые предназначены только этому приложению (или группе программ с одинаковым PID).
Т.о. управляющая программа может заглушить (остановить) канал A, и включить громкость (запустить) канал B.
Конечно, если каждая копия программы используется только в одном экземпляре, то PID указывается 1. Каждая программа имеет свой тип класса.
Пояснение примером, работы в группе.
Станция использует источник 1: стандартный линейный вход с управлением микшером звуковой карты (SE_AudioMixer), а также использует тюнер ComStream ABR, получаемый данные через Com-порт (SE_ABR).
Для резерва используется источник 2: Интернет-поток (SE_CastPlayer).
В данном случае можно всем указать PID = 1, т.к. SE_CastPlayer не используется в группе Источника 1.
И еще одно назначение PID-а. (Как всегда, самое главное в конце)
Если запущено несколько экземпляров управляющей программы (Студии) и для каждой свой SECastPlayer, то необходимо для каждой Студии указать каким SECastPlayer-ом она будет управлять и принимать от него данные.
То есть в Студии источник SECastPlayer c PID = 2, в SECastPlayer интерактивный режим, PID = 2.
В другом экземпляре Студии необходимо указать другой PID, чтобы вторая Студия не управляла SECastPlayer-ом, который работает с первым экземпляром Студии.