共用方式為


IWMDeviceManager3::SetDeviceEnumPreference 方法 (mswmdm.h)

SetDeviceEnumPreference 方法會設定裝置列舉喜好設定。

語法

HRESULT SetDeviceEnumPreference(
  [in] DWORD dwEnumPref
);

參數

[in] dwEnumPref

指定指定列舉喜好設定之一或多個下列位值的位 OR 組合。 每個設定位都會啟用對應的擴充行為,而沒有該位會停用擴充行為,並指定預設的回溯相容列舉行為。 下表提供 fuPrefs 的可能值。

Description
DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES 根據預設,針對包含多個儲存媒體的裝置 (例如,多個快閃記憶卡) ,這些記憶體都會列舉為個別的虛擬裝置。 不過,設定此旗標時,記憶體不會顯示為裝置,而且只有裝置會顯示為裝置。 如需詳細資訊,請參閱「備註」。
ALLOW_OUTOFBAND_NOTIFICATION 設定此旗標時,服務提供者可以透過其他機制傳送裝置抵達和移除,例如使用視窗訊息,以及呼叫任何應用程式實作 IWMDMNotification 介面的默認機制。

傳回值

方法會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。

傳回碼 描述
S_OK
此方法已成功。
E_INVALIDARG
fuPrefs 參數會指定不支援的位值。
WMDM_E_CALL_OUT_OF_SEQUENCE
在列舉作業之後呼叫 方法;必須在列舉作業之前呼叫它。

備註

這個方法可讓用戶端覆寫 Windows 媒體 裝置管理員 的預設裝置列舉行為。 若要覆寫預設行為,用戶端應用程式必須在建立設備管理器對象之後立即呼叫此方法,方法是從 Media 裝置管理員 查詢 IWMDMDeviceManager3 介面。 在發生任何列舉之前,必須先進行呼叫,明確或隱含地做為另一個作業的結果。

設定喜好設定旗標之後,應用程式存留期就無法變更, (不只是 Windows Media 裝置管理員 物件的存留期) 。 嘗試變更喜好設定旗標會導致錯誤。 使用相同的旗標設定再次呼叫這個方法並不會傳回錯誤,而且也會對列舉有任何影響。

服務提供者可能不會接受DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES旗標。 判斷相同裝置是否裝載記憶體的更健全方式,就是呼叫 IWMDMDevice2::GetCanonicalName。 相同裝置的記憶體會傳回相同的值,但最後一個 “$” 字元後面的最後一個數位除外。

規格需求

需求
目標平台 Windows
標頭 mswmdm.h

另請參閱

IWMDMDevice2::GetCanonicalName