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);
}
手記
winbase.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして GetCurrentHwProfile を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winbase.h (Windows.h を含む) |
ライブラリ | Advapi32.lib |
DLL | Advapi32.dll |
API セットの | ext-ms-win-advapi32-hwprof-l1-1-0 (Windows 10 バージョン 10.0.10240 で導入) |