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。 可能的值包括 (但不限於) 下表中的這些值。
傳回碼 | 描述 |
---|---|
|
此方法已成功。 |
|
fuPrefs 參數會指定不支援的位值。 |
|
在列舉作業之後呼叫 方法;必須在列舉作業之前呼叫它。 |
備註
這個方法可讓用戶端覆寫 Windows 媒體 裝置管理員 的預設裝置列舉行為。 若要覆寫預設行為,用戶端應用程式必須在建立設備管理器對象之後立即呼叫此方法,方法是從 Media 裝置管理員 查詢 IWMDMDeviceManager3 介面。 在發生任何列舉之前,必須先進行呼叫,明確或隱含地做為另一個作業的結果。
設定喜好設定旗標之後,應用程式存留期就無法變更, (不只是 Windows Media 裝置管理員 物件的存留期) 。 嘗試變更喜好設定旗標會導致錯誤。 使用相同的旗標設定再次呼叫這個方法並不會傳回錯誤,而且也會對列舉有任何影響。
服務提供者可能不會接受DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES旗標。 判斷相同裝置是否裝載記憶體的更健全方式,就是呼叫 IWMDMDevice2::GetCanonicalName。 相同裝置的記憶體會傳回相同的值,但最後一個 “$” 字元後面的最後一個數位除外。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | mswmdm.h |