GetCurrentHwProfileA 函式 (winbase.h)

擷取本機計算機目前硬體配置檔的相關信息。

語法

BOOL GetCurrentHwProfileA(
  [out] LPHW_PROFILE_INFOA lpHwProfileInfo
);

參數

[out] lpHwProfileInfo

接收目前硬體配置文件相關信息 之HW_PROFILE_INFO 結構的指標。

傳回值

如果函式成功,則傳回值是非零值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

GetCurrentHwProfile 函式會擷取硬體配置檔 (GUID) 字串串的顯示名稱和全域唯一標識符。 函式也會擷取具有停駐站之可攜式計算機的回報停駐狀態。

系統會為每個硬體配置檔產生 GUID,並將它儲存為登錄中的字串。 您可以使用 GetCurrentHwProfile 來擷取 GUID 字串,以作為應用程式組態設定機碼底下的登錄子機碼 HKEY_CURRENT_USER。 這可讓您為每個硬體配置檔儲存每個用戶的設定。 例如,Colors 控制面板應用程式可以使用子機碼來儲存不同硬體配置檔的色彩喜好設定,例如停駐和未停駐狀態的配置檔。 使用這項功能的應用程式可以在啟動時檢查目前的硬體配置檔,並據以更新其設定。

當系統裝置訊息例如 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 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 winbase.h (包含 Windows.h)
程式庫 Advapi32.lib
Dll Advapi32.dll
API 集合 ext-ms-win-advapi32-hwprof-l1-1-0 (Windows 10 10.0.10240 版)

另請參閱

DBT_CONFIGCHANGED

HW_PROFILE_INFO

系統資訊函式