fonction CM_Get_Class_Registry_PropertyW (cfgmgr32.h)
La fonction CM_Get_Class_Registry_Property récupère une propriété de classe de configuration 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 de configuration d’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 valeursxxx CM_CRP_ 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 REG_MULTI_SZ de chaînes, 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 SECURITY_DESCRIPTOR de longueur variable, auto-relative.
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 pour la classe. Pour plus d’informations, consultez Spécification des 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 constantesxxx REG_ 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 suivantes.
[in, out] pulLength
Pointeur vers une variable de type ULONG dont la valeur, en entrée, est la taille, en octets, de la mémoire tampon fournie par tampon. En 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é uniquement pour une utilisation interne. Doit être défini sur zéro.
[in, optional] hMachine
Handle vers un ordinateur distant à partir duquel 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 de retour
Si l’opération réussit, CM_Get_Class_Registry_Property retourne CR_SUCCESS. Sinon, la fonction retourne l’un des autres codes d’état CR_Xxx définis dans Cfgmgr32.h.
Remarques
Pour déterminer la taille, en octets, d’une propriété avant de tenter de récupérer la propriété, appelez d’abord CM_Get_Class_Registry_Property, en fournissant un pointeur nullBuffer 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 à 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 tampon vers la mémoire tampon pour recevoir les données de propriété et fournir la taille de propriété dans *pulLength.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Microsoft Windows 2000 et versions ultérieures de Windows. |
plateforme cible | Universel |
d’en-tête | cfgmgr32.h (include Cfgmgr32.h) |
bibliothèque | Cfgmgr32.lib |
Voir aussi
CM_Set_Class_Registry_Property