共用方式為


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。 下表列出所有可能的值。

傳回碼 描述
S_OK
此方法已成功。
E_OUTOFMEMORY
記憶體不足,無法配置專案。
E_INVALIDARG
一或多個參數無效。
WMDM_E_NOT_CERTIFIED
呼叫端沒有執行這項作業的許可權。
WMDM_E_NOTSUPPORTED
物件不支援這個方法。
E_FAIL
發生未指定的錯誤。

備註

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

另請參閱

IWMDMMetaData 介面

IWMDMStorage 介面

IWMDMStorage::EnumStorage

WMDMMetadataView