Partager via


IWMDeviceManager3 ::SetDeviceEnumPreference, méthode (mswmdm.h)

La méthode SetDeviceEnumPreference définit les préférences d’énumération des appareils.

Syntaxe

HRESULT SetDeviceEnumPreference(
  [in] DWORD dwEnumPref
);

Paramètres

[in] dwEnumPref

Spécifie une combinaison OR au niveau du bit d’une ou plusieurs des valeurs de bits suivantes qui spécifient la préférence d’énumération. Chaque bit défini active le comportement étendu correspondant, tandis que l’absence de ce bit désactive le comportement étendu et spécifie le comportement d’énumération par défaut à compatibilité descendante. Les valeurs possibles pour fuPrefs sont fournies dans le tableau suivant.

Valeur Description
DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES Par défaut, pour les appareils contenant plusieurs supports de stockage (par exemple, plusieurs cartes mémoire flash), chacun de ces stockages est énuméré sous la forme d’un pseudo-appareil distinct. Toutefois, lorsque cet indicateur est défini, les stockages ne sont pas visibles en tant qu’appareils, et seuls les appareils sont visibles en tant qu’appareils. Pour plus d'informations, consultez la section Notes.
ALLOW_OUTOFBAND_NOTIFICATION Lorsque cet indicateur est défini, le fournisseur de services peut envoyer l’arrivée et la suppression de l’appareil à l’aide d’un mécanisme supplémentaire, par exemple à l’aide d’un message de fenêtre, ainsi que du mécanisme par défaut d’appel des interfaces IWMDMNotification implémentées par l’application.

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.

Code de retour Description
S_OK
S_OK
E_INVALIDARG
Le paramètre fuPrefs spécifie une valeur de bit non prise en charge.
WMDM_E_CALL_OUT_OF_SEQUENCE
La méthode a été appelée après une opération d’énumération ; il doit être appelé avant l’opération d’énumération.

Remarques

Cette méthode permet aux clients de remplacer le comportement d’énumération d’appareil par défaut de Windows Media Gestionnaire de périphériques. Pour remplacer le comportement par défaut, l’application cliente doit appeler cette méthode immédiatement après avoir créé l’objet device manager en interrogeant l’interface IWMDMDeviceManager3 à partir de Media Gestionnaire de périphériques. L’appel doit être effectué avant qu’une énumération ne se produise, explicitement ou implicitement à la suite d’une autre opération.

Une fois qu’un indicateur de préférence est défini, il ne peut pas être modifié pendant la durée de vie de l’application (pas seulement la durée de vie de l’objet Gestionnaire de périphériques Windows Media). Toute tentative de modification d’un indicateur de préférence génère une erreur. L’appel de cette méthode à nouveau avec les mêmes paramètres d’indicateur ne retourne pas d’erreur et n’a aucun effet sur l’énumération.

Le fournisseur de services peut ne pas respecter l’indicateur DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES. Un moyen plus robuste de déterminer si les stockages sont hébergés par le même appareil consiste à appeler IWMDMDevice2 ::GetCanonicalName. Les stockages du même appareil retournent des valeurs identiques, à l’exception du dernier chiffre après le dernier caractère « $ ».

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête mswmdm.h

Voir aussi

IWMDMDevice2 ::GetCanonicalName