Package com.sun.jna.platform.win32
Class Advapi32Util.Privilege
- java.lang.Object
-
- com.sun.jna.platform.win32.Advapi32Util.Privilege
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
- Enclosing class:
- Advapi32Util
public static class Advapi32Util.Privilege extends Object implements Closeable
Convenience class to enable certain Windows process privileges
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Calls disable() to remove the privilegesvoid
disable()
Disabled the prior enabled privilegeAdvapi32Util.Privilege
enable()
Enables the given privileges.
-
-
-
Constructor Detail
-
Privilege
public Privilege(String... privileges) throws IllegalArgumentException, Win32Exception
Construct and enable a set of privileges- Parameters:
privileges
- the names of the privileges in the form of SE_* from Advapi32.java- Throws:
IllegalArgumentException
Win32Exception
-
-
Method Detail
-
close
public void close()
Calls disable() to remove the privileges- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- See Also:
Closeable.close()
-
enable
public Advapi32Util.Privilege enable() throws Win32Exception
Enables the given privileges. If required, it will duplicate the process token. No resources are left open when this completes. That is, it is NOT required to drop the privileges, although it is considered a best practice if you do not need it. This class is state full. It keeps track of whether it has enabled the privileges. Multiple calls to enable() without a drop() in between have no affect.- Returns:
- pointer to self (Privilege) as a convenience for try with resources statements
- Throws:
Win32Exception
-
disable
public void disable() throws Win32Exception
Disabled the prior enabled privilege- Throws:
Win32Exception
-
-