Функция GetCurrentHwProfileA (winbase.h)
Извлекает сведения о текущем профиле оборудования для локального компьютера.
Синтаксис
BOOL GetCurrentHwProfileA(
[out] LPHW_PROFILE_INFOA lpHwProfileInfo
);
Параметры
[out] lpHwProfileInfo
Указатель на структуру HW_PROFILE_INFO , которая получает сведения о текущем профиле оборудования.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет ненулевым.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Функция GetCurrentHwProfile извлекает отображаемое имя и строку глобально уникального идентификатора (GUID) для профиля оборудования. Функция также извлекает сообщаемое состояние стыковки для переносных компьютеров с док-станциями.
Система создает GUID для каждого профиля оборудования и сохраняет его в виде строки в реестре. GetCurrentHwProfile можно использовать для получения строки GUID, используемой в качестве подраздела реестра в разделе параметров конфигурации приложения в HKEY_CURRENT_USER. Это позволяет хранить параметры каждого пользователя для каждого профиля оборудования. Например, приложение панели управления "Цвета" может использовать подраздел для хранения настроек цвета каждого пользователя для различных профилей оборудования, таких как профили для закрепленных и отстыковых состояний. Приложения, использующие эту функцию, могут проверка текущий профиль оборудования при запуске и соответствующим образом обновить свои параметры.
Приложения также могут обновлять свои параметры, если сообщение системного устройства, например DBT_CONFIGCHANGED, указывает на изменение профиля оборудования.
Чтобы скомпилировать приложение, использующее эту функцию, определите макрос _WIN32_WINNT как 0x0400 или более поздней версии. Дополнительные сведения см. в разделе Использование заголовков Windows.
Примеры
#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);
}
Примечание
Заголовок winbase.h определяет GetCurrentHwProfile как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winbase.h (включая Windows.h) |
Библиотека | Advapi32.lib |
DLL | Advapi32.dll |
Набор API | ext-ms-win-advapi32-hwprof-l1-1-0 (представлено в Windows 10 версии 10.0.10240) |