Поделиться через


Включение PnP для устройств

Windows Media диспетчер устройств отслеживает уведомления о прибытии и удалении устройств, которые объявляют интерфейс устройства переносимого аудиопроигрывтеля. По прибытии такого устройства windows Media диспетчер устройств запрашивает параметр устройства с именем WMDMSPCLSID для идентификатора класса поставщика услуг, ответственного за это устройство. Windows Media диспетчер устройств вызывает IMDServiceProvider2::CreateDevice для этого поставщика служб, чтобы создать объект устройства, который предоставляется приложению в виде объекта IWMDMDevice.

Поставщик услуг может обрабатывать устройства PnP или устройства, отличные от PnP; он не может обрабатывать оба типа.

Чтобы устройство работало с указанным выше механизмом (и таким образом включить уведомления о прибытии и удалении устройства в windows Media диспетчер устройств приложениях), необходимо выполнить следующие требования:

  • Драйвер устройства этого устройства должен объявить интерфейс устройства Windows Media диспетчер устройств портативного аудиопроигрывтеля. Идентификатор GUID для этого интерфейса устройства определяется следующим образом:

    {0xf33fdc04, 0xd1ac, 0x4e8e, {0x9a, 0x30, 0x19, 0xbb, 0xd4, 0xb1, 0x8, 0xae} }
    

    Примечание

    Устройство не должно объявлять этот интерфейс, если оно объявляет интерфейс тома (определяется как VolumeClassGuid или GUID_DEVINTERFACE_VOLUME в winioctl.h). Если устройство объявляет интерфейс тома, оно уже включено PnP в windows Media диспетчер устройств.

     

    -AND/OR-

    В HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Media Device Manager\KnownDevices подраздела необходимо создать новый подраздел реестра для поставщика услуг. Этот ключ должен иметь имя поставщика услуг и две следующие записи Reg_SZ значений:

    DeviceInterface         {25DBCE51-6C8F-4A72-8A6D-B54C2B4FC835}
    WMDMSPCLSID             {067B4B81-B1EC-489F-B111-940EBDC44EBE}
    
  • Устройство должно иметь параметр устройства с именем WMDMSPCLSID. Значение этого параметра должно быть задано как CLSID поставщика услуг в строковой форме. Дополнительные сведения о параметрах устройства см. в разделе Параметры устройства.

    Примечание

    Значение параметра должно быть CLSID, а не ProgID поставщика услуг.

     

  • Поставщик услуг для этого устройства должен реализовать интерфейс IMDServiceProvider2.

  • Ключ поставщика услуг в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Media Device Manager\Plugins\SP\SPName должен содержать следующее значение DWORD.

    PnPAware    1
    

Создание поставщика услуг