在 Windows 资源管理器中显示可移植音频播放器的要求
可移植音频播放器 shell 命名空间扩展为 Windows 用户提供一致的方式来管理由 Windows Media 设备管理器管理的音频设备。 如果根据以下准则创作服务提供商和驱动程序组件,则设备将显示在 shell 命名空间中。 用户将能够以一致的方式在 Windows 资源管理器中与设备的内容进行交互,以执行基本操作,例如复制、删除和重命名。
以下针对服务提供商和驱动程序组件的 shell 要求旨在补充常规 Windows Media 设备管理器准则。
设备功能
Windows Media 设备管理器 服务提供商应明确其支持的功能。 如果不支持调用,则必须返回错误代码。 对于从以下函数返回时是否存在功能,必须设置相应的字段:
服务提供商必须支持以下功能才能与 shell 兼容:
- 复制到支持取消和进度回调的设备 ()
- 从支持取消和进度回调的设备 (中删除文件)
- 重命名设备上的文件
- 空间报告 (总空间、可用空间、不可用空间)
- 即插即用 (请参阅为设备启用 PnP)
- 格式 (最好支持取消和进度回调)
如果支持元数据,则单个文件必须支持以下字段。 如果没有可用数据,则应将 字段初始化为空字符串:
字段 | WMDM.idl) 中定义的常量 ( | 元数据标记 |
---|---|---|
歌曲标题 | g_wszWMDMTitle | WMDM/Title |
曲目编号 | g_wszWMDMTrack | WMDM/Track |
艺术家 | g_wszWMDMAuthor | WMDM/Author |
相册: | g_wszWMDMAlbumTitle | WMDM/AlbumTitle |
Year | g_wszWMDMYear | WMDM/年 |
流派 | g_wszWMDMGenre | WMDM/Genre |
并发
Windows Media 设备管理器的内核模式驱动程序在处理并发访问时需要可靠。 例如,用户可以通过 shell 和媒体播放器或仅通过 shell 中的多个窗口同时访问设备。 作为处理并发的一部分,驱动程序不应仅仅因为加载了服务提供程序就假定设备正在使用中。 相反,它们应实现锁定机制,以便根据单个操作的需要序列化对设备的访问。
UI
Windows Media 设备管理器的服务提供商不应显示任何用户界面。 应尽可能从方法调用返回任何错误,作为特定的 Windows Media 设备管理器错误代码。
在 Shell 中启用
如果包满足所有 shell 要求,则可以通过在设备参数下将 ShowInShell 值设置为 1,使设备显示在 shell 中。 有关详细信息,请参阅 设备参数。
相关主题