[DllImport("powrprof.dll", SetLastError=true, CharSet=CharSet.Unicode)]
public static extern UInt32 PowerWriteFriendlyName(
IntPtr RootPowerKey,
ref Guid SchemeGuid,
IntPtr SubGroupOfPowerSettingGuid,
IntPtr PowerSettingGuid,
String Buffer,
UInt32 BufferSize);
Declare Function PowerWriteFriendlyName Lib "powrprof.dll" (TODO) As TODO
None.
Do you know one? Please contribute it!
This function is only available from Vista.
Please add some!
static Boolean powerWriteFriendlyName(Guid powerPlanId, string name)
{
// The string must be null-terminated. A non null-terminated string will append junk characters on Windows Vista.
name = name + char.MinValue;
uint BufferSize = (uint)System.Text.ASCIIEncoding.Unicode.GetByteCount(name);
uint set = NativeMethods.PowerWriteFriendlyName(IntPtr.Zero, ref powerPlanId, IntPtr.Zero, IntPtr.Zero, name, BufferSize);
if (set == 0) //verify if the value has been set successfuly
return true;
else
return false;
}