Метод IWMDeviceManager3::SetDeviceEnumPreference (mswmdm.h)
Метод SetDeviceEnumPreference задает параметры перечисления устройств.
Синтаксис
HRESULT SetDeviceEnumPreference(
[in] DWORD dwEnumPref
);
Параметры
[in] dwEnumPref
Задает побитовую комбинацию ИЛИ одного или нескольких из следующих битовых значений, определяющих предпочтения перечисления. Каждый бит набора включает соответствующее расширенное поведение, тогда как отсутствие этого бита отключает расширенное поведение и задает поведение перечисления по умолчанию с обратной совместимостью. Возможные значения для fuPrefs приведены в следующей таблице.
Значение | Описание |
---|---|
DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES | По умолчанию для устройств, содержащих несколько носителей (например, несколько карт флэш-памяти), каждое из этих хранилищ перечисляется как отдельное псевдоустройство. Однако если этот флаг установлен, хранилища не отображаются как устройства, а только устройства отображаются как устройства. Дополнительные сведения см. в разделе "Примечания". |
ALLOW_OUTOFBAND_NOTIFICATION | Если этот флаг установлен, поставщик услуг может отправлять сведения о поступлении и удалении устройства с помощью дополнительного механизма, например с помощью сообщения окна, а также механизма по умолчанию для вызова любых интерфейсов IWMDMNotification , реализованных приложением. |
Возвращаемое значение
Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
Параметр fuPrefs указывает неподдерживаемое битовое значение. |
|
Метод был вызван после операции перечисления; его необходимо вызвать перед операцией перечисления. |
Комментарии
Этот метод предоставляет клиентам возможность переопределить поведение перечисления устройств по умолчанию в Windows Media диспетчер устройств. Чтобы переопределить поведение по умолчанию, клиентское приложение должно вызвать этот метод сразу после создания объекта диспетчера устройств, запросив интерфейс IWMDMDeviceManager3 из media диспетчер устройств. Вызов должен быть выполнен до выполнения какого-либо перечисления явным или неявным образом в результате другой операции.
После установки флага предпочтения его нельзя изменить на время существования приложения (а не только на время существования объекта диспетчер устройств Windows Media). Попытка изменить флаг предпочтения приведет к ошибке. Повторный вызов этого метода с теми же параметрами флага не возвращает ошибку, а также оказывает какое-либо влияние на перечисление.
Поставщик услуг может не учитывать флаг DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES. Более надежным способом определить, размещаются ли хранилища на одном устройстве, является вызов IWMDMDevice2::GetCanonicalName. Хранилища с того же устройства будут возвращать одинаковые значения, за исключением последней цифры после последнего символа "$".
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | mswmdm.h |