共用方式為


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。 可能的值包括 (但不限於) 下表中的這些值。

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

備註

此 API 可讓用戶端覆寫 Windows Media 裝置管理員 的預設裝置列舉行為。

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

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

服務提供者必須接受DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES旗標才會生效。 儘管有此旗標,但某些裝置會列舉為每個記憶體的裝置。

規格需求

需求
目標平台 Windows
標頭 mswmdm.h
程式庫 Mssachlp.lib

另請參閱

IMDServiceProvider3 介面