PnP!!!!

Discussion in 'WASM.WIN32' started by AS25, Apr 3, 2006.

  1. AS25

    AS25 New Member

    Blog Posts:
    0
    Joined:
    Apr 2, 2006
    Messages:
    28
    Location:
    Russia
    Простите что беспокою с глупыми вопросами.

    Как получить пользовательскому прилажению символьную ссылку для дальнейшего использования в CreateFile если эту ссылку дает менеджер PnP в функции драйвера AddDevice?
     
  2. grspectre

    grspectre New Member

    Blog Posts:
    0
    Joined:
    Apr 3, 2006
    Messages:
    4
    Location:
    Russia
    Эту ссылку дает не пнп менеджер а создаешь сам с помошью

    IoCreateSymbolicLink в выше упомянутой функции драйвера
     
  3. AS25

    AS25 New Member

    Blog Posts:
    0
    Joined:
    Apr 2, 2006
    Messages:
    28
    Location:
    Russia
    Да когда жеско зауши драйвер притягиваешь то и без PnP можно обойтись но пошорошему надо получать ссылку через интерфейс. Потмучто дрйвер может быть один а таких устройств куча (к примеру у PCI или USB шины). И как ты им ссылки будешь давать типа PCI\MyDevice1, PCI\MyDevice2, PCI\MyDevice3.... Для этого люди из Мелкософта интерфейс придумали и функцию IoRegisterDeviceInterface(PDEVICE_OBJECT, PINTERFACE_GUID, PNAME_INTERFACE, PSYMBOLIC_LINK) так эта функция в последнем параметре оставляет символьную ссылку на новое устройство. Вопрос как получить эту ссылку в приложении пользователя если придумал ее не я?
     
  4. Kola

    Kola New Member

    Blog Posts:
    0
    Joined:
    Jun 23, 2004
    Messages:
    69
    ты должен знать GUI интерфейса



    SetupDiGetClassDevs - получишь HDEVINFO

    SetupDiEnumDeviceInterfaces - получишь SP_DEVICE_INTERFACE_DATA

    SetupDiGetDeviceInterfaceDetail - SP_DEVICE_INTERFACE_DETAIL_DATA



    SP_DEVICE_INTERFACE_DETAIL_DATA::lol: evicePath - это то что тебе нужно
     
  5. AS25

    AS25 New Member

    Blog Posts:
    0
    Joined:
    Apr 2, 2006
    Messages:
    28
    Location:
    Russia
    Kola БОЛЬШОЕ ЧЕЛОВЕЧЕКОЕ СПАСИБО!!!