Работа с девайсами по VID/PID в Си

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Stalingrad, 8 Mar 2010.

  1. Stalingrad

    Stalingrad Elder - Старейшина

    Joined:
    17 Mar 2006
    Messages:
    49
    Likes Received:
    4
    Reputations:
    0
    Здрасте,мне надо написать небольшую программу которая при подключения устройства (и последующего определения в windows xp) будет отключать его по VID/PID (VEN/DEV) или любыми другими способами.В моем случае "пациентом" для отключения является Веб-Камера которая подключается по USB.

    Программа должна постоянно работать (чтобы нельзя было подключить веб-камеру и пользоватся ею ),значит по моим предположениям она должна действовать так :
    Она загрузится с Windows,и будет смотреть если есть девайс с таким то PID/VID к примеру каждые 5 сек. , если есть то отключать.
    В С++ я нашел вот эти функций/контрол коды :
    DeviceIoControl
    IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER Control Code
    FSCTL_DISMOUNT_VOLUME Control Code

    Я в С++ не шарю,знаю Си средне (тоесть смогу понять если поможите), в первом котнтрол коде все ясно,получу серийный номер Веб-Камеры, дальше чтобы ее отключить,второй контрол код неподойдет так как веб камера не "volume", Посоветуйте куда копать дальше пожалуйста :confused: .
     
  2. gold-goblin

    gold-goblin Elder - Старейшина

    Joined:
    26 Mar 2007
    Messages:
    917
    Likes Received:
    174
    Reputations:
    3
    Вебка работает со стандартными вин драйверами или для нее нужны свои?
    И в каком смысле отключить? Чтоб ее не видели другие проги или питание?
     
  3. Stalingrad

    Stalingrad Elder - Старейшина

    Joined:
    17 Mar 2006
    Messages:
    49
    Likes Received:
    4
    Reputations:
    0
    Вебка со стандартнами Win драйверами, отключить в смысле чтобы ею нельзя было воспользоваться,а как мне не важно,можно и питание выключить ,и в диспетчере устройств (только пользователь полезет включать туда,значит придется чтобы прога бесконечно отключала оттуда,наверно это нерационально),вообще это все делается чтобы нельзя было работать камере в Skype / Yahoo Messenger (и так далее подобным) , но желательно имитировать что камера просто неработает при подключений( тоесть ее не видно)
     
  4. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Может проще отключить usb порт? ( http://www.gohacking.com/2009/07/creating-a-virus-to-disable-usb-ports.html )
    А так:
    http://www.generation-nt.com/us/disable-enable-usb-device-help-27432582.html
     
    _________________________
  5. Stalingrad

    Stalingrad Elder - Старейшина

    Joined:
    17 Mar 2006
    Messages:
    49
    Likes Received:
    4
    Reputations:
    0
    Нет,USB порты должны работать (тоесть флэшки и прочие устройства должны определятся и работать нормально).Насчет второй ссылки то там надо почитать мне каждую функцию что делает,так сразу непонятно.