Я не знаю ни одного способа сделать это из пользовательского пространства, и даже внутри ядра это может быть сложно: я думаю, что вам нужно будет установить фиктивный драйвер I / O Kit, который соответствует всем USB-устройствам и / или интерфейсы. Это может быть сложно, так как существующие драйверы будут иметь приоритет, поэтому вам придется обойти это. После сопоставления вы проверите порт в методе драйвера probe()
и вернете true, если это был один из запрещенных портов. Это помешает другим драйверам захватить устройство, что по существу отключит его.