Partager via


CM_Add_Empty_Log_Conf, fonction (cfgmgr32.h)

La fonction CM_Add_Empty_Log_Conf crée une configuration logique vide, pour un type de configuration spécifié et un instance d’appareil spécifié, sur l’ordinateur local.

Syntaxe

CMAPI CONFIGRET CM_Add_Empty_Log_Conf(
  [out] PLOG_CONF plcLogConf,
  [in]  DEVINST   dnDevInst,
  [in]  PRIORITY  Priority,
  [in]  ULONG     ulFlags
);

Paramètres

[out] plcLogConf

Adresse d’un emplacement pour recevoir le handle dans une configuration logique vide.

[in] dnDevInst

Handle de instance d’appareil fourni par l’appelant qui est lié à l’ordinateur local.

[in] Priority

Valeur de priorité de configuration fournie par l’appelant. Il doit s’agir de l’une des valeurs constantes répertoriées dans le tableau suivant. Les constantes sont répertoriées dans l’ordre de priorité, du plus élevé au plus bas. (Pour plusieurs configurations avec la même valeur ulFlags , le système tente d’utiliser d’abord celle qui a la priorité la plus élevée.)

Constante de priorité Définition
LCPRI_FORCECONFIG Résultat d’une configuration forcée.
LCPRI_BOOTCONFIG Résultat d’une configuration de démarrage.
LCPRI_DESIRED Configuration préférée (meilleures performances).
LCPRI_NORMAL Configuration utilisable (performances acceptables).
LCPRI_LASTBESTCONFIG À usage interne uniquement.
LCPRI_SUBOPTIMAL Ce n’est pas une configuration souhaitable, mais elle fonctionnera.
LCPRI_LASTSOFTCONFIG À usage interne uniquement.
LCPRI_RESTART Le système doit être redémarré
LCPRI_REBOOT Le système doit être redémarré (identique à LCPRI_RESTART).
LCPRI_POWEROFF Le système doit être arrêté et mis hors tension.
LCPRI_HARDRECONFIG Un cavalier doit être modifié.
LCPRI_HARDWIRED La configuration ne peut pas être modifiée.
LCPRI_IMPOSSIBLE La configuration ne peut pas exister.
LCPRI_DISABLED Configuration désactivée.

[in] ulFlags

Indicateurs fournis par l’appelant qui spécifient le type de la configuration logique. L’un des indicateurs suivants doit être spécifié.

Indicateurs de type de configuration Définitions
BASIC_LOG_CONF Les descripteurs de ressources ajoutés à cette configuration décrivent une configuration de base.
FILTERED_LOG_CONF Ne pas utiliser. (Seul le gestionnaire PnP peut créer une configuration filtrée.)
ALLOC_LOG_CONF Ne pas utiliser. (Seul le gestionnaire PnP peut créer une configuration allouée.)
BOOT_LOG_CONF Les descripteurs de ressources ajoutés à cette configuration décrivent une configuration de démarrage.
FORCED_LOG_CONF Les descripteurs de ressources ajoutés à cette configuration décrivent une configuration forcée.
OVERRIDE_LOG_CONF Les descripteurs de ressources ajoutés à cette configuration décrivent une configuration de remplacement.
 

L’un des indicateurs de bits suivants peut être ORed avec l’indicateur de type de configuration.

Indicateurs de comparaison de priorité Définitions
PRIORITY_EQUAL_FIRST Si plusieurs configurations du même type (ulFlags) ont la même priorité (Priorité), cette configuration est placée en tête de la liste.
PRIORITY_EQUAL_LAST (Par défaut) Si plusieurs configurations du même type (ulFlags) ont la même priorité (Priorité), cette configuration est placée à la fin de la liste.

Valeur retournée

Si l’opération réussit, la fonction retourne CR_SUCCESS. Sinon, elle retourne l’un des codes d’erreur préfixés CR_ définis dans Cfgmgr32.h.

Note À compter de Windows 8, CM_Add_Empty_Log_Conf retourne CR_CALL_NOT_IMPLEMENTED lorsqu’il est utilisé dans un scénario Wow64. Pour demander des informations sur les ressources matérielles sur un ordinateur local, il est nécessaire d’implémenter une version native de l’architecture de l’application à l’aide des API de ressources matérielles. Par exemple : une application AMD64 pour les systèmes AMD64.
 

Remarques

L’appel de CM_Add_Empty_Log_Conf peut rendre les handles retournés par CM_Get_First_Log_Conf et CM_Get_Next_Log_Conf non valides. Par conséquent, si vous souhaitez obtenir des configurations logiques après avoir appelé CM_Add_Empty_Log_Conf, votre code doit appeler à nouveau CM_Get_First_Log_Conf et démarrer à la première configuration.

Pour supprimer une configuration logique créée par CM_Add_Empty_Log_Conf, appelez CM_Free_Log_Conf.

Le handle reçu dans plcLogConf doit être explicitement libéré en appelant CM_Free_Log_Conf_Handle.

Les appelants de cette fonction doivent avoir SeLoadDriverPrivilege. (Les privilèges sont décrits dans la documentation Microsoft Windows SDK.)

Pour plus d’informations sur l’utilisation de handles de instance d’appareil liés à l’ordinateur local, consultez CM_Get_Child.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Microsoft Windows 2000 et versions ultérieures de Windows.
Plateforme cible Desktop (Expérience utilisateur)
En-tête cfgmgr32.h (inclure Cfgmgr32.h)
Bibliothèque Cfgmgr32.lib
DLL Cfgmgr32.dll

Voir aussi

CM_Add_Empty_Log_Conf_Ex

CM_Free_Log_Conf

CM_Free_Log_Conf_Handle

CM_Get_Child

CM_Get_First_Log_Conf

CM_Get_Next_Log_Conf