GetCurrentHwProfile
[New
- Windows NT]
The GetCurrentHwProfile
function retrieves information about the current hardware profile for the local
computer.
BOOL GetCurrentHwProfile(
|
LPHW_PROFILE_INFO lpHwProfileInfo |
// receives the
hardware profile information |
|
); |
|
Parameters
lpHwProfileInfo
Pointer to an
HW_PROFILE_INFO
structure in which the function returns information about the current hardware
profile.
Return Values
If the
function succeeds, the return value is a nonzero value.
If the
function fails, the return value is zero. To get extended error information,
call GetLastError.
Remarks
The GetCurrentHwProfile
function retrieves the display name and globally unique identifier (GUID)
string for the hardware profile. The function also retrieves the reported
docking state for portable computers with docking stations.
The system
generates a GUID for each hardware profile and stores it as a string in the
registry. You can use GetCurrentHwProfile to retrieve the GUID string to
use as a registry subkey under your application's configuration settings key in
HKEY_CURRENT_USER. This enables you to store each user's settings for
each hardware profile. For example, the Colors control panel application could
use the subkey to store each user's color preferences for different hardware
profiles, such as profiles for the docked and undocked states. Applications
that use this functionality can check the current hardware profile when they
start up, and update their settings accordingly.
Windows
95: Applications can also update
their settings when a system device message, such as DBT_CONFIGCHANGED, indicates that the hardware
profile has changed.
Example
#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);
} // main
See Also