JNA API 3.3.0

## com.sun.jna.platform.win32
Class Advapi32Util

    java.lang.Object
      com.sun.jna.platform.win32.Advapi32Util

    public abstract class Advapi32Util

extends Object

Advapi32 utility API.

Author:
  dblock[at]dblock.org

Nested Class Summary
`static class` | `Advapi32Util.Account` An account.
`static class` | `Advapi32Util.EventLogIterator` An iterator for Event Log entries.
`static class` | `Advapi32Util.EventLogRecord` An event log record.
`static class` | `Advapi32Util.EventLogType` Event log types.

Constructor Summary
`Advapi32Util()`

Method Summary
`static String` | `convertSidToStringSid(WinNT.PSID sid)` Convert a security identifier (SID) to a string format suitable for display, storage, or transmission.
`static byte[]` | `convertStringSidToSid(String sidString)` Convert a string representation of a security identifier (SID) to a binary format.
`static Advapi32Util.Account` | `getAccountByName(String accountName)` Retrieves a security identifier (SID) for the account on the current system.
`static Advapi32Util.Account` | `getAccountByName(String systemName, String accountName)` Retrieves a security identifier (SID) for a given account.
`static Advapi32Util.Account` | `getAccountBySid(String sidString)` Get an account name from a string SID on the local machine.
`static Advapi32Util.Account` | `getAccountBySid(String systemName, String sidString)` Get an account name from a string SID.
`static Advapi32Util.Account` | `getAccountBySid(String systemName, WinNT.PSID sid)` Get the account by SID.
`static Advapi32Util.Account` | `getAccountBySid(WinNT.PSID sid)` Get the account by SID on the local system.
`static Advapi32Util.Account[]` | `getCurrentUserGroups()` Return the group memberships of the currently logged on user.

`static String`

`getEnvironmentBlock(Map<String,String> environment)`
Converts a map of environment variables to an environment block suitable for `Advapi32.CreateProcessAsUser(com.sun.jna.platform.win32.WinNT.HANDLE, java.lang.String, java.lang.String, com.sun.jna.platform.win32.WinBase.SECURITY_ATTRIBUTES, com.sun.jna.platform.win32.WinBase.SECURITY_ATTRIBUTES, boolean, int, java.lang.String, java.lang.String, com.sun.jna.platform.win32.WinBase.STARTUPINFO, com.sun.jna.platform.win32.WinBase.PROCESS_INFORMATION)`.

`static Advapi32Util.Account` | `getTokenAccount(WinNT.HANDLE hToken)` This function returns the information about the user who owns a security token,
`static Advapi32Util.Account[]` | `getTokenGroups(WinNT.HANDLE hToken)` This function returns the groups associated with a security token, such as a user token.
`static String` | `getUserName()` Retrieves the name of the user associated with the current thread.
`static boolean` | `isWellKnownSid(byte[] sidBytes, int wellKnownSidType)` Compares a SID to a well known SID and returns TRUE if they match.
`static boolean` | `isWellKnownSid(String sidString, int wellKnownSidType)` Compares a SID to a well known SID and returns TRUE if they match.
`static boolean` | `registryCreateKey(WinReg.HKEY hKey, String keyName)` Create a registry key.
`static boolean` | `registryCreateKey(WinReg.HKEY root, String parentPath, String keyName)` Create a registry key.
`static void` | `registryDeleteKey(WinReg.HKEY hKey, String keyName)` Delete a registry key.
`static void` | `registryDeleteKey(WinReg.HKEY root, String keyPath, String keyName)` Delete a registry key.
`static void` | `registryDeleteValue(WinReg.HKEY hKey, String valueName)` Delete a registry value.
`static void` | `registryDeleteValue(WinReg.HKEY root, String keyPath, String valueName)` Delete a registry value.
`static byte[]` | `registryGetBinaryValue(WinReg.HKEY root, String key, String value)` Get a registry REG_BINARY value.
`static String` | `registryGetExpandableStringValue(WinReg.HKEY root, String key, String value)` Get a registry REG_EXPAND_SZ value.
`static int` | `registryGetIntValue(WinReg.HKEY root, String key, String value)` Get a registry DWORD value.
`static String[]` | `registryGetKeys(WinReg.HKEY hKey)` Get names of the registry key's sub-keys.
`static String[]` | `registryGetKeys(WinReg.HKEY root, String keyPath)` Get names of the registry key's sub-keys.
`static String[]` | `registryGetStringArray(WinReg.HKEY root, String key, String value)` Get a registry REG_MULTI_SZ value.
`static String` | `registryGetStringValue(WinReg.HKEY root, String key, String value)` Get a registry REG_SZ value.
`static TreeMap<String,Object>` | `registryGetValues(WinReg.HKEY hKey)` Get a table of registry values.
`static TreeMap<String,Object>` | `registryGetValues(WinReg.HKEY root, String keyPath)` Get a table of registry values.
`static boolean` | `registryKeyExists(WinReg.HKEY root, String key)` Checks whether a registry key exists.
`static void` | `registrySetBinaryValue(WinReg.HKEY hKey, String name, byte[] data)` Set a binary value in registry.
`static void` | `registrySetBinaryValue(WinReg.HKEY root, String keyPath, String name, byte[] data)` Set a binary value in registry.
`static void` | `registrySetExpandableStringValue(WinReg.HKEY hKey, String name, String value)` Set an expandable string value in registry.
`static void` | `registrySetExpandableStringValue(WinReg.HKEY root, String keyPath, String name, String value)` Set a string value in registry.
`static void` | `registrySetIntValue(WinReg.HKEY hKey, String name, int value)` Set an integer value in registry.
`static void` | `registrySetIntValue(WinReg.HKEY root, String keyPath, String name, int value)` Set an integer value in registry.
`static void` | `registrySetStringArray(WinReg.HKEY hKey, String name, String[] arr)` Set a string array value in registry.
`static void` | `registrySetStringArray(WinReg.HKEY root, String keyPath, String name, String[] arr)` Set a string array value in registry.
`static void` | `registrySetStringValue(WinReg.HKEY hKey, String name, String value)` Set a string value in registry.
`static void` | `registrySetStringValue(WinReg.HKEY root, String keyPath, String name, String value)` Set a string value in registry.
`static boolean` | `registryValueExists(WinReg.HKEY root, String key, String value)` Checks whether a registry value exists.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Advapi32Util

    public Advapi32Util()

