Compartir a través de


Método IWMDeviceManager3::SetDeviceEnumPreference (mswmdm.h)

El método SetDeviceEnumPreference establece las preferencias de enumeración de dispositivos.

Sintaxis

HRESULT SetDeviceEnumPreference(
  [in] DWORD dwEnumPref
);

Parámetros

[in] dwEnumPref

Especifica una combinación OR bit a bit de uno o varios de los valores de bits siguientes que especifican la preferencia de enumeración. Cada bit establecido habilita el comportamiento extendido correspondiente, mientras que la ausencia de ese bit deshabilita el comportamiento extendido y especifica el comportamiento predeterminado de enumeración compatible con versiones anteriores. Los valores posibles para fuPrefs se proporcionan en la tabla siguiente.

Valor Descripción
DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES De forma predeterminada, para los dispositivos que contienen varios medios de almacenamiento (por ejemplo, varias tarjetas de memoria flash), cada uno de estos almacenamientos enumera como un pseudodispositivo independiente. Sin embargo, cuando se establece esta marca, los almacenamientos no son visibles como dispositivos y solo los dispositivos son visibles como dispositivos. Vea Comentarios para obtener más información.
ALLOW_OUTOFBAND_NOTIFICATION Cuando se establece esta marca, el proveedor de servicios puede enviar la llegada y eliminación del dispositivo mediante un mecanismo adicional, como mediante un mensaje de ventana, así como el mecanismo predeterminado de llamar a cualquier interfaz IWMDMNotification implementada por la aplicación.

Valor devuelto

El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.

Código devuelto Descripción
S_OK
El método se ha llevado a cabo de forma correcta.
E_INVALIDARG
El parámetro fuPrefs especifica un valor de bit no admitido.
WMDM_E_CALL_OUT_OF_SEQUENCE
Se llamó al método después de una operación de enumeración; se debe llamar antes de la operación de enumeración.

Comentarios

Este método proporciona a los clientes la capacidad de invalidar el comportamiento predeterminado de enumeración de dispositivos de Windows Media Administrador de dispositivos. Para invalidar el comportamiento predeterminado, la aplicación cliente debe llamar a este método inmediatamente después de crear el objeto de administrador de dispositivos consultando la interfaz IWMDMDeviceManager3 desde media Administrador de dispositivos. La llamada se debe realizar antes de que se produzca cualquier enumeración, ya sea explícita o implícitamente como resultado de otra operación.

Después de establecer una marca de preferencia, no se puede cambiar durante la vigencia de la aplicación (no solo la duración del objeto de windows Media Administrador de dispositivos). Si se intenta cambiar una marca de preferencia, se producirá un error. Llamar de nuevo a este método con la misma configuración de marca no devuelve un error y también tiene ningún efecto en la enumeración.

Es posible que el proveedor de servicios no respete la marca DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES. Una manera más sólida de determinar si los almacenamientos están hospedados por el mismo dispositivo es llamar a IWMDMDevice2::GetCanonicalName. Los almacenamientos del mismo dispositivo devolverán valores idénticos, excepto el dígito final después del último carácter "$".

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado mswmdm.h

Consulte también

IWMDMDevice2::GetCanonicalName