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 裝置管理員 會產生元數據檢視。
裝置會在安裝裝置時設定 Device 參數 UseMetadataViews 來指出其喜好設定。 如需 UseMetadataViews的詳細資訊,請參閱 裝置參數。 如果應用程式讓裝置決定傳回的記憶體列舉值類型,它應該將 pMode 設定為 ENUM_MODE_USE_DEVICE_PREF。
呼叫此方法之後,稍後呼叫 IWMDMStorage::EnumStorage 會根據此方法所設定的記憶體列舉喜好設定來運作。 您可以再次呼叫這個方法,以變更後續 IWMDMStorage::EnumStorage 呼叫的行為。
此方法通常應該在最上層記憶體上呼叫。 如果在元數據檢視中的任何記憶體上呼叫此方法,則會傳回WMDM_E_NOTSUPPORTED。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | mswmdm.h |
程式庫 | Mssachlp.lib |