Method Detail

### getUserName

    public static String getUserName()

  Retrieves the name of the user associated with the current thread.

  Returns:
    A user name.

### getAccountByName

    public static Advapi32Util.Account getAccountByName(String accountName)

  Retrieves a security identifier (SID) for the account on the current system.

  Parameters:
    `accountName` - Specifies the account name.
  Returns:
    A structure containing the account SID;

### getAccountByName

    public static Advapi32Util.Account getAccountByName(String systemName,
                                                        String accountName)

  Retrieves a security identifier (SID) for a given account.

  Parameters:
    `systemName` - Name of the system.
    `accountName` - Account name.
  Returns:
    A structure containing the account SID.

### getAccountBySid

    public static Advapi32Util.Account getAccountBySid(WinNT.PSID sid)

  Get the account by SID on the local system.

  Parameters:
    `sid` - SID.
  Returns:
    Account.

### getAccountBySid

    public static Advapi32Util.Account getAccountBySid(String systemName,
                                                       WinNT.PSID sid)

  Get the account by SID.

  Parameters:
    `systemName` - Name of the system.
    `sid` - SID.
  Returns:
    Account.

### convertSidToStringSid

    public static String convertSidToStringSid(WinNT.PSID sid)

  Convert a security identifier (SID) to a string format suitable for display, storage, or transmission.

  Parameters:
    `sid` - SID bytes.
  Returns:
    String SID.

### convertStringSidToSid

    public static byte[] convertStringSidToSid(String sidString)

  Convert a string representation of a security identifier (SID) to a binary format.

  Parameters:
    `sidString` - String SID.
  Returns:
    SID bytes.

### isWellKnownSid

    public static boolean isWellKnownSid(String sidString,
                                         int wellKnownSidType)

  Compares a SID to a well known SID and returns TRUE if they match.

  Parameters:
    `sidString` - String representation of a SID.
    `wellKnownSidType` - Member of the WELL_KNOWN_SID_TYPE enumeration to compare with the SID at pSid.
  Returns:
    True if the SID is of the well-known type, false otherwise.

### isWellKnownSid

    public static boolean isWellKnownSid(byte[] sidBytes,
                                         int wellKnownSidType)

  Compares a SID to a well known SID and returns TRUE if they match.

  Parameters:
    `sidBytes` - Byte representation of a SID.
    `wellKnownSidType` - Member of the WELL_KNOWN_SID_TYPE enumeration to compare with the SID at pSid.
  Returns:
    True if the SID is of the well-known type, false otherwise.

### getAccountBySid

    public static Advapi32Util.Account getAccountBySid(String sidString)

  Get an account name from a string SID on the local machine.

  Parameters:
    `sidString` - SID.
  Returns:
    Account.

### getAccountBySid

    public static Advapi32Util.Account getAccountBySid(String systemName,
                                                       String sidString)

  Get an account name from a string SID.

  Parameters:
    `systemName` - System name.
    `sidString` - SID.
  Returns:
    Account.

