Funzione GetCurrentHwProfileA (winbase.h)

Recupera informazioni sul profilo hardware corrente per il computer locale.

Sintassi

BOOL GetCurrentHwProfileA(
  [out] LPHW_PROFILE_INFOA lpHwProfileInfo
);

Parametri

[out] lpHwProfileInfo

Puntatore a una struttura HW_PROFILE_INFO che riceve informazioni sul profilo hardware corrente.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è un valore diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

La funzione GetCurrentHwProfile recupera il nome visualizzato e la stringa GUID (Global Unique Identifier) per il profilo hardware. La funzione recupera anche lo stato di ancoraggio segnalato per i computer portatili con stazioni di ancoraggio.

Il sistema genera un GUID per ogni profilo hardware e lo archivia come stringa nel Registro di sistema. È possibile usare GetCurrentHwProfile per recuperare la stringa GUID da usare come sottochiave del Registro di sistema nella chiave delle impostazioni di configurazione dell'applicazione in HKEY_CURRENT_USER. In questo modo è possibile archiviare le impostazioni di ogni utente per ogni profilo hardware. Ad esempio, l'applicazione pannello di controllo Colori può usare la sottochiave per archiviare le preferenze di colore di ogni utente per profili hardware diversi, ad esempio i profili per gli stati ancorati e non scaricati. Le applicazioni che usano questa funzionalità possono controllare il profilo hardware corrente all'avvio e aggiornare di conseguenza le impostazioni.

Le applicazioni possono anche aggiornare le impostazioni quando un messaggio del dispositivo di sistema, ad esempio DBT_CONFIGCHANGED, indica che il profilo hardware è stato modificato.

Per compilare un'applicazione che usa questa funzione, definire la macro _WIN32_WINNT come 0x0400 o successiva. Per altre informazioni, vedere Uso delle intestazioni di Windows.

Esempi

#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);
}

Nota

L'intestazione winbase.h definisce GetCurrentHwProfile come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winbase.h (include Windows.h)
Libreria Advapi32.lib
DLL Advapi32.dll
Set di API ext-ms-win-advapi32-hwprof-l1-1-0 (introdotta in Windows 10, versione 10.0.10240)

Vedi anche

DBT_CONFIGCHANGED

HW_PROFILE_INFO

Funzioni di informazioni di sistema