private static void LogExitCall(ExitFlags uFlags, ReasonCodes dwReason) { Console.Error.WriteLine( "Shutdown call: Flags={0}; Reason={1}", Tools.FlagsToString(Tools.FlagsToArray(uFlags)), Tools.FlagsToString(Tools.FlagsToArray(dwReason))); }
public string ShutDown(ExitFlags flag) { try { ExitWindowsEx(flag,0); return "doing... " + flag.ToString(); } catch(Exception ex){return ex.Message;} }
public string ShutDown(ExitFlags flag) { try { ExitWindowsEx(flag, 0); return("doing... " + flag.ToString()); } catch (Exception ex) { return(ex.Message); } }
/// <summary> /// Was formerly toggle_bexit_flag /// </summary> /// <param name="exit"></param> /// <param name="flag"></param> public static void ToggleFlagOnSelfAndReverseExit(this ExitData exit, ExitFlags flag) { exit.Flags = exit.Flags.ToggleBit(flag); var reverseExit = exit.GetReverse(); if (reverseExit != null && reverseExit != exit) { reverseExit.Flags = reverseExit.Flags.ToggleBit(flag); } }
/// <summary> /// Was formerly remove_bexit_flag /// </summary> /// <param name="exit"></param> /// <param name="flag"></param> public static void RemoveFlagFromSelfAndReverseExit(this ExitData exit, ExitFlags flag) { exit.Flags = exit.Flags.RemoveBit(flag); var reverseExit = exit.GetReverse(); if (reverseExit != null && reverseExit != exit) { reverseExit.Flags = reverseExit.Flags.RemoveBit(flag); } }
public static bool Logoff(bool DryRun = false) { const ExitFlags exit = ExitFlags.LOGOFF; const ReasonCodes reason = ReasonCodes.NO_REASON; LogExitCall(exit, reason); if (!DryRun) { return(ExitWindowsEx(exit, reason)); } return(true); }
internal static extern bool ExitWindowsEx( ExitFlags flg, int rea );
public static extern bool ExitWindowsEx(ExitFlags flags, int rea);
private void RemoveFlags(ExitFlags flags) { CurrentFlags &= ~flags; }
private void AddFlags(ExitFlags flags) { CurrentFlags |= flags; }
internal static extern bool ExitWindowsEx(ExitFlags flg, int rea);
private static extern bool ExitWindowsEx(ExitFlags uFlags, ReasonCodes dwReason);
public static extern bool ExitWindowsEx(ExitFlags uFlags,int dwReason);
public extern static bool ExitWindowsEx(ExitFlags uFlags, int dwReason);