GetCurrentHwProfileA 関数 (winbase.h)
ローカル コンピューターの現在のハードウェア プロファイルに関する情報を取得します。
構文
BOOL GetCurrentHwProfileA(
[out] LPHW_PROFILE_INFOA lpHwProfileInfo
);
パラメーター
[out] lpHwProfileInfo
現在のハードウェア プロファイルに関する情報を受け取る HW_PROFILE_INFO 構造体へのポインター。
戻り値
関数が成功した場合、戻り値は 0 以外の値になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
GetCurrentHwProfile 関数は、ハードウェア プロファイルの表示名とグローバル一意識別子 (GUID) 文字列を取得します。 関数は、ドッキング ステーションを備えたポータブル コンピューターの報告されたドッキング状態も取得します。
システムは、各ハードウェア プロファイルの GUID を生成し、レジストリに文字列として格納します。 GetCurrentHwProfile を使用して、HKEY_CURRENT_USERのアプリケーションの構成設定キーの下でレジストリ サブキーとして使用する GUID 文字列を取得できます。 これにより、各ハードウェア プロファイルの各ユーザーの設定を格納できます。 たとえば、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);
}
Note
winbase.h ヘッダーは、GetCurrentHwProfile をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winbase.h (Windows.h を含む) |
Library | Advapi32.lib |
[DLL] | Advapi32.dll |
API セット | ext-ms-win-advapi32-hwprof-l1-1-0 (Windows 10 バージョン 10.0.10240 で導入) |