Partager via


MÉTHODE IMDServiceProvider3 ::SetDeviceEnumPreference (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

Contient une combinaison de bits OU 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 dwEnumPref 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, chacun de ces stockages est énuméré sous la forme d’un pseudo-appareil distinct. Toutefois, lorsque ce bit est défini, les stockages ne sont pas visibles en tant qu’appareils, et seuls les appareils sont visibles en tant qu’appareils.
ALLOW_OUTOFBAND_NOTIFICATION Par défaut, le mécanisme de rappel IWMDMNotification fournit aux applications des événements d’arrivée et de suppression des appareils. Lorsque ce bit est défini, le fournisseur de services est libre de notifier l’application par un mécanisme distinct, par exemple à l’aide d’un message de fenêtre. Ce comportement s’ajoute aux notifications windows Media Gestionnaire de périphériques. Cet indicateur ne supprime pas les notifications de Gestionnaire de périphériques Windows Media.

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 dwEnumPref contient 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 API offre aux clients la possibilité de remplacer le comportement d’énumération d’appareil par défaut de Windows Media Gestionnaire de périphériques.

Les applications clientes doivent appeler cette méthode immédiatement après avoir créé l’objet gestionnaire de périphériques en interrogeant l’interface IWMDeviceManager à partir de Windows 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 API à nouveau avec les mêmes paramètres d’indicateur ne retourne pas d’erreur et n’a aucun effet sur l’énumération.

L’indicateur DO_NOT_VIRTUALIZE_STORAGES_AS_DEVICES doit être respecté par le fournisseur de services pour prendre effet. Il est possible que, malgré cet indicateur, certains appareils soient énumérés en tant qu’appareil par stockage.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête mswmdm.h
Bibliothèque Mssachlp.lib

Voir aussi

IMDServiceProvider3 Interface