Compartir a través de


Función GetCurrentHwProfileA (winbase.h)

Recupera información sobre el perfil de hardware actual del equipo local.

Sintaxis

BOOL GetCurrentHwProfileA(
  [out] LPHW_PROFILE_INFOA lpHwProfileInfo
);

Parámetros

[out] lpHwProfileInfo

Puntero a una estructura de HW_PROFILE_INFO que recibe información sobre el perfil de hardware actual.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es un valor distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

Comentarios

La función GetCurrentHwProfile recupera el nombre para mostrar y la cadena de identificador único global (GUID) para el perfil de hardware. La función también recupera el estado de acoplamiento notificado para equipos portátiles con estaciones de acoplamiento.

El sistema genera un GUID para cada perfil de hardware y lo almacena como una cadena en el registro. Puede usar GetCurrentHwProfile para recuperar la cadena GUID que se usará como subclave del Registro en la clave de configuración de la aplicación en HKEY_CURRENT_USER. Esto le permite almacenar la configuración de cada usuario para cada perfil de hardware. Por ejemplo, la aplicación del panel de control Colores podría usar la subclave para almacenar las preferencias de color de cada usuario para diferentes perfiles de hardware, como perfiles para los estados acoplados y no acoplados. Las aplicaciones que usan esta funcionalidad pueden comprobar el perfil de hardware actual al iniciarse y actualizar su configuración en consecuencia.

Las aplicaciones también pueden actualizar su configuración cuando un mensaje de dispositivo del sistema, como DBT_CONFIGCHANGED, indica que el perfil de hardware ha cambiado.

Para compilar una aplicación que use esta función, defina la macro _WIN32_WINNT como 0x0400 o posterior. Para obtener más información, vea Uso de los encabezados de Windows.

Ejemplos

#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:

El encabezado winbase.h define GetCurrentHwProfile como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winbase.h (incluya Windows.h)
Library Advapi32.lib
Archivo DLL Advapi32.dll
Conjunto de API ext-ms-win-advapi32-hwprof-l1-1-0 (introducido en Windows 10, versión 10.0.10240)

Consulte también

DBT_CONFIGCHANGED

HW_PROFILE_INFO

Funciones de información del sistema