Partager via


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)

Voir aussi

DBT_CONFIGCHANGED

HW_PROFILE_INFO

fonctions d’information système