为设备启用 PnP

Windows Media 设备管理器监视播发可移植音频播放器设备接口的设备到达和删除通知。 在此类设备到达时,Windows Media 设备管理器查询名为 WMDMSPCLSID 的设备参数,以获取负责此设备的服务提供商的类 ID。 Windows Media 设备管理器在此服务提供程序上调用 IMDServiceProvider2::CreateDevice 来创建设备对象,该对象作为 IWMDMDevice 对象公开给应用程序。

服务提供商可以处理 PnP 设备或非 PnP 设备;它无法处理这两种类型。

若要使设备使用上述机制 (,从而在 Windows Media 设备管理器 应用程序) 下启用设备的到达和删除通知,必须满足以下要求:

  • 此设备的设备驱动程序必须播发 Windows Media 设备管理器便携式音频播放器设备接口。 此设备接口的 GUID 定义为:

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

    注意

    如果设备播发卷接口 (定义为 VolumeClassGuid 或在 winioctl.h) 中GUID_DEVINTERFACE_VOLUME,则设备不应播发此接口。 如果设备播发卷接口,则它已在 Windows Media 设备管理器下启用了 PnP。

     

    -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
    

创建服务提供商