IMDServiceProvider3::SetDeviceEnumPreference 方法 (mswmdm.h)
SetDeviceEnumPreference 方法會設定裝置列舉喜好設定。
語法
HRESULT SetDeviceEnumPreference(
[in] DWORD dwEnumPref
);
參數
[in] dwEnumPref
包含指定列舉喜好設定之一或多個下列位值的位 OR 組合。 每個設定位都會啟用對應的擴充行為,而沒有該位會停用擴充行為,並指定預設的回溯相容列舉行為。 下表提供 dwEnumPref 的可能值。
值 | Description |
---|---|
DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES | 根據預設,針對包含多個儲存媒體的裝置,這些記憶體都會列舉為個別的虛擬設備。 不過,當設定此位時,記憶體不會顯示為裝置,而且只有裝置會顯示為裝置。 |
ALLOW_OUTOFBAND_NOTIFICATION | 根據預設, IWMDMNotification 回呼機制會提供裝置抵達和移除事件的應用程式。 設定此位時,服務提供者可以透過個別的機制通知應用程式,例如使用視窗訊息。 此行為除了 Windows 媒體 裝置管理員 通知之外。 此旗標不會隱藏 Windows 媒體 裝置管理員 通知。 |
傳回值
方法會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。
傳回碼 | 描述 |
---|---|
|
此方法已成功。 |
|
dwEnumPref 參數包含不支援的位值。 |
|
在列舉作業之後呼叫 方法。 必須在列舉作業之前呼叫它。 |
備註
此 API 可讓用戶端覆寫 Windows Media 裝置管理員 的預設裝置列舉行為。
用戶端應用程式必須在建立設備管理器對象之後立即呼叫此方法,方法是從 Windows Media 裝置管理員 查詢 IWMDeviceManager 介面。 在發生任何列舉之前,必須先進行呼叫,明確或隱含地做為另一個作業的結果。
設定喜好設定旗標之後,應用程式存留期就無法變更, (不只是 Windows Media 裝置管理員 物件的存留期) 。 嘗試變更喜好設定旗標會導致錯誤。 使用相同的旗標設定再次呼叫此 API 不會傳回錯誤,而且也會對列舉有任何影響。
服務提供者必須接受DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES旗標才會生效。 儘管有此旗標,但某些裝置會列舉為每個記憶體的裝置。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | mswmdm.h |
程式庫 | Mssachlp.lib |