src.com.sun.jna.platform.win32.LMAccess Maven / Gradle / Ivy
/* Copyright (c) 2010 Daniel Doubrovkine, All Rights Reserved
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*/
package com.sun.jna.platform.win32;
import com.sun.jna.Pointer;
import com.sun.jna.Structure;
import com.sun.jna.WString;
import com.sun.jna.platform.win32.WinNT.PSID;
import com.sun.jna.win32.StdCallLibrary;
/**
* Ported from LMAccess.h.
* Windows SDK 6.0A.
* @author dblock[at]dblock.org
*/
public interface LMAccess extends StdCallLibrary {
public static class LOCALGROUP_INFO_0 extends Structure {
public LOCALGROUP_INFO_0() {
super();
}
public LOCALGROUP_INFO_0(Pointer memory) {
useMemory(memory);
read();
}
public WString lgrui0_name;
}
public static class LOCALGROUP_INFO_1 extends Structure {
public LOCALGROUP_INFO_1() {
super();
}
public LOCALGROUP_INFO_1(Pointer memory) {
useMemory(memory);
read();
}
public WString lgrui1_name;
public WString lgrui1_comment;
}
//
// bit masks for the NetUserEnum filter parameter.
//
public static final int FILTER_TEMP_DUPLICATE_ACCOUNT = 0x0001;
public static final int FILTER_NORMAL_ACCOUNT = 0x0002;
// public static final int FILTER_PROXY_ACCOUNT = 0x0004;
public static final int FILTER_INTERDOMAIN_TRUST_ACCOUNT = 0x0008;
public static final int FILTER_WORKSTATION_TRUST_ACCOUNT = 0x0010;
public static final int FILTER_SERVER_TRUST_ACCOUNT = 0x0020;
/**
* The USER_INFO_0 structure contains a user account name.
*/
public static class USER_INFO_0 extends Structure {
public USER_INFO_0() {
super();
}
public USER_INFO_0(Pointer memory) {
useMemory(memory);
read();
}
/**
* Pointer to a Unicode string that specifies the name of the user account.
*/
public WString usri0_name;
}
/**
* The USER_INFO_1 structure contains information about a user account, including
* account name, password data, privilege level, and the path to the user's home
* directory.
*/
public static class USER_INFO_1 extends Structure {
public USER_INFO_1() {
super();
}
public USER_INFO_1(Pointer memory) {
useMemory(memory);
read();
}
/**
* Pointer to a Unicode string that specifies the name of the user
* account.
*/
public WString usri1_name;
/**
* Pointer to a Unicode string that specifies the password of the user
* indicated by the usri1_name member.
*/
public WString usri1_password;
/**
* Specifies a DWORD value that indicates the number of seconds that have
* elapsed since the usri1_password member was last changed.
*/
public int usri1_password_age;
/**
* Specifies a DWORD value that indicates the level of privilege assigned
* to the usri1_name member.
*/
public int usri1_priv;
/**
* Pointer to a Unicode string specifying the path of the home directory
* for the user specified in the usri1_name member.
*/
public WString usri1_home_dir;
/**
* Pointer to a Unicode string that contains a comment to associate with
* the user account.
*/
public WString usri1_comment;
/**
* Specifies a DWORD value that determines several features.
*/
public int usri1_flags;
/**
* Pointer to a Unicode string specifying the path for the user's
* logon script file.
*/
public WString usri1_script_path;
}
/**
* The GROUP_USERS_INFO_0 structure contains global group member information.
*/
public static class GROUP_USERS_INFO_0 extends Structure {
public GROUP_USERS_INFO_0() {
super();
}
public GROUP_USERS_INFO_0(Pointer memory) {
useMemory(memory);
read();
}
/**
* Pointer to a null-terminated Unicode character string that specifies a name.
*/
public WString grui0_name;
}
/**
* The LOCALGROUP_USERS_INFO_0 structure contains local group member information.
*/
public static class LOCALGROUP_USERS_INFO_0 extends Structure {
public LOCALGROUP_USERS_INFO_0() {
super();
}
public LOCALGROUP_USERS_INFO_0(Pointer memory) {
useMemory(memory);
read();
}
/**
* Pointer to a Unicode string specifying the name of a local group to which the user belongs.
*/
public WString lgrui0_name;
}
/**
* The GROUP_INFO_0 structure contains the name of a global group in the security
* database, which is the security accounts manager (SAM) database or, in the case
* of domain controllers, the Active Directory.
*/
public static class GROUP_INFO_0 extends Structure {
public GROUP_INFO_0() {
super();
}
public GROUP_INFO_0(Pointer memory) {
useMemory(memory);
read();
}
/**
* Pointer to a null-terminated Unicode character string that specifies
* the name of the global group.
*/
public WString grpi0_name;
}
/**
* The GROUP_INFO_1 structure contains a global group name and a comment to
* associate with the group.
*/
public static class GROUP_INFO_1 extends Structure {
public GROUP_INFO_1() {
super();
}
public GROUP_INFO_1(Pointer memory) {
useMemory(memory);
read();
}
/**
* Pointer to a null-terminated Unicode character string that specifies
* the name of the global group.
*/
public WString grpi1_name;
/**
* Pointer to a null-terminated Unicode character string that specifies
* a remark associated with the global group. This member can be a null
* string. The comment can contain MAXCOMMENTSZ characters.
*/
public WString grpi1_comment;
}
/**
* The GROUP_INFO_2 structure contains information about a global group, including
* name, identifier, and resource attributes.
*/
public static class GROUP_INFO_2 extends Structure {
public GROUP_INFO_2() {
super();
}
public GROUP_INFO_2(Pointer memory) {
useMemory(memory);
read();
}
/**
* Pointer to a null-terminated Unicode character string that
* specifies the name of the global group.
*/
public WString grpi2_name;
/**
* Pointer to a null-terminated Unicode character string that contains a
* remark associated with the global group. This member can be a null string.
* The comment can contain MAXCOMMENTSZ characters.
*/
public WString grpi2_comment;
/**
* Specifies a DWORD value that contains the relative identifier (RID) of
* the global group.
*/
public int grpi2_group_id;
/**
* These attributes are hard-coded to SE_GROUP_MANDATORY, SE_GROUP_ENABLED,
* and SE_GROUP_ENABLED_BY_DEFAULT.
*/
public int grpi2_attributes;
}
/**
* The GROUP_INFO_3 structure contains information about a global group, including
* name, security identifier (SID), and resource attributes.
*/
public static class GROUP_INFO_3 extends Structure {
public GROUP_INFO_3() {
super();
}
public GROUP_INFO_3(Pointer memory) {
useMemory(memory);
read();
}
/**
* Pointer to a null-terminated Unicode character string that
* specifies the name of the global group.
*/
public WString grpi3_name;
/**
* Pointer to a null-terminated Unicode character string that
* contains a remark associated with the global group. This member can be
* a null string. The comment can contain MAXCOMMENTSZ characters.
*/
public WString grpi3_comment;
/**
* Pointer to a SID structure that contains the security identifier (SID) that
* uniquely identifies the global group.
*/
public PSID grpi3_group_sid;
/**
* These attributes are hard-coded to SE_GROUP_MANDATORY, SE_GROUP_ENABLED, and
* SE_GROUP_ENABLED_BY_DEFAULT.
*/
public int grpi3_attributes;
}
//
// Privilege levels (USER_INFO_X field usriX_priv (X = 0/1)).
//
public static final int USER_PRIV_MASK = 3;
public static final int USER_PRIV_GUEST = 0;
public static final int USER_PRIV_USER = 1;
public static final int USER_PRIV_ADMIN = 2;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy