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