### getTokenGroups

    public static Advapi32Util.Account[] getTokenGroups(WinNT.HANDLE hToken)

  This function returns the groups associated with a security token, such as a user token.

  Parameters:
    `hToken` - Token.
  Returns:
    Token groups.

### getTokenAccount

    public static Advapi32Util.Account getTokenAccount(WinNT.HANDLE hToken)

  This function returns the information about the user who owns a security token,

  Parameters:
    `hToken` - Token.
  Returns:
    Token user.

### getCurrentUserGroups

    public static Advapi32Util.Account[] getCurrentUserGroups()

  Return the group memberships of the currently logged on user.

  Returns:
    An array of groups.

### registryKeyExists

    public static boolean registryKeyExists(WinReg.HKEY root,
                                            String key)

  Checks whether a registry key exists.

  Parameters:
    `root` - HKEY_LOCAL_MACHINE, etc.
    `key` - Path to the registry key.
  Returns:
    True if the key exists.

### registryValueExists

    public static boolean registryValueExists(WinReg.HKEY root,
                                              String key,
                                              String value)

  Checks whether a registry value exists.

  Parameters:
    `root` - HKEY_LOCAL_MACHINE, etc.
    `key` - Registry key path.
    `value` - Value name.
  Returns:
    True if the value exists.

### registryGetStringValue

    public static String registryGetStringValue(WinReg.HKEY root,
                                                String key,
                                                String value)

  Get a registry REG_SZ value.

  Parameters:
    `root` - Root key.
    `key` - Registry path.
    `value` - Name of the value to retrieve.
  Returns:
    String value.

### registryGetExpandableStringValue

    public static String registryGetExpandableStringValue(WinReg.HKEY root,
                                                          String key,
                                                          String value)

  Get a registry REG_EXPAND_SZ value.

  Parameters:
    `root` - Root key.
    `key` - Registry path.
    `value` - Name of the value to retrieve.
  Returns:
    String value.

### registryGetStringArray

    public static String[] registryGetStringArray(WinReg.HKEY root,
                                                  String key,
                                                  String value)

  Get a registry REG_MULTI_SZ value.

  Parameters:
    `root` - Root key.
    `key` - Registry path.
    `value` - Name of the value to retrieve.
  Returns:
    String value.

### registryGetBinaryValue

    public static byte[] registryGetBinaryValue(WinReg.HKEY root,
                                                String key,
                                                String value)

  Get a registry REG_BINARY value.

  Parameters:
    `root` - Root key.
    `key` - Registry path.
    `value` - Name of the value to retrieve.
  Returns:
    String value.

### registryGetIntValue

    public static int registryGetIntValue(WinReg.HKEY root,
                                          String key,
                                          String value)

  Get a registry DWORD value.

  Parameters:
    `root` - Root key.
    `key` - Registry key path.
    `value` - Name of the value to retrieve.
  Returns:
    Integer value.

### registryCreateKey

    public static boolean registryCreateKey(WinReg.HKEY hKey,
                                            String keyName)

  Create a registry key.

  Parameters:
    `hKey` - Parent key.
    `keyName` - Key name.
  Returns:
    True if the key was created, false otherwise.

### registryCreateKey

    public static boolean registryCreateKey(WinReg.HKEY root,
                                            String parentPath,
                                            String keyName)

  Create a registry key.

  Parameters:
    `root` - Root key.
    `parentPath` - Path to an existing registry key.
    `keyName` - Key name.
  Returns:
    True if the key was created, false otherwise.

### registrySetIntValue

    public static void registrySetIntValue(WinReg.HKEY hKey,
                                           String name,
                                           int value)

  Set an integer value in registry.

  Parameters:
    `hKey` - Parent key.
    `name` - Value name.
    `value` - Value to write to registry.

### registrySetIntValue

    public static void registrySetIntValue(WinReg.HKEY root,
                                           String keyPath,
                                           String name,
                                           int value)

  Set an integer value in registry.

  Parameters:
    `root` - Root key.
    `keyPath` - Path to an existing registry key.
    `name` - Value name.
    `value` - Value to write to registry.

### registrySetStringValue

    public static void registrySetStringValue(WinReg.HKEY hKey,
                                              String name,
                                              String value)

  Set a string value in registry.

  Parameters:
    `hKey` - Parent key.
    `name` - Value name.
    `value` - Value to write to registry.

### registrySetStringValue

    public static void registrySetStringValue(WinReg.HKEY root,
                                              String keyPath,
                                              String name,
                                              String value)

  Set a string value in registry.

  Parameters:
    `root` - Root key.
    `keyPath` - Path to an existing registry key.
    `name` - Value name.
    `value` - Value to write to registry.

### registrySetExpandableStringValue

    public static void registrySetExpandableStringValue(WinReg.HKEY hKey,
                                                        String name,
                                                        String value)

  Set an expandable string value in registry.

  Parameters:
    `hKey` - Parent key.
    `name` - Value name.
    `value` - Value to write to registry.

### registrySetExpandableStringValue

    public static void registrySetExpandableStringValue(WinReg.HKEY root,
                                                        String keyPath,
                                                        String name,
                                                        String value)

  Set a string value in registry.

  Parameters:
    `root` - Root key.
    `keyPath` - Path to an existing registry key.
    `name` - Value name.
    `value` - Value to write to registry.

### registrySetStringArray

    public static void registrySetStringArray(WinReg.HKEY hKey,
                                              String name,
                                              String[] arr)

  Set a string array value in registry.

  Parameters:
    `hKey` - Parent key.
    `name` - Name.
    `arr` - Array of strings to write to registry.

### registrySetStringArray

    public static void registrySetStringArray(WinReg.HKEY root,
                                              String keyPath,
                                              String name,
                                              String[] arr)

  Set a string array value in registry.

  Parameters:
    `root` - Root key.
    `keyPath` - Path to an existing registry key.
    `name` - Value name.
    `arr` - Array of strings to write to registry.

### registrySetBinaryValue

    public static void registrySetBinaryValue(WinReg.HKEY hKey,
                                              String name,
                                              byte[] data)

  Set a binary value in registry.

  Parameters:
    `hKey` - Parent key.
    `name` - Value name.
    `data` - Data to write to registry.

### registrySetBinaryValue

    public static void registrySetBinaryValue(WinReg.HKEY root,
                                              String keyPath,
                                              String name,
                                              byte[] data)

  Set a binary value in registry.

  Parameters:
    `root` - Root key.
    `keyPath` - Path to an existing registry key.
    `name` - Value name.
    `data` - Data to write to registry.

### registryDeleteKey

    public static void registryDeleteKey(WinReg.HKEY hKey,
                                         String keyName)

  Delete a registry key.

  Parameters:
    `hKey` - Parent key.
    `keyName` - Name of the key to delete.

### registryDeleteKey

    public static void registryDeleteKey(WinReg.HKEY root,
                                         String keyPath,
                                         String keyName)

  Delete a registry key.

  Parameters:
    `root` - Root key.
    `keyPath` - Path to an existing registry key.
    `keyName` - Name of the key to delete.

### registryDeleteValue

    public static void registryDeleteValue(WinReg.HKEY hKey,
                                           String valueName)

  Delete a registry value.

  Parameters:
    `hKey` - Parent key.
    `valueName` - Name of the value to delete.

### registryDeleteValue

    public static void registryDeleteValue(WinReg.HKEY root,
                                           String keyPath,
                                           String valueName)

  Delete a registry value.

  Parameters:
    `root` - Root key.
    `keyPath` - Path to an existing registry key.
    `valueName` - Name of the value to delete.

### registryGetKeys

    public static String[] registryGetKeys(WinReg.HKEY hKey)

  Get names of the registry key's sub-keys.

  Parameters:
    `hKey` - Registry key.
  Returns:
    Array of registry key names.

### registryGetKeys

    public static String[] registryGetKeys(WinReg.HKEY root,
                                           String keyPath)

  Get names of the registry key's sub-keys.

  Parameters:
    `root` - Root key.
    `keyPath` - Path to a registry key.
  Returns:
    Array of registry key names.

### registryGetValues

    public static TreeMap<String,Object> registryGetValues(WinReg.HKEY hKey)

  Get a table of registry values.

  Parameters:
    `hKey` - Registry key.
  Returns:
    Table of values.

### registryGetValues

    public static TreeMap<String,Object> registryGetValues(WinReg.HKEY root,
                                                           String keyPath)

  Get a table of registry values.

  Parameters:
    `root` - Registry root.
    `keyPath` - Regitry key path.
  Returns:
    Table of values.

### getEnvironmentBlock

    public static String getEnvironmentBlock(Map<String,String> environment)

  Converts a map of environment variables to an environment block suitable for `Advapi32.CreateProcessAsUser(com.sun.jna.platform.win32.WinNT.HANDLE, java.lang.String, java.lang.String, com.sun.jna.platform.win32.WinBase.SECURITY_ATTRIBUTES, com.sun.jna.platform.win32.WinBase.SECURITY_ATTRIBUTES, boolean, int, java.lang.String, java.lang.String, com.sun.jna.platform.win32.WinBase.STARTUPINFO, com.sun.jna.platform.win32.WinBase.PROCESS_INFORMATION)`. This environment block consists of null-terminated blocks of null-terminated strings. Each string is in the following form: name=value\0

  Parameters:
    `environment` - Environment variables
  Returns:
    A environment block

JNA API 3.3.0

Copyright © 2007-2010 Timothy Wall. All Rights Reserved.