Compartilhar via


Função GetCurrentHwProfileA (winbase.h)

Recupera informações sobre o perfil de hardware atual do computador local.

Sintaxe

BOOL GetCurrentHwProfileA(
  [out] LPHW_PROFILE_INFOA lpHwProfileInfo
);

Parâmetros

[out] lpHwProfileInfo

Um ponteiro para uma estrutura HW_PROFILE_INFO que recebe informações sobre o perfil de hardware atual.

Valor de retorno

Se a função for bem-sucedida, o valor retornado será um valor diferente de zero.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.

Observações

A função GetCurrentHwProfile recupera o nome de exibição e a cadeia de caracteres GUID (identificador global exclusivo) para o perfil de hardware. A função também recupera o estado de encaixe relatado para computadores portáteis com estações de encaixe.

O sistema gera um GUID para cada perfil de hardware e o armazena como uma cadeia de caracteres no registro. Você pode usar GetCurrentHwProfile para recuperar a cadeia de caracteres GUID a ser usada como uma subchave do Registro na chave de configuração do aplicativo no HKEY_CURRENT_USER. Isso permite que você armazene as configurações de cada usuário para cada perfil de hardware. Por exemplo, o aplicativo painel de controle Cores pode usar a subchave para armazenar as preferências de cores de cada usuário para diferentes perfis de hardware, como perfis para os estados encaixados e desencaixados. Os aplicativos que usam essa funcionalidade podem verificar o perfil de hardware atual ao iniciar e atualizar suas configurações adequadamente.

Os aplicativos também podem atualizar suas configurações quando uma mensagem de dispositivo do sistema, como DBT_CONFIGCHANGED, indica que o perfil de hardware foi alterado.

Para compilar um aplicativo que usa essa função, defina a macro _WIN32_WINNT como 0x0400 ou posterior. Para obter mais informações, consulte Usando os cabeçalhos do Windows.

Exemplos

#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

O cabeçalho winbase.h define GetCurrentHwProfile como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho winbase.h (inclua Windows.h)
biblioteca Advapi32.lib
de DLL Advapi32.dll
conjunto de API ext-ms-win-advapi32-hwprof-l1-1-0 (introduzido no Windows 10, versão 10.0.10240)

Consulte também

DBT_CONFIGCHANGED

HW_PROFILE_INFO

Funções de informações do sistema