Partager via


fonction CM_Get_Class_Registry_PropertyW (cfgmgr32.h)

La fonction CM_Get_Class_Registry_Property récupère une propriété de classe d’installation d’appareil.

Syntaxe

CMAPI CONFIGRET CM_Get_Class_Registry_PropertyW(
  [in]            LPGUID   ClassGuid,
  [in]            ULONG    ulProperty,
  [out, optional] PULONG   pulRegDataType,
  [out]           PVOID    Buffer,
  [in, out]       PULONG   pulLength,
  [in]            ULONG    ulFlags,
  [in, optional]  HMACHINE hMachine
);

Paramètres

[in] ClassGuid

Pointeur vers le GUID qui représente la classe d’installation de l’appareil pour laquelle récupérer une propriété.

[in] ulProperty

Valeur de type ULONG qui identifie la propriété à récupérer. Cette valeur doit être l’une des valeurs CM_CRP_Xxx suivantes définies dans Cfgmgr32.h :

CM_CRP_UPPERFILTERS

Représente une liste de chaînes de type REG_MULTI_SZ, où chaque chaîne contient le nom d’un pilote de filtre de niveau supérieur inscrit pour la classe.

CM_CRP_LOWERFILTERS

Représente une liste de chaînes de type REG_MULTI_SZ, où chaque chaîne contient le nom d’un pilote de filtre de niveau inférieur inscrit pour la classe.

CM_CRP_SECURITY

Représente une valeur de type REG_BINARY qui contient une structure de longueur variable, auto-relative , SECURITY_DESCRIPTOR .

CM_CRP_SECURITY_SDS

Représente une chaîne de type REG_SZ qui contient un descripteur de sécurité au format SDDL (Security Descriptor Definition Language).

CM_CRP_DEVTYPE

Représente une valeur de type REG_DWORD qui indique le type d’appareil de la classe . Pour plus d’informations, consultez Spécification de types d’appareils.

CM_CRP_EXCLUSIVE

Représente une valeur de type REG_DWORD qui indique si les utilisateurs peuvent obtenir un accès exclusif aux appareils pour cette classe. La valeur retournée est 1 si l’accès exclusif est autorisé, ou zéro dans le cas contraire.

CM_CRP_CHARACTERISTICS

Représente une valeur de type DWORD qui indique les caractéristiques de l’appareil pour la classe . Pour obtenir la liste des indicateurs de caractéristiques, consultez le paramètre DeviceCharacteristics de la routine IoCreateDevice .

[out, optional] pulRegDataType

Pointeur vers une variable de type ULONG qui reçoit la constante REG_Xxx qui représente le type de données de la propriété demandée. Les constantes REG_Xxx sont définies dans Winnt.h et sont décrites dans le membre Type de la structure KEY_VALUE_BASIC_INFORMATION . Ce paramètre est facultatif et peut être défini sur NULL.

[out] Buffer

Pointeur vers une mémoire tampon qui reçoit les données de propriété demandées. Pour plus d’informations sur ce paramètre et le paramètre de taille de mémoire tampon pulLength, consultez la section Remarques suivante.

[in, out] pulLength

Pointeur vers une variable de type ULONG dont la valeur, en entrée, correspond à la taille, en octets, de la mémoire tampon fournie par Buffer. Au retour, CM_Get_Class_Registry_Property définit cette variable sur la taille, en octets, de la propriété demandée.

[in] ulFlags

Réservé à un usage interne uniquement. Doit être défini sur zéro.

[in, optional] hMachine

Handle à une machine distante à partir de laquelle récupérer la propriété de classe d’appareil spécifiée. Ce paramètre est facultatif et, s’il est défini sur NULL, la propriété est récupérée à partir de l’ordinateur local.

Valeur retournée

Si l’opération réussit, CM_Get_Class_Registry_Property retourne CR_SUCCESS. Sinon, la fonction retourne l’un des autres codes CR_Xxx status définis dans Cfgmgr32.h.

Remarques

Pour déterminer la taille, en octets, d’une propriété avant d’essayer de récupérer la propriété, appelez d’abord CM_Get_Class_Registry_Property, en fournissant un pointeur demémoire tampon NULL et une valeur pulLength de zéro. En réponse à un tel appel, la fonction ne récupère pas la propriété, mais définit pulLength sur la taille de la propriété demandée et retourne CR_BUFFER_SMALL. Après avoir obtenu la taille de la propriété, appelez à nouveau CM_Get_Class_Registry_Property , en fournissant un pointeur de mémoire tampon vers la mémoire tampon pour recevoir les données de propriété et en fournissant la taille de propriété dans *pulLength.

Configuration requise

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

Voir aussi

CM_Set_Class_Registry_Property

KEY_VALUE_BASIC_INFORMATION

SetupDiGetClassRegistryProperty

SetupDiSetClassRegistryProperty