iWMDMStorage3::SetEnumPreference 方法 (mswmdm.h)
SetEnumPreference 方法设置存储的首选视图模式。
语法
HRESULT SetEnumPreference(
[in, out] WMDM_STORAGE_ENUM_MODE *pMode,
[in] DWORD nViews,
[in] WMDMMetadataView *pViews
);
参数
[in, out] pMode
存储枚举器的所需模式。 有关模式的更多详细信息,请参阅 WMDM_STORAGE_ENUM_MODE。 如果 pMode 的值设置为 ENUM_MODE_USE_DEVICE_PREF,则返回时,根据设备首选项将其设置为 ENUM_MODE_RAW 或 ENUM_MODE_METADATA_VIEWS。
[in] nViews
提供的视图定义数。
如果 pMode 的值ENUM_MODE_RAW或 pMode 的值ENUM_MODE_USE_DEVICE_PREF并且设备不喜欢元数据视图,则忽略此参数。
如果 pMode 的值ENUM_MODE_METADATA_VIEWS或 pMode 的值ENUM_MODE_USE_DEVICE_PREF且设备首选元数据视图,则此参数仍可以为 0。 在这种情况下,Windows Media 设备管理器使用其默认元数据视图。
如果 nViews 的值为 0, 则 ppViews 必须为 NULL。 如果 nViews 的值不为 0,则 ppViews 必须指向包含 nViews 元素的 WMDMMetadataView 结构的数组。
[in] pViews
视图定义的数组。 数组的长度必须等于 nViews。
如果 pMode 的值ENUM_MODE_RAW或 pMode 的值ENUM_MODE_USE_DEVICE_PREF并且设备不喜欢元数据视图,则忽略此参数。
如果 pMode 的值ENUM_MODE_METADATA_VIEWS或者 pMode 的值ENUM_MODE_USE_DEVICE_PREF并且设备首选元数据视图,则此参数仍可为 NULL。 在这种情况下,Windows Media 设备管理器使用其默认元数据视图。
如果 nViews 的值为 0,则此参数的值必须为 NULL。 如果 nViews 的值不为 0,则 ppViews 必须指向包含 nViews 元素的 WMDMMetadataView 结构的数组。
返回值
该方法返回 HRESULT。 下表列出了所有可能的值。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
内存不足,无法分配项。 |
|
一个或多个参数无效。 |
|
调用方没有执行此操作的权限。 |
|
对象不支持此方法。 |
|
发生了未指定的错误。 |
注解
Windows Media 设备管理器可以显示设备上内容的元数据视图。 它遍历顶级存储 ((如内部内存或存储卡) )上的所有内容,并返回一个存储枚举器,该枚举器显示按内容的元数据组织的内容。 元数据视图的定义通过 WMDMMetadataView 结构提供。
此行为由 pMode 参数控制。 如果 pMode 设置为 ENUM_MODE_RAW,Windows Media 设备管理器 将返回一个枚举器,该枚举器镜像设备存储上的文件系统层次结构。 如果 pMode 设置为 ENUM_MODE_METADATA_VIEWS,Windows Media 设备管理器 将生成元数据视图。
设备通过在安装设备时设置设备参数 UseMetadataViews 来指示其首选项。 有关 UseMetadataViews 的详细信息,请参阅 设备参数。 如果应用程序允许设备决定返回的存储枚举器类型,则应将 pMode 设置为ENUM_MODE_USE_DEVICE_PREF。
调用此方法后,以后对 IWMDMStorage::EnumStorage 的调用将按照此方法设置的存储枚举首选项的行为。 可以再次调用此方法来更改后续 IWMDMStorage::EnumStorage 调用的行为。
通常应在顶级存储上调用此方法。 如果在元数据视图中的任何存储上调用此方法,它将返回WMDM_E_NOTSUPPORTED。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | mswmdm.h |
Library | Mssachlp.lib |