GetCurrentHwProfileA, fonction (winbase.h)
Récupère des informations sur le profil matériel actuel de l’ordinateur local.
Syntaxe
BOOL GetCurrentHwProfileA(
[out] LPHW_PROFILE_INFOA lpHwProfileInfo
);
Paramètres
[out] lpHwProfileInfo
Pointeur vers une structure HW_PROFILE_INFO qui reçoit des informations sur le profil matériel actuel.
Valeur de retour
Si la fonction réussit, la valeur de retour est une valeur différente de zéro.
Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations d’erreur étendues, appelez GetLastError.
Remarques
La fonction GetCurrentHwProfile récupère le nom complet et la chaîne d’identificateur global unique (GUID) pour le profil matériel. La fonction récupère également l’état d’ancrage signalé pour les ordinateurs portables avec des stations d’ancrage.
Le système génère un GUID pour chaque profil matériel et le stocke sous forme de chaîne dans le Registre. Vous pouvez utiliser GetCurrentHwProfile pour récupérer la chaîne GUID à utiliser comme sous-clé de Registre sous la clé de paramètres de configuration de votre application dans HKEY_CURRENT_USER. Cela vous permet de stocker les paramètres de chaque utilisateur pour chaque profil matériel. Par exemple, l’application du panneau de configuration Colors peut utiliser la sous-clé pour stocker les préférences de couleur de chaque utilisateur pour différents profils matériels, tels que les profils pour les états ancrés et non suspendus. Les applications qui utilisent cette fonctionnalité peuvent vérifier le profil matériel actuel au démarrage et mettre à jour leurs paramètres en conséquence.
Les applications peuvent également mettre à jour leurs paramètres lorsqu’un message d’appareil système, tel que DBT_CONFIGCHANGED, indique que le profil matériel a changé.
Pour compiler une application qui utilise cette fonction, définissez la macro _WIN32_WINNT comme 0x0400 ou version ultérieure. Pour plus d’informations, consultez Utilisation des en-têtes Windows.
Exemples
#include <windows.h>
#include <stdio.h>
#include <tchar.h>
void main(void)
{
HW_PROFILE_INFO HwProfInfo;
if (!GetCurrentHwProfile(&HwProfInfo))
{
_tprintf(TEXT("GetCurrentHwProfile failed with error %lx\n"),
GetLastError());
return;
}
_tprintf(TEXT("DockInfo = %d\n"), HwProfInfo.dwDockInfo);
_tprintf(TEXT("Profile Guid = %s\n"), HwProfInfo.szHwProfileGuid);
_tprintf(TEXT("Friendly Name = %s\n"), HwProfInfo.szHwProfileName);
}
Note
L’en-tête winbase.h définit GetCurrentHwProfile comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
serveur minimum pris en charge | Windows 2000 Server [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | winbase.h (inclure Windows.h) |
bibliothèque | Advapi32.lib |
DLL | Advapi32.dll |
ensemble d’API | ext-ms-win-advapi32-hwprof-l1-1-0 (introduit dans Windows 10, version 10.0.10240) |