GetCurrentHwProfileW 函式 (winbase.h)

擷取本機電腦目前硬體設定檔的相關資訊。

語法

BOOL GetCurrentHwProfileW(
  [out] LPHW_PROFILE_INFOW 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 標頭會根據 UNICODE 預處理器常數的定義,將 GetCurrentHwProfile 定義為別名,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程式碼,可能會導致編譯或執行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

   
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 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

系統資訊